十二.Wi-Fi

链接地址: https://github.com/dhgdhg/DVWA-Note

12.1.RadioTap:scapy.layers.dot11.RadioTap

发送和接收802.11标准帧, 在发送802.11帧之前, 网络驱动程序在802.11帧之前添加radiotap报头;一旦网卡接收到无线帧, 网络驱动程序就会通知MAC层这个帧包含了radiotap报头,当无线网络接口处monitor模式时,内核会生成一个名为RadioTap的数据添加在IEEE802.11数据帧(MPDU)的前面,该Radiotap记录了热点的信息,如信号强度、MPDU帧信息等信息. 意思就是在正常的IEEE802.11数据帧前面,核又额外给你加了一块RadioTap类型的数据,这块数据记录了一些无线网的属性.

<details>
  • version

    • Verion (8 bits)
    • 目前应为0
  • pad

    • Pad (8 bits)
    • 目前未使用, 占位符
  • len

    • Length (16 bits)
    • radiotap数据的整个长度, 包括radiotap头
  • notdecoded

  • present

    • Present (32 bits)

    • 数据段掩码, 小端字节序

    • 位置对应

      • TSFT

        • 结构: 64 bits Mactime
        • 单元: 微秒
        • 变量名: mac_timestamp
        • 当MPDU的第一位到达MA​​C时, MAC的64位802.11时间同步功能计时器的微秒值. 仅适用于接收的帧
      • Flags

        • 结构: 8 bits flags
        • 单位: bitmap
        • 变量名: Flags
          标志 含义
          0x01 在CFP中发送/接收
          0x02 用简短的序言发送/接收
          0x04 使用WEP加密发送/接收
          0x08 碎片发送/接收
          0x10 框架包括FCS
          0x20 帧在802.11标头和有效负载之间填充 (到32位边界)
          0x40 帧未通过FCS检查
          0x80 使用的帧短保护间隔 (HT)
      • Rate

        • 结构: 8 bits rate
        • 单位: 500 Kbps
        • TX / RX数据速率.
        • 变量名: Rate
      • Channel

        • 结构: 16 bits frequency, 16 bits flags
        • 单位: MHz, bitmap
        • Tx/Rx频率(MHz), 后跟标志
        • 变量名: ChannelFrequency
        • 变量名: ChannelFlags
          标志 含义
          0x0010 涡轮通道
          0x0020 CCK通道
          0x0040 OFDM信道
          0x0080 2 GHz频谱通道
          0x0100 5 GHz频谱通道
          0x0200 仅允许被动扫描
          0x0400 动态CCK-OFDM信道
          0x0800 GFSK通道 (FHSS PHY)
      • FHSS

        • 结构: 8 bits hop set, 8 bits hop pattern
        • 跳频无线电的跳集和模式
      • dBm_AntSignal

        • 结构: 8 sign bits
        • 单位: 分贝
        • 变量名: dBm_AntSignal
        • 天线的RF信号功率. 该值指示天线处的RF信号功率, 以1mW为单位的分贝差.
      • dBm_AntNoise

        • Antenna noise
        • 结构: 8 sign bits
        • 单位: 分贝
        • 变量名: dBm_AntNoise
        • 天线的射频噪声功率.该值指示天线处的RF信号功率, 以1mW为单位的分贝差.
      • Lock_Quality

        • 结构: 16 bits
        • 变量名: Lock_Quality
        • Barker Lock的质量. 单调不降低, 锁定强度更高. 数据表中称为“信号质量”
      • TX_Attenuation

      • dB_TX_Attenuation

        • 结构: 16 bits
        • 在工厂校准时, 传输功率以与最大功率设置的分贝距离表示. 0是最大功率. 单调不递减的低功率级.
      • dBm_TX_Power

        • 结构: 8 sign bits
        • 单位: dBm
        • 发射功率以dBm(1毫瓦参考分贝)表示. 这是在天线端口测量的绝对功率电平.
      • Antenna

        • 结构: 8 bits
        • 单位: 天线索引
        • 变量名: Antenna
        • 此数据包的Rx/Tx天线的指示.第一个天线是天线0.
      • dB_AntSignal

        • 结构: 8 bits
        • 天线处的RF信号功率, 与任意固定参考之间的分贝差. 该字段包含单个无符号的8位值.
      • dB_AntNoise

        • 结构: 8 bits
        • 单位: dB
        • 天线的RF噪声功率, 与任意固定参考之间的分贝差. 该字段包含单个无符号的8位值.
      • RXFlags

        • 结构: 16 bits
        • 接收帧的属性
        • 变量名: RXFlags
          含义
          0x0001 保留(FCS失败, 但这是常规标志)
          0x0002 PLCP CRC检查失败
          0xfffc 保留以备将来扩展
      • TXFlags

      • b17

      • b18

      • ChannelPlus

      • MCS

        • 结构: 8 bits known, 8 bits flags, 8 bits mcs

        • 变量名: MCS_index

          • mcs
        • 变量名: knownMCS

          含义
          0x01 带宽已知
          0x02 mcs索引已知(在mcs部分的字段中)
          0x04 guard 间隔已知
          0x08 HT格式已知
          0x10 FEC类型已知
          0x20 STBC已知
          0x40 Ness 已知(扩展空间流的数量)
          0x80 Ness数据-扩展空间流数量的1 bit(MSB)
        • flags

          • 变量名: HT_format

          • 变量名: Ness_LSB

          • 变量名: FEC_type

          • 变量名: MCS_bandwidth

          • 变量名: guard_interval

          • 变量名: STBC_stream

            含义
            0x03 带宽 (0: 20, 1: 40, 2: 20L, 3: 20U)
            0x04 guard 间隔 - 0: long GI, 1: short GI
            0x08 HT 格式 - 0: mixed, 1: greenfield
            0x10 FEC 类型 - 0: BCC, 1: LDPC
            0x60 STBC流的数量
            0x80 Ness-bit 扩展空间流数量的0 bit(LSB)
      • A_MPDU

        • A-MPDU status
        • 结构: 32 bits reference number, 16 bits flags, 8 bits delimiter CRC value, 8 bits reserved
        • 该字段的存在表明帧是作为a-MPDU的一部分接收的. reference number由捕获设备生成, 并且在A-MPDU的每个子帧中都是相同的. 由于捕获设备可能能够捕获多个通道, 或者可以合并来多个(并发)捕获的数据, 所以不能保证reference number在不同通道之间是惟一的. 因此, 应用程序应该使用通道信息和reference number来识别属于同一A-MPDU的子帧
        • 变量名: A_MPDU_ref
        • 变量名: A_MPDU_flags
          含义
          0x0001 驱动程序报告0长度子帧
          0x0002 帧是长度为0的子帧(仅当设置为0x0001时有效)
          0x0004 已知最后一个子帧(应为A-MPDU中的所有子帧设置)
          0x0008 这个帧是最后一个子帧
          0x0010 定界符CRC错误
          0x0020 分隔符CRC值已知: 分隔符CRC值字段有效
          0x0040 EOF值
          0x0080 EOF值已知
          0xff00 保留
      • VHT

        • 结构: 16bits known, 8 bits flags, 8 bits bandwidth, 8 bits mcs_nss[4], 8 bits coding, 8 bits group_id, 16 bits partial_aid
        • https://www.radiotap.org/fields/VHT.html
        • 变量名: KnownVHT, PresentVHT, VHT_bandwidth, mcs_nss, GroupID, PartialAID
      • timestamp

        • 结构: 64 bits timestamp, 16 bits accuracy, 8 bits unit/position, 8 bits flags
        • 变量名: ts_accuracy
        • 变量名: ts_position
          value sampling position
          0 first bit (or symbol containing it) of MPDU - matches TSFT field
          1 signal acquisition at start of PLCP
          2 end of PPDU
          3 end of MPDU (after FCS)
          4-14 reserved
          15 unknown or vendor/OOB defined
        • 变量名: ts_flags
          含义
          0x01 32位计数器(高32位未使用)
          0x02 accuracy已知
          0xFC 保留
        • https://www.radiotap.org/fields/timestamp.html
      • HE

        • 结构: 16 bits data1, data2, data3, data4, data5, data6

        • 该字段的存在指示使用HE PHY接收或发送了该帧, 此字段包含的数据大部分来自所有HE传输所共有的HE-SIG-A部分, 但是某些数据也可能会被计算 (例如, 当包含在HE_TRIG类型帧的传输时, 某些参数不包含在HE-SIG-A, 但由触发帧确定) .

        • 但是, 对于HE_MU格式的PPDU, 它包含适用于PSDU编码的数据, 如果需要, 还包含HE-MU字段中包含的有关MU传输的更详细的信息, 在许多情况下, 不需要该字段, 因为有关已捕获的单个户的数据已在此处进行了编码.

        • 对于MU传输, 在这种情况下, HE-MU-other-user 字段也可能出现一次或多次, 以捕获无法捕获其数据的额外用户. 如果为一个以上的用户捕获了数据, 则必须将多个数据包写入radiotap获中

        • 变量名: he_data1

          含义
          0x0003 HE PPDU格式:0=HE_SU, 1=HE_EXT_SU, 2=HE_MU, 3=HE_TRIG
          0x0004 BSS颜色已知
          0x0008 光束变化已知
          0x0010 UL/DL已知
          0x0020 数据MCS已知
          0x0040 数据DCM已知
          0x0080 编码已知
          0x0100 LDPC额外符号段已知
          0x0200 STBC已知
          0x0400 空间复用已知 (空间复用 1 for HE_TRIG format)
          0x0800 空间复用2已知 (HE_TRIG格式) , 已知STA-ID (HE_MU格式)
          0x1000 空间重用3已知 (HE_TRIG格式)
          0x2000 空间重用4已知 (HE_TRIG格式)
          0x4000 数据BW/RU分配已知
          0x8000 多普勒已知
        • 变量名: he_data2

          含义
          0x0001 pri/sec 80 MHz已知
          0x0002 地理标志
          0x0004 的LTF符号数已知
          0x0008 Pre-FEC填充因子已知
          0x0010 TxBF已知
          0x0020 PE Disambiguity已知
          0x0040 TXOP已知
          0x0080 中间码周期已知
          0x3f00 RU分配偏移
          0x4000 RU分配偏移已知
          0x8000 pri/sec 80 MHz (主要= 0, 次要= 1)
        • 变量名: he_data3

          含义
          0x003f BSS颜色
          0x0040 光束变化
          0x0080 UL/DL
          0x0f00 数据MCS (对于HE_MU格式, 不是来自HE-SIG-A的SIG-B MCS)
          0x1000 数据DCM (请参阅数据MCS)
          0x2000 编码 (0=BCC, 1=LDPC)
          0x4000 LDPC额外符号段
          0x8000 空时分组码
        • 变量名: he_data4

          HE_SU和HE_EXT_SU格式的PPDU
          0x000f 空间复用
          0xfff0 (保留)
          HE_TRIG格式PPDU
          0x000f 空间复用1
          0x00f0 空间重用2
          0x0f00 空间重用3
          0xf000 空间重用4
          HE_MU格式PPDU
          0x000f 空间复用
          0x7ff0 为其捕获数据的用户的STA-ID
          0x8000 (保留)
        • 变量名: he_data5

          含义
          0x000f 数据带宽/RU分配 (0: 20、1: 40、2: 80、3: 160/80+80、4: 26-tone RU, 5: 52-tone RU, 6: 106-tone RU, 7: 242-tone RU, 8: 484-tone RU, 9: 996-tone RU, 10: 2x996-tone RU)
          0x0030 GI (0: 0.8us, 1: 1.6us, 2: 3.2us, 3: 保留)
          0x00c0 LTF符号大小 (0: 未知, 1: 1x, 2: 2x, 3: 4x)
          0x0700 LTF符号的数量 (0: 1x, 1: 2x, 2: 4x, 3: 6x, 4: 8x, 5-7: 保留)
          0x0800 (保留)
          0x3000 Pre-FEC的填充因子
          0x4000 TxBF
          0x8000 PE Disambiguity
        • 变量名: he_data6

          含义
          0x000f NSTS (时空流的实际数量, 0: 未知, 1: 1, 依此类推)
          0x0010 多普勒值
          0x00e0 (保留)
          0x7f00 TXOP值
          0x8000 中间码周期 (0: 10, 1: 20)
      • HE_MU

        • 结构

          • 16 bits flags1
          • 16 bits flags2
          • 8 bits RU_channel1[4]
          • 8 bits RU_channel2[4]
        • 该字段包含与常规HE字段中尚未捕获的HE_MU类型的PPDU相关的数据. 这是公共数据(来自HE-SIG-A和HE-SIG-B), 每个用户的数据可以在HE-MU-其他用户字段中捕获

        • 变量名: RU_channel1, RU_channel2

          • Channel 1 /Channel 2使用情况和RU字节映射

            • 始终使用Channel 1的known字段, 用它来指示捕获了Channel 1的数据量
            • Channel 2的known字段仅用于40 MHz及更高​​频率, 用于指示捕获了Channel 2的数据量, 对于20 MHz, 应将其设置为0 (未知)
          • 数组中的RU八位字节(“RU_channel1”和“RU_channel2”)表示表28-26中的RU分配索引(“RU分配子字段”).

          • Channel 1的tones取决于known字段

            • 如果known=0, 则未报告任何数据(例如, 硬件不支持, 或SIG-B之一上的CRC错误)

            • 如果known=1, 则根据下表, 带宽来自“HE-SIG-A中的带宽字段的带宽”标志2字段

              RU idx | bw=0 (20 MHz) | bw=1 (40 MHz) | bw=2 (80 MHz) | bw=3 (160 MHz)

            • ------------- | ------------- | ------------- | ------------- | --------------------
              RU[0] | -122:122 | -244:-3 | -500:-259 | -1012:-771
              RU[1] | / | / | 17:258 | -495:-254
              RU[2] | / | / | / | 12:253
              RU[3] | / | / | / | 529:770
              Center 26-tone | / | / | -16:-4, 4:16 | -528:-516, -508:-496

          • Channel 2的tones取决于known字段

            • 如果known=0, 则未报告任何数据(例如, 硬件不支持, 或SIG-B之一上的CRC错误)

            • 如果known=1, 则根据下表, 带宽来自“HE-SIG-A中的带宽字段的带宽”标志2字段

              RU idx | bw=0 (20 MHz) | bw=1 (40 MHz) | bw=2 (80 MHz) | bw=3 (160 MHz)

            • ------------- | ------------- | ------------- | ------------- | ----------------
              RU[0] | / | 3:244 | -258:-17 | -770:529
              RU[1] | / | / | 259:500 | -253:-12
              RU[2] | / | / | / | 254:495
              RU[3] | / | / | / | 771:1012
              Center 26-tone | / | / | / | 496:508, 516:528

        • 变量名: hemu_flags1, hemu_flags2

          • Flags 1

            含义
            0x000f SIG-B MCS (来自SIG-A)
            0x0010 SIG-B MCS已知
            0x0020 SIG-B DCM (来自SIG-A)
            0x0040 已知SIG-B DCM
            0x0080 (Channel 2) 已知Center 26-tone RU bit
            0x0100 已知Channel 1 RUs (取决于带宽)
            0x0200 已知Channel 2 RUs (取决于带宽)
            0x0c00 (保留)
            0x1000 (Channel 1) 已知Center 26-tone RU bit
            0x2000 (Channel 1) Center 26-tone RU值
            0x4000 已知SIG-B Compression
            0x8000 已知HE-SIG-B Symbols/MU-MIMO Users的#
          • Flags 2

            含义
            0x0003 HE-SIG-A中Bandwidth字段中的bandwidth (0-20 MHz, …, 3-160 / 80 + 80 MHz)
            0x0004 HE-SIG-A中来自Bandwidth字段的bandwidth
            0x0008 SIG-A的SIG-B compression
            0x00f0 # of HE-SIG-B Symbols - 1 or # of MU-MIMO Users - 1 from SIG-A
            0x0300 HE-SIG-A中Bandwidth字段中的前导码打孔(0: 非打孔, 1: 打孔的次要20 MHz(主80兆赫, 若适用), 2:打孔, 但存在主40 MHz(主频80兆赫, 若适用))
            0x0400 HE-SIG-A中Bandwidth字段中的前导码打孔
            0x0800 (Channel 2) Center 26-tone RU值
            0xf000 (保留)
      • HE_MU_other_user

        • 结构:

          • 16 bits per_user_1, 16 bits per_user_2
          • 8 bits per_user_position,8 bits per_user_known
        • 此字段包含来自SIG-B的per-user字段的数据, 用于可能尚未捕获其数据的额外用户. 通常不需要此字段;如果捕获了HE_MU PPDU, 则通常仅捕获许多用户之一, 在这种情况下, 所有数据可以在HE和HE-MU字段中进行编码.如果可以捕获更多的SIG-B, 则此字段允许在radiotap中捕获数据数据. 对于已经捕获到数据的用户, 可以但不必具有此字段. 请注意, MCS/DCM/etc. 捕数据的配置已经在常规HE字段中进行了编码, 对于SIG-B, 它是HE-MU字段的一部分.

        • 变量名: hemuou_per_user_1

          含义
          0x7fff HE-SIG-B用户字段的B0-B14
          0x8000 保留
        • 变量名: hemuou_per_user_2

          含义
          0x003f 符合规范的HE-SIG-B用户字段的B15-B20
          0xffc0 保留
        • 变量名: hemuou_per_user_position

          • 包含此用户字段的位置, 从0开始.
        • 变量名: hemuou_per_user_known

          含义
          0x01 用户字段位置已知
          0x02 用户字段位置已知
          0x04 用户字段位置已知
          0x08 已知发射波束成形(B14, 仅适用于非MU-MIMO)
          0x10 已知空间配置(仅B11-B14, 仅适用于MU-MIMO)
          0x20 已知MCS(B15-18)
          0x40 已知DCM(B19)
          0x80 已知编码(B20)
      • zero_length_psdu

        • 0-length-PSDU

        • 结构: 8 bits zero_length_psdu

        • 此字段的存在指示此PPDU中没有捕获PSDU, 也没有捕获到PSDU, 只有PHY数据有效, 并且radiotap头后面没有802.11头.

        • 类型值含义

          类型值 含义
          0 探测PPDU
          1 未捕获数据(例如, 多用户PPDU)
          0xff 供应商指定
      • L_SIG

        • 结构: 16bits data1, data2

        • 变量名: lsig_data1

          含义
          0x0001 速度已知
          0x0002 长度已知
          0xfffc (保留)
        • 变量名: lsig_length

        • 变量名: lsig_rate

      • b28

      • RadiotapNS

        • Radiotap Namespace
      • VendorNS

      • Ext

    • 当present中未设置为1时, 则忽略对应数据的值

    • 例:

        >>> [v for v in RadioTap(present=1).present.names]
        ['TSFT',
        'Flags',
        'Rate',
        'Channel',
        ...
        'VendorNS',
        'Ext']
        >>> a = RadioTap(Rate=20)
        >>> a.show()
        ###[ RadioTap dummy ]###
        version= 0
        pad= 0
        len= None
        present= None
        notdecoded= ''
      
        >>> a.present='Rate+HE'
        >>> a.show()
        ###[ RadioTap dummy ]###
            version= 0
        pad= 0
        len= None
        present= Rate+HE
        Rate= 20
        he_data1= 0
        he_data2= 0
        he_data3= 0
        he_data4= 0
        he_data5= 0
        he_data6= 0
        notdecoded= ''
</details>

12.2.Dot11:scapy.layers.dot11.Dot11

无线局域网通用的标准

<details>
  • 变量名: proto

    • 此字段仅用于指示帧使用的是802.11的哪个协议版本.这总是设置为“0”, 因为当前存在802.11技术的一个版本.
  • 变量名: type

    • 标准中定义了三种类型(管理、控制、数据)的无线帧.下面显示了“Type”字段对应每个字段的位值
    • 取值: ["Management", "Control", "Data", "Reserved"]
  • 变量名: subtype

    • 有许多不同种类的管理、控制和数据帧.因此需要4位的子类型字段来区分它们

      Type Value(B3..B2) Type Description Subtype Value (B7..b4) Subtype Description
      00 Management 0000 Association Request
      00 Management 0001 Association Response
      00 Management 0010 Reassociation Request
      00 Management 0011 Reassociation Response
      00 Management 0100 Probe Request
      00 Management 0101 Probe Response
      00 Management 0110 Timing Advertisement
      00 Management 0111 Reserved
      00 Management 1000 Beacon
      00 Management 1001 ATIM
      00 Management 1010 Disassociation
      00 Management 1011 Authentication
      00 Management 1100 Deauthentication
      00 Management 1101 Action
      00 Management 1110 Action No Ack (NACK)
      00 Management 1111 Reserved
      01 Control 0000-0001 Reserved
      01 Control 0010 Trigger
      01 Control 0100 Beamforming Report Poll
      01 Control 0101 VHT/HE NDP Announcement
      01 Control 0110 Control Frame Extension
      01 Control 0111 Control Wrapper
      01 Control 1000 Block Ack Request (BAR)
      01 Control 1001 Block Ack (BA)
      01 Control 1010 PS-Poll
      01 Control 1011 RTS
      01 Control 1100 CTS
      01 Control 1101 ACK
      01 Control 1110 CF-End
      01 Control 1111 CF-End + CF-ACK
      10 Data 0000 Data
      10 Data 0001 Data + CF-ACK
      10 Data 0010 Data + CF-Poll
      10 Data 0011 Data + CF-ACK + CF-Poll
      10 Data 0100 Null (no data)
      10 Data 0101 CF-ACK (no data)
      10 Data 0110 CF-Poll (no data)
      10 Data 0111 CF-ACK + CF-Poll (no data)
      10 Data 1000 QoS Data
      10 Data 1001 QoS Data + CF-ACK
      10 Data 1010 QoS Data + CF-Poll
      10 Data 1011 QoS Data + CF-ACK + CF-Poll
      10 Data 1100 QoS Null (no data)
      10 Data 1101 Reserved
      10 Data 1110 QoS CF-Poll (no data)
      10 Data 1111 QoS CF-ACK + CF-Poll (no data)
      11 Extension 0000 DMG Beacon
      11 Extension 0001-1111 Reserved
  • 变量名: FCfield

    • 取值:
      • "to-DS"
        • 发送到分配系统
      • "from-DS"
        • 来自��配系统
      • "MF"
        • More-Fragments
      • "retry"
        • 数据或管理帧是前一帧的"部分重传"
      • "pw-mgt"
        • Power Management
      • "MD"
        • More Data
      • "protected"
        • Protected Frame
      • "order"
        • +HTC/Order, 表示该帧包含HT控制字段
  • 变量名: ID

    • Duration ID
  • 变量名: SC

    • Sequence Control
  • 变量名: addr1, add2, add3, add4

    • SA(Source Address): 源点地址

    • TA(Transmitter Address) : 发送端

    • RA(Receiver Address) : 接收端

    • DA(Destination Address) : 终点地址

    • BSSID (Basic Service Set IDentifier) : 基站集ID

    • To DS From DS Address 1 Address 2 Address 3 Address 4 含义
      0 0 接收端: 终点地址 发送端: 源点地址 基站集ID Not used 控制帧或 管理帧
      0 1 接收端: 终点地址 发送端: 基站集ID 源地址 Not used WiFi无线路由器到客户端
      1 0 接收端: 基站集ID 发送端: 源点地址 终点地址 Not used 客户端到WiFi无线路由器
      1 1 接收端 发送端 终点地址 源点地址 使用WDS–无线分配系统(例如网桥, 网状AP, 中继器)

12.3.Dot11Beacon:scapy.layers.dot11.Dot11Beacon

信标帧是基于IEEE 802.11的WLAN 中的管理帧之一.它包含有关网络的所有信息.信标帧是定期发送的, 它们用于宣告无线局域网的存在并同步服务集的成员.

<details>
  • timestamp
    • 接收到信标帧后, 所有端都将其本地时钟更改为此时间.这有助于同步.
  • beacon_interval
    • 这是信标传输之间的时间间隔.节点(处于ad hoc或P2P GO模式的AP, 端)必须发送信标的时间称为目标信标传输时间(TBTT).信标间隔以时间单位(TU)表示.它是AP中的一个可配置参数, 通常配置100 TU, 1 TU = 1024 microseconds
  • cap
    • 取值:
      • short-slot
        • G Mode Short Slot Time [20 microseconds]
      • DSSS-OFDM
        • DSSS-OFDM Allowed
      • ESS
        • ESS Type Network
      • IBSS
        • IBSS Type Network
      • CFP
        • CF Pollable
      • CFP-req
        • CF Poll Requested
      • privacy
        • Privacy enabled
      • short-preamble
        • Short Preamble Allowed
      • PBCC
        • PBCC Allowed
      • agility
        • CHannel Agility Used
      • res8
      • res9
      • res11
      • res12
      • res14
      • res15
</details>

12.4.Dot11Elt:scapy.layers.dot11.Dot11Elt

802.11 information elements

<details>
  • ID
    • 字段名
    • 取值: {0: "SSID",1: "Rates",2: "FHset",3: "DSset",4: "CFset",5: "TIM",6: "IBSSset",7: "Country",10: "Request",16: "challenge",33: "PowerCapability",36:"Channels"42: "ERPinfo",45: "HTCapabilities",46: "QoSCapability",47: "ERPinfo",48: "RSNinfo",50: "ESRates",52: "PowerConstraint",61: "HTinfo",68: "reserved",107:"Interworking"127: "ExtendendCapatibilities",191: "VHTCapabilities",221: "vendor"}
    • "SSID"
      • Service Set Identity 32 bytes, network name
      • 零字节的情况是一种特殊的情况, 称为广播SSID;它仅用于当一个端试图发现其区域内的所有802.11网络时的探测请求帧.
    • "Rates"
      • Supported Rates
      • 无线局域网的几个数据速率已经标准化.支持的速率信息元素允许802.11网络指定它支持的数据速率.当移动台试图加入网络时, 它们检查网络中使用的数据速率.有些费率是强制性的, 须由移动支持, 而其他费率是可选的.
      • Dot11EltRates: scapy.layers.dot11.Dot11EltRates
        • ID
        • len
        • rates
    • "FHset"
      • FH Parameter Set
      • Dwell Time
        • 跳频网络从一个频道跳到另一个频道.在跳频序列中每个通道上花费的时间称为驻留时间.它以时间单位(TUs)表示.
      • Hop Set
        • 802.11 frequency-hopping PHY定义了几种hop模式, 标识正在使用的一组hop模式.
      • Hop Pattern
        • 站从集合中选择一个跳跃模式.这个字段也是一个字节, 用于识别正在使用的跳跃模式.
      • Hop Indexs
        • 每个模式都由一长串的通道跃点组成.该字段(单个字节)标识跳序列中的当前点.
    • "DSset"
      • DS Parameter Set
      • 802.11网络只有一个参数:网络使用的信道号
    • "CFset"
      • CF Parameter Set
      • CF参数集信息元素通过支持无争用操作的访问点在信标中传输
    • "TIM"
      • Traffic Indication Map (TIM)
      • AP缓冲帧用于移动端在低功率模式下睡眠. AP定期尝试将缓冲帧发送到睡眠状态下的移动端. 这样安排的一个实际原因是, 给发送端供电比简单地打开接收端更耗电, 但是802.11的设计者想了池供电的移动端, 为了延长低功耗设备的电池寿命, 决定将缓冲帧定期发送到移动端
      • DTIM Count
        • 这个单字节字段是下一个DTIM帧之前要传输的信标的数量.DTIM帧表明缓冲广播和多播帧将很快交付.并不是所有的信标帧都是DTIM帧.
      • DTIM Period
        • 这个单字节字段表示DTIM帧之间的信标间隔数.0是保留的, 没有使用.DTIM计数周期从周期到0.
      • Bitmap Control and Partial Virtual Bitmap
        • 位图控制字段分为两个子字段.第0位用于关联ID 0的流量指示状态, 为多播流量预留.位图控制字段的其余7位用于位图偏移字段.为了节省传输能力, 位图偏移字段可以用来传输虚拟位图的一部分.位图偏移量与虚拟位图的开始有关.通过使用位图偏移量和长度, 802.11端可以推断出虚拟位图的哪一部分包含在内.
    • "IBSSset"
      • IBSS Parameter Set
      • IBSSs目前只有一个参数, 即announcement流量指示映射(ATIM)窗口, 如图所示.此字段仅用于IBSS信标帧.它表示IBSS中ATIM帧之间的时间单位(TUs)的数量.
    • "Country"
      • Country String (3 bytes)
        • 一种由三个字符组成的ASCII字符串, 表示端正在操作的位置.前两个字母是ISO国家代码(例如, “US”代表美国).许多国家对室内和室外有不同的规定, 第三个特点是两者的区别.当一组综合规则覆盖所有环境时, 第三个字符是一个空间.为了指定室内或室外规则, 第三个字符可以分别设置为“I”或“O”.
      • First Channel Number (1 byte)
        • 第一个通道号是受功率约束的最低通道
      • Number of Channels (1 byte)
        • 受功率约束的频带的大小由通道的数目表示.通道的大小与物理层有关.
      • Maximum Transmit Power (1 byte)
        • 最大发射功率, 用dBm表示.
      • Pad (1 byte; optional)
        • 信息元素的大小必须是偶数字节.如果信息元素的长度是奇数字节, 则将单个字节的零作为小块追加.
    • "Request"
      • 在探测请求帧中, 请求信息元素用于向网络请求某些信息元素.请求信息元素具有类型/长度头, 后面是一个整数列表, 其中包含被请求的信息元素的编号
    • "challenge"
      • Challenge text
      • 由802.11定义的共享密钥认证系统要求移动端成功地解密一个加密的challenge.使用challenge text信息元素发送质询
    • "PowerCapability"
      • Power Capability
      • 802.11端是由电池供电的, 而且端的功能通常不如AP, 部分原因是通常不需要移动客户端设备以高功率进行传输.Power Capability信息元素允许端报告其最小和最大传输功率, 单位为dBm
    • "Channels"
      • Supported Channels
      • 支持的Channels信息元素类似于Country信息元素, 因为它描述了支持的子频带.在标头之后, 有一系列子带描述符.每个子带描述符由第一个通道号(它是受支持的子带中的最小通道号)子带中通道数量组成.例如, 只支持通道号40到52的设备将把第一个通道号设置为40, 通道数量设置为12(52-40).
    • "ERPinfo"
      • ERP information
      • 802.11g定义了扩展速率PHY (extended rate PHY, ERP).为了提供向后兼容性, 定义了ERP信息元素, 如图所示.在它的第一次迭代中, 它是一个字节中的三个位标志
      • Non-ERP present
        • 当一个旧协议的、非802.11g的端连接到网络时, 将设置这个位.当检测到不能使用802.11g的重叠网络时, 也可以设置.
      • Use Protection
        • 当存在不能以802.11g数据速率运行的端时, 保护位设置为1.这使得可以与旧协议的端向后兼容.
      • Barker Preamble Mode
        • 如果与网络相关的端不能使用短序言模式, 则将设置此位.
    • "HTCapabilities"
    • "QoSCapability"
    • "ERPinfo"
    • "RSNinfo"
      • Robust Security Network
      • 随着802.11i中显著的安全增强, 有必要开发一种在端之间通信安全信息的方法.主要工具是健壮的安全网络(RSN)信息元素, 如图所示.有几个可变的组件, 在某些情况下, RSN信息元素能会遇信息元素大小超过头部255字节的限制.
      • Version
        • version字段必须存在.802.11定义了版本1.保留0
      • Group cipher suite
        • 版本号之后是组密码套件描述符.AP必须选择一个与所有相关端兼容的分组密码, 以保护广播和多播帧.只允许一个组密码.密码套件选择器有四个字节长.它以用于供应商的OUI和用于识别密码的数字开始.802.11i使用的OUI是00-0F-AC, 由802.11工作组使用.
          OUI | Suite Type | Definition
        • ---------------- | ---------- | ------------------------------------------------------------
          00-0F-AC (802.11) | 0 | Use the group cipher suite (only valid for pairwise ciphers)
          00-0F-AC | 1 | WEP-40
          00-0F-AC | 2 | TKIP
          00-0F-AC | 3 | Reserved
          00-0F-AC | 4 | CCMP[a]
          00-0F-AC | 5 | WEP-104
          Vendor OUI | Any value | Defined by vendor
      • Pairwise Cipher Suites (count + list)
        • 分组密码套件之后可以有几个成对的密码套件来保护单播帧.有一个双字节计数, 后面是一系列受支持的密码描述符.可以将套件选择器设置为零, 以指示只支持组密码套件.除了信息元素的大小之外, 对支持的成对密码的数量没有限制.
      • Authentication and Key Management (AKM) suites (count + list)
        • 与成对密码套件选择器一样, 可能定义了多个身份验证类型.在计数之后, 有一系列四字节的套件标识符.与密码套件一样, 四字节标识符由一个OUI和一个套件类型号组成.表显示了标准的身份验证类型.
          OUI | Suite type | Authentication | Key management
        • --------- | ---------- | --------------------- | -------------------------------------------------------------------
          00-0F-AC | 1 | 802.1X or PMK caching | Key derivation from preshared master key, as described in Chapter 7
          00-0F-AC | 2 | Pre-shared key | Key derivation from pre-shared key, as described in Chapter 7
          Vendor OUI | Any | Vendor-specific | Vendor-specific
      • RSN Capabilties
        • 这个双字节字段由四个标记组成, 这些标记用于描述发送器的能力, 后面是必须设置为零的保留位
        • Pre-authentication
          • AP可以设置此位, 以指示它可以与网络上的其他AP执行预认证, 以移动安全会话.否则, 这个位将被设置为0
        • No Pairwise
          • 当一个端可以支持一个手动的WEP键和一个更强的单播键来广播数据时, 就设置这个位.虽然标准支持这种配置, 但是除非绝对必要, 否则不应该使用这种配置.
        • Pairwise Replay Counter and Group Replay Counter
          • 对于新出现的服务质量扩展中定义的每个优先级, 可以维护单独的重播计数器.这些位元描述了端所支持的重播计数器的数目.
      • PMK list (count + list)
        • 当成对的主密钥被AP缓存时, 访问点之间可能会更快地切换.端可能会提供一个AP on关联的主密钥列表, 以试图绕过耗时的身份验证.
    • "ESRates"
    • "PowerConstraint"
      • Power Constraint
      • 功率约束信息元素用于允许网络描述到端的最大传输功率.除了规定的最高限额外, 可能还有另一个有效的最高限额.唯一的字段是一个单字节整数, 它是任何局部约束都可以通过其降低管最大的分贝数.例如, 如果调控的最大功率为10 dBm, 但是这个信息元素包含值2, 那么该端将其最大发射功率设置为8 dBm
    • "HTinfo"
      • Hopping Pattern Parameters
    • "reserved"
    • "Interworking"
    • "ExtendendCapatibilities"
    • "VHTCapabilities"
    • "vendor"
  • len
  • info
    • 字段值
</details> </details>