Radiotap Vendor Crawlers¶
This module contains all vendor crawlers of
Radiotap implementations, each scraping
radiotap.org [*]. Available vendor crawlers include:
Field Types |
|
Flags |
|
Channel Flags |
|
RX Flags |
|
TX Flags |
|
MCS Known Flags |
|
A-MPDU Status Flags |
|
VHT Known Flags |
|
VHT Flags |
|
VHT Coding Flags |
|
Timestamp Flags |
|
HE Data1 Known Flags |
|
HE Data2 Known Flags |
|
HE-MU Flags1 Known Flags |
|
HE-MU Flags2 Known Flags |
|
HE-MU-other-user Known Flags |
|
L-SIG Data1 Flags |
|
S1G Known Flags |
|
U-SIG Common Known Flags |
|
EHT Known Flags |
Added in version 1.6.0.
Field Types¶
This module contains the vendor crawler for Radiotap Field Types,
which is automatically generating pcapkit.const.radiotap.field_type.FieldType.
The registry is radiotap.org’s Defined Fields table, scraped from
LINK, and RTS retries and data
retries from its Unofficially Used Fields table, scraped from
UNOFFICIAL_LINK. A bit number is also a
TLV type, so the TLV-only fields from 32 on are in it too. The tables name no
reserved value: _missing_ resolves bits 29, 30 and 31 of every extended
presence word to Reserved, as radiotap.org’s introduction reserves them, and
every other value to Unassigned.
- pcapkit.vendor.radiotap.field_type.UNOFFICIAL_LINK = 'https://www.radiotap.org/fields/unofficial'¶
Link to radiotap.org’s Unofficially Used Fields table – the bit number, the field, the systems that generate it and those that parse it.
- pcapkit.vendor.radiotap.field_type.UNOFFICIAL = ('RTS retries', 'data retries')¶
The fields of that table the registry takes, by name.
Flags¶
This module contains the vendor crawler for Radiotap Flags,
which is automatically generating pcapkit.const.radiotap.flags.Flags.
Each flag crawler scrapes the table on its field’s page, and subclasses this one.
A row whose mask sets one bit is a member; a row that sets more bits, or that
radiotap.org marks reserved or unused, is not, and its bits stay undefined; nor
is a row of a crawler’s VALUES, a value subfield of a bitmap that mixes them
with flags, which its schema splits off. A
member’s name is the macro the crawler’s NAMES gives its bit, less the
IEEE80211_RADIOTAP_ or IEEE80211_ prefix: the Linux kernel’s, from
include/net/ieee80211_radiotap.h, or Wireshark’s where Linux names none.
Neither names the HE-MU-other-user bits, which take radiotap.org’s wording.
- class pcapkit.vendor.radiotap.flags.Flags[source]¶
Bases:
VendorRadiotap Flags
- SUBFIELD: str | None = None¶
Subfield whose table is scraped, as the page names it before the table;
Nonefor every table on the page.
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_F_CFP', 2: 'IEEE80211_RADIOTAP_F_SHORTPRE', 4: 'IEEE80211_RADIOTAP_F_WEP', 8: 'IEEE80211_RADIOTAP_F_FRAG', 16: 'IEEE80211_RADIOTAP_F_FCS', 32: 'IEEE80211_RADIOTAP_F_DATAPAD', 64: 'IEEE80211_RADIOTAP_F_BADFCS', 128: 'IEEE80211_RADIOTAP_F_SHORTGI'}¶
The source macro of each bit, keyed by mask, which is Linux’s for
0x01to0x40, and Wireshark’spacket-ieee80211-radiotap.cfor0x80, which Linux leaves unnamed.
Channel Flags¶
This module contains the vendor crawler for Radiotap Channel Flags,
which is automatically generating pcapkit.const.radiotap.channel_flags.ChannelFlags.
- class pcapkit.vendor.radiotap.channel_flags.ChannelFlags[source]¶
Bases:
FlagsRadiotap Channel Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_CHAN_700MHZ', 2: 'IEEE80211_CHAN_800MHZ', 4: 'IEEE80211_CHAN_900MHZ', 16: 'IEEE80211_CHAN_TURBO', 32: 'IEEE80211_CHAN_CCK', 64: 'IEEE80211_CHAN_OFDM', 128: 'IEEE80211_CHAN_2GHZ', 256: 'IEEE80211_CHAN_5GHZ', 512: 'IEEE80211_CHAN_PASSIVE', 1024: 'IEEE80211_CHAN_DYN', 2048: 'IEEE80211_CHAN_GFSK'}¶
The source macro of each bit, keyed by mask, which is Linux’s, and Wireshark’s
packet-ieee80211-radiotap-defs.hfor0x0010,0x0200and0x0800, which Linux leaves unnamed.
RX Flags¶
This module contains the vendor crawler for Radiotap RX Flags,
which is automatically generating pcapkit.const.radiotap.rx_flags.RXFlags.
TX Flags¶
This module contains the vendor crawler for Radiotap TX Flags,
which is automatically generating pcapkit.const.radiotap.tx_flags.TXFlags.
- class pcapkit.vendor.radiotap.tx_flags.TXFlags[source]¶
Bases:
FlagsRadiotap TX Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_F_TX_FAIL', 2: 'IEEE80211_RADIOTAP_F_TX_CTS', 4: 'IEEE80211_RADIOTAP_F_TX_RTS', 8: 'IEEE80211_RADIOTAP_F_TX_NOACK', 16: 'IEEE80211_RADIOTAP_F_TX_NOSEQNO', 32: 'IEEE80211_RADIOTAP_F_TX_ORDER'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
MCS Known Flags¶
This module contains the vendor crawler for Radiotap MCS Known Flags,
which is automatically generating pcapkit.const.radiotap.mcs_known.MCSKnown.
- class pcapkit.vendor.radiotap.mcs_known.MCSKnown[source]¶
Bases:
FlagsRadiotap MCS Known Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_MCS_HAVE_BW', 2: 'IEEE80211_RADIOTAP_MCS_HAVE_MCS', 4: 'IEEE80211_RADIOTAP_MCS_HAVE_GI', 8: 'IEEE80211_RADIOTAP_MCS_HAVE_FMT', 16: 'IEEE80211_RADIOTAP_MCS_HAVE_FEC', 32: 'IEEE80211_RADIOTAP_MCS_HAVE_STBC', 64: 'IEEE80211_RADIOTAP_MCS_HAVE_NESS', 128: 'IEEE80211_RADIOTAP_MCS_NESS_BIT1'}¶
The source macro of each bit, keyed by mask, which is Linux’s, and Wireshark’s
packet-ieee80211-radiotap-defs.hfor0x40and0x80, which Linux leaves unnamed.
A-MPDU Status Flags¶
This module contains the vendor crawler for Radiotap A-MPDU Status Flags,
which is automatically generating pcapkit.const.radiotap.ampdu_flags.AMPDUFlags.
- class pcapkit.vendor.radiotap.ampdu_flags.AMPDUFlags[source]¶
Bases:
FlagsRadiotap A-MPDU Status Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_AMPDU_REPORT_ZEROLEN', 2: 'IEEE80211_RADIOTAP_AMPDU_IS_ZEROLEN', 4: 'IEEE80211_RADIOTAP_AMPDU_LAST_KNOWN', 8: 'IEEE80211_RADIOTAP_AMPDU_IS_LAST', 16: 'IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR', 32: 'IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_KNOWN', 64: 'IEEE80211_RADIOTAP_AMPDU_EOF', 128: 'IEEE80211_RADIOTAP_AMPDU_EOF_KNOWN'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
VHT Known Flags¶
This module contains the vendor crawler for Radiotap VHT Known Flags,
which is automatically generating pcapkit.const.radiotap.vht_known.VHTKnown.
- class pcapkit.vendor.radiotap.vht_known.VHTKnown[source]¶
Bases:
FlagsRadiotap VHT Known Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_VHT_KNOWN_STBC', 2: 'IEEE80211_RADIOTAP_VHT_KNOWN_TXOP_PS_NA', 4: 'IEEE80211_RADIOTAP_VHT_KNOWN_GI', 8: 'IEEE80211_RADIOTAP_VHT_KNOWN_SGI_NSYM_DIS', 16: 'IEEE80211_RADIOTAP_VHT_KNOWN_LDPC_EXTRA_OFDM_SYM', 32: 'IEEE80211_RADIOTAP_VHT_KNOWN_BEAMFORMED', 64: 'IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH', 128: 'IEEE80211_RADIOTAP_VHT_KNOWN_GROUP_ID', 256: 'IEEE80211_RADIOTAP_VHT_KNOWN_PARTIAL_AID'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
VHT Flags¶
This module contains the vendor crawler for Radiotap VHT Flags,
which is automatically generating pcapkit.const.radiotap.vht_flags.VHTFlags.
- class pcapkit.vendor.radiotap.vht_flags.VHTFlags[source]¶
Bases:
FlagsRadiotap VHT Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_VHT_FLAG_STBC', 2: 'IEEE80211_RADIOTAP_VHT_FLAG_TXOP_PS_NA', 4: 'IEEE80211_RADIOTAP_VHT_FLAG_SGI', 8: 'IEEE80211_RADIOTAP_VHT_FLAG_SGI_NSYM_M10_9', 16: 'IEEE80211_RADIOTAP_VHT_FLAG_LDPC_EXTRA_OFDM_SYM', 32: 'IEEE80211_RADIOTAP_VHT_FLAG_BEAMFORMED'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
VHT Coding Flags¶
This module contains the vendor crawler for Radiotap VHT Coding Flags,
which is automatically generating pcapkit.const.radiotap.vht_coding.VHTCoding.
Timestamp Flags¶
This module contains the vendor crawler for Radiotap Timestamp Flags,
which is automatically generating pcapkit.const.radiotap.timestamp_flags.TimestampFlags.
HE Data1 Known Flags¶
This module contains the vendor crawler for Radiotap HE Data1 Known Flags,
which is automatically generating pcapkit.const.radiotap.he_data1_known.HEData1Known.
- class pcapkit.vendor.radiotap.he_data1_known.HEData1Known[source]¶
Bases:
FlagsRadiotap HE Data1 Known Flags
- NAMES: dict[int, str] = {4: 'IEEE80211_RADIOTAP_HE_DATA1_BSS_COLOR_KNOWN', 8: 'IEEE80211_RADIOTAP_HE_DATA1_BEAM_CHANGE_KNOWN', 16: 'IEEE80211_RADIOTAP_HE_DATA1_UL_DL_KNOWN', 32: 'IEEE80211_RADIOTAP_HE_DATA1_DATA_MCS_KNOWN', 64: 'IEEE80211_RADIOTAP_HE_DATA1_DATA_DCM_KNOWN', 128: 'IEEE80211_RADIOTAP_HE_DATA1_CODING_KNOWN', 256: 'IEEE80211_RADIOTAP_HE_DATA1_LDPC_XSYMSEG_KNOWN', 512: 'IEEE80211_RADIOTAP_HE_DATA1_STBC_KNOWN', 1024: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE_KNOWN', 2048: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE2_KNOWN', 4096: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE3_KNOWN', 8192: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE4_KNOWN', 16384: 'IEEE80211_RADIOTAP_HE_DATA1_BW_RU_ALLOC_KNOWN', 32768: 'IEEE80211_RADIOTAP_HE_DATA1_DOPPLER_KNOWN'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
HE Data2 Known Flags¶
This module contains the vendor crawler for Radiotap HE Data2 Known Flags,
which is automatically generating pcapkit.const.radiotap.he_data2_known.HEData2Known.
- class pcapkit.vendor.radiotap.he_data2_known.HEData2Known[source]¶
Bases:
FlagsRadiotap HE Data2 Known Flags
- VALUES: tuple[int, ...] = (16128, 32768)¶
Masks of the value subfields, which the schema splits off.
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_HE_DATA2_PRISEC_80_KNOWN', 2: 'IEEE80211_RADIOTAP_HE_DATA2_GI_KNOWN', 4: 'IEEE80211_RADIOTAP_HE_DATA2_NUM_LTF_SYMS_KNOWN', 8: 'IEEE80211_RADIOTAP_HE_DATA2_PRE_FEC_PAD_KNOWN', 16: 'IEEE80211_RADIOTAP_HE_DATA2_TXBF_KNOWN', 32: 'IEEE80211_RADIOTAP_HE_DATA2_PE_DISAMBIG_KNOWN', 64: 'IEEE80211_RADIOTAP_HE_DATA2_TXOP_KNOWN', 128: 'IEEE80211_RADIOTAP_HE_DATA2_MIDAMBLE_KNOWN', 16384: 'IEEE80211_RADIOTAP_HE_DATA2_RU_OFFSET_KNOWN'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
HE-MU Flags1 Known Flags¶
This module contains the vendor crawler for Radiotap HE-MU Flags1 Known Flags,
which is automatically generating pcapkit.const.radiotap.he_mu_flags1_known.HEMUFlags1Known.
- class pcapkit.vendor.radiotap.he_mu_flags1_known.HEMUFlags1Known[source]¶
Bases:
FlagsRadiotap HE-MU Flags1 Known Flags
- VALUES: tuple[int, ...] = (15, 32, 8192)¶
Masks of the value subfields, which the schema splits off.
- NAMES: dict[int, str] = {16: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_SIG_B_MCS_KNOWN', 64: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_SIG_B_DCM_KNOWN', 128: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_CH2_CTR_26T_RU_KNOWN', 256: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_CH1_RU_KNOWN', 512: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_CH2_RU_KNOWN', 4096: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_CH1_CTR_26T_RU_KNOWN', 16384: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_SIG_B_COMP_KNOWN', 32768: 'IEEE80211_RADIOTAP_HE_MU_FLAGS1_SIG_B_SYMS_USERS_KNOWN'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
HE-MU Flags2 Known Flags¶
This module contains the vendor crawler for Radiotap HE-MU Flags2 Known Flags,
which is automatically generating pcapkit.const.radiotap.he_mu_flags2_known.HEMUFlags2Known.
HE-MU-other-user Known Flags¶
This module contains the vendor crawler for Radiotap HE-MU-other-user Known Flags,
which is automatically generating pcapkit.const.radiotap.he_mu_other_user_known.HEMUOtherUserKnown.
L-SIG Data1 Flags¶
This module contains the vendor crawler for Radiotap L-SIG Data1 Flags,
which is automatically generating pcapkit.const.radiotap.lsig_data1.LSIGData1.
S1G Known Flags¶
This module contains the vendor crawler for Radiotap S1G Known Flags,
which is automatically generating pcapkit.const.radiotap.s1g_known.S1GKnown.
- class pcapkit.vendor.radiotap.s1g_known.S1GKnown[source]¶
Bases:
FlagsRadiotap S1G Known Flags
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_S1G_KNOWN_PPDU_FORMAT', 2: 'IEEE80211_RADIOTAP_S1G_KNOWN_RESPONSE_IND', 4: 'IEEE80211_RADIOTAP_S1G_KNOWN_GI', 8: 'IEEE80211_RADIOTAP_S1G_KNOWN_NSS', 16: 'IEEE80211_RADIOTAP_S1G_KNOWN_BW', 32: 'IEEE80211_RADIOTAP_S1G_KNOWN_MCS', 64: 'IEEE80211_RADIOTAP_S1G_KNOWN_COLOR', 128: 'IEEE80211_RADIOTAP_S1G_KNOWN_UPLINK_IND'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
U-SIG Common Known Flags¶
This module contains the vendor crawler for Radiotap U-SIG Common Known Flags,
which is automatically generating pcapkit.const.radiotap.usig_common_known.USIGCommonKnown.
- class pcapkit.vendor.radiotap.usig_common_known.USIGCommonKnown[source]¶
Bases:
FlagsRadiotap U-SIG Common Known Flags
- VALUES: tuple[int, ...] = (28672, 229376, 262144, 33030144, 4261412864)¶
Masks of the value subfields, which the schema splits off.
- NAMES: dict[int, str] = {1: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_PHY_VER_KNOWN', 2: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_KNOWN', 4: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_UL_DL_KNOWN', 8: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_BSS_COLOR_KNOWN', 16: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_TXOP_KNOWN', 32: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_BAD_USIG_CRC', 64: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_VALIDATE_BITS_CHECKED', 128: 'IEEE80211_RADIOTAP_EHT_USIG_COMMON_VALIDATE_BITS_OK'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
EHT Known Flags¶
This module contains the vendor crawler for Radiotap EHT Known Flags,
which is automatically generating pcapkit.const.radiotap.eht_known.EHTKnown.
- class pcapkit.vendor.radiotap.eht_known.EHTKnown[source]¶
Bases:
FlagsRadiotap EHT Known Flags
- NAMES: dict[int, str] = {2: 'IEEE80211_RADIOTAP_EHT_KNOWN_SPATIAL_REUSE', 4: 'IEEE80211_RADIOTAP_EHT_KNOWN_GI', 16: 'IEEE80211_RADIOTAP_EHT_KNOWN_EHT_LTF', 32: 'IEEE80211_RADIOTAP_EHT_KNOWN_LDPC_EXTRA_SYM_OM', 64: 'IEEE80211_RADIOTAP_EHT_KNOWN_PRE_PADD_FACOR_OM', 128: 'IEEE80211_RADIOTAP_EHT_KNOWN_PE_DISAMBIGUITY_OM', 256: 'IEEE80211_RADIOTAP_EHT_KNOWN_DISREGARD_O', 512: 'IEEE80211_RADIOTAP_EHT_KNOWN_DISREGARD_S', 8192: 'IEEE80211_RADIOTAP_EHT_KNOWN_CRC1', 16384: 'IEEE80211_RADIOTAP_EHT_KNOWN_TAIL1', 32768: 'IEEE80211_RADIOTAP_EHT_KNOWN_CRC2_O', 65536: 'IEEE80211_RADIOTAP_EHT_KNOWN_TAIL2_O', 131072: 'IEEE80211_RADIOTAP_EHT_KNOWN_NSS_S', 262144: 'IEEE80211_RADIOTAP_EHT_KNOWN_BEAMFORMED_S', 524288: 'IEEE80211_RADIOTAP_EHT_KNOWN_NR_NON_OFDMA_USERS_M', 1048576: 'IEEE80211_RADIOTAP_EHT_KNOWN_ENCODING_BLOCK_CRC_M', 2097152: 'IEEE80211_RADIOTAP_EHT_KNOWN_ENCODING_BLOCK_TAIL_M', 4194304: 'IEEE80211_RADIOTAP_EHT_KNOWN_RU_MRU_SIZE_OM', 8388608: 'IEEE80211_RADIOTAP_EHT_KNOWN_RU_MRU_INDEX_OM', 16777216: 'IEEE80211_RADIOTAP_EHT_KNOWN_RU_ALLOC_TB_FMT', 33554432: 'IEEE80211_RADIOTAP_EHT_KNOWN_PRIMARY_80'}¶
The source macro of each bit, keyed by mask, which is Linux’s.
Footnotes