示例#1
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

# import src.test_my_misc.hex2bin as hex2bin
from src.alex_sniff.mgt.mgt import WLAN
from src.alex_misc.alex_logging import create_logger

log_beacon_wlan_mgt_tag_ht_info = create_logger(logger_name=__name__,
                                                fmt='%(message)s')


class WLANMGTTagHTInfo(WLAN):
    def __init__(self, capture_file_path):
        WLAN.__init__(self, capture_file_path)

        self.layer_name = 'wlan_mgt'

    # Note: only able to get the 1st tag number
    def wlan_mgt_tag_number(self, packet):
        field_name = self.layer_name + '.' + 'tag.number'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value

    # Note: only able to get the 1st tag length
    def wlan_mgt_tag_length(self, packet):
        field_name = self.layer_name + '.' + 'tag.length'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value
示例#2
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

import configparser

from src.alex_misc.alex_logging import create_logger
logger_0 = create_logger()


def load_config_packet():
    """
	Load cfg_probe_request.ini file and return instance
	:return: config instance
	"""
    import os
    file_path = os.path.join('packet_cfg', 'cfg_association_response.ini')
    config_file = configparser.ConfigParser()
    config_file.read(file_path)
    return config_file


def load_config_basic():
    """
	Load cfg_basic.ini file and return instance
	:return: config instance
	"""
    config_basic = configparser.ConfigParser()
    config_file_name = 'cfg_basic.ini'
    config_basic.read(config_file_name)
    return config_basic
示例#3
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

import src.alex_misc.hex2bin as hex2bin
from src.alex_sniff.mgt.mgt import WLAN
from src.alex_misc.alex_logging import create_logger

log_beacon_wlan_mgt_fixed = create_logger(logger_name=__name__,
                                          fmt='%(message)s')


class WLANMGTFixed(WLAN):
    def __init__(self, capture_file_path):
        WLAN.__init__(self, capture_file_path)

        self.layer_name = 'wlan_mgt'
        self.fixed = 'fixed'
        self.capabilities = 'capabilities'

    def wlan_mgt_fixed_timestamp(self, packet):
        field_name = self.layer_name + '.' + self.fixed + '.' + 'timestamp'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value

    def wlan_mgt_fixed_beacon(self, packet):
        field_name = self.layer_name + '.' + self.fixed + '.' + 'beacon'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value
示例#4
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

# Import config file setting
import src.alex_cfg.cfg_basic as cfg_basic
# Import frame layer
import src.alex_sniff.frame as frame
# Import WLAN layer
import src.alex_sniff.mgt.mgt as mgt
# Set logger
from src.alex_misc.alex_logging import create_logger

logger_0 = create_logger(logger_name=__name__, fmt='%(message)s')

capture_file_path = cfg_basic.capture_file_path()
# Init class: Beacon frame
frame_init = frame.Frame(capture_file_path)
# Init class: Beacon Radiotap
radiotap_init = frame.Radiotap(capture_file_path)
# Init class: Beacon WLAN Radio
wlan_radio_init = frame.WLANRadio(capture_file_path)
# Init class: Beacon WLAN
wlan_init = mgt.WLAN(capture_file_path)


def fields_frame():
    # Frame fields
    fields_list = [
        'frame_interface_id', 'frame_encap_type', 'frame_time',
        'frame_offset_shift', 'frame_time_epoch', 'frame_time_delta',
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

import src.alex_misc.hex2bin as hex2bin
from src.alex_sniff.mgt.mgt import WLAN
from src.alex_misc.alex_logging import create_logger

log_beacon_wlan_mgt_tag_channel_report = create_logger(logger_name=__name__,
                                                       fmt='%(message)s')


class WLANMGTTagChannelReport(WLAN):
    def __init__(self, capture_file_path):
        WLAN.__init__(self, capture_file_path)

        self.layer_name = 'wlan_mgt'

    # Note: only able to get the 1st tag number
    def wlan_mgt_tag_number(self, packet):
        field_name = self.layer_name + '.' + 'tag.number'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value

    # Note: only able to get the 1st tag length
    def wlan_mgt_tag_length(self, packet):
        field_name = self.layer_name + '.' + 'tag.length'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value
示例#6
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

# import src.test_my_misc.hex2bin as hex2bin
from src.alex_sniff.mgt.mgt import WLAN
from src.alex_misc.alex_logging import create_logger

log_beacon_wlan_mgt_tag_supported_rates = create_logger(logger_name=__name__,
                                                        fmt='%(message)s')


class WLANMGTTagSupportedRates(WLAN):
    def __init__(self, capture_file_path):
        WLAN.__init__(self, capture_file_path)

        self.layer_name = 'wlan_mgt'

    # Note: only able to get the 1st tag number
    def wlan_mgt_tag_number(self, packet):
        field_name = self.layer_name + '.' + 'tag.number'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value

    # Note: only able to get the 1st tag length
    def wlan_mgt_tag_length(self, packet):
        field_name = self.layer_name + '.' + 'tag.length'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value
示例#7
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: Alex Wang

import src.alex_misc.hex2bin as hex2bin
from src.alex_sniff.mgt.mgt import WLAN
from src.alex_misc.alex_logging import create_logger

log_beacon_wlan_mgt_tag_current_channel = create_logger(logger_name=__name__,
                                                        fmt='%(message)s')


class WLANMGTTagCurrentChannel(WLAN):
    def __init__(self, capture_file_path):
        WLAN.__init__(self, capture_file_path)

        self.layer_name = 'wlan_mgt'

    # Note: only able to get the 1st tag number
    def wlan_mgt_tag_number(self, packet):
        field_name = self.layer_name + '.' + 'tag.number'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value

    # Note: only able to get the 1st tag length
    def wlan_mgt_tag_length(self, packet):
        field_name = self.layer_name + '.' + 'tag.length'
        value = packet[self.layer_name].get_field_value(field_name)
        str_value = str(value)
        return str_value
示例#8
0
# Author: Alex Wang

# Use to get item count in list
from collections import Counter
# Import config file setting
import src.alex_cfg.cfg_basic as cfg_basic
import src.alex_cfg.cfg_beacon as config_beacon
# Import class Group
import src.alex_sniff.frame as class_init
# Import beacon frame layer
import src.alex_sniff.frame as frame
# Import Beacon WLAN layer
import src.alex_sniff.mgt.mgt as mgt
# Set logger
from src.alex_misc.alex_logging import create_logger
log_counter = create_logger(logger_name=__name__, fmt='%(message)s')

capture_file_path = cfg_basic.capture_file_path()
# Init class frame
beacon_frame_0 = frame.Frame(capture_file_path)
# Init class Beacon WLAN layer
beacon_wlan_0 = mgt.WLAN(capture_file_path)
# Init class Group
init = class_init.Frame(capture_file_path)


def group_wlan_others(capture):
    """
	Separate WLAN with BSSID, WLAN without BSSID and non-WLAN packets as list of {counter index: pkt type}
	:param capture: sniffer capture file
	:return: [0] List of dict: Pkt with WLAN layer and BSSID; [1] List of dict: Pkt with WLAN layer but no BSSID; [2] List of dict: Pkt without WLAN