IEEE 802.11 compounds and operations. More...
Namespaces | |
| namespace | anon |
| namespace | ctl |
| namespace | data |
| namespace | dissector_status |
| namespace | internals |
| namespace | merge_helpers |
| namespace | mgt |
| namespace | similarity_helpers |
| namespace | subtype |
| namespace | type |
Classes | |
| struct | dissector_default_hooks |
| Default (empty) hooks to be used with dissector. More... | |
| struct | dissector |
| IEEE 802.11 frame parser. More... | |
| struct | ssid_elt |
| struct | essid |
| struct | bssid_address_hooks |
| Helper hooks for bssid_address(). More... | |
| struct | time_converter |
Convert a time_tracker microsecond count to various PCAP and PHY fields. More... | |
| struct | timestamp |
| IEEE 802.11 timestamp frame element. More... | |
| struct | unique_id_factory< hsh_80211_id > |
| struct | unique_id_factory< hsh_80211_x_id > |
| struct | unique_id_factory< hsh_en2_id > |
| struct | unique_id_factory< seq_bss_tmp_id > |
| struct | unique_id_factory< seq_dst_bss_tmp_id > |
| struct | unique_id_factory< seq_src_bss_tmp_id > |
| struct | unique_id_factory< seq_tmp_id > |
| struct | unique_id_factory< src_bss_tmp_id > |
| struct | unique_id_factory< tmp_id > |
| struct | unique_id |
| Identifier for uniquely identifiable frames. More... | |
Typedefs | |
|
typedef tool::addr< uint8_t, 6, true, ':'> | addr |
| typedef tool::mapping< addr, unsigned, internals::addr_mapping_factory > | addr_mapping |
|
typedef unique_id < internals::hash_value, internals::empty < internals::hsh_80211_tag > > | hsh_80211_id |
|
typedef unique_id < internals::hash_value, internals::empty < internals::hsh_80211_x_tag > > | hsh_80211_x_id |
|
typedef unique_id < internals::hash_value, internals::empty < internals::hsh_en2_tag > > | hsh_en2_id |
|
typedef unique_id < internals::adapter< uint16_t, internals::seq_bss_tmp_tag1 > , internals::adapter< unsigned, internals::seq_bss_tmp_tag2 > , timestamp > | seq_bss_tmp_id |
|
typedef unique_id < internals::adapter< uint16_t, internals::seq_dst_bss_tmp_tag1 > , internals::adapter< unsigned, internals::seq_dst_bss_tmp_tag2 > , internals::adapter< unsigned, internals::seq_dst_bss_tmp_tag3 > , timestamp > | seq_dst_bss_tmp_id |
|
typedef unique_id < internals::adapter< uint16_t, internals::seq_src_bss_tmp_tag1 > , internals::adapter< unsigned, internals::seq_src_bss_tmp_tag2 > , internals::adapter< unsigned, internals::seq_src_bss_tmp_tag3 > , timestamp > | seq_src_bss_tmp_id |
|
typedef unique_id < internals::adapter< uint16_t, internals::seq_tmp_tag > , timestamp > | seq_tmp_id |
|
typedef unique_id < internals::adapter< unsigned, internals::src_bss_tmp_tag1 > , internals::adapter< unsigned, internals::src_bss_tmp_tag2 > , timestamp > | src_bss_tmp_id |
| typedef unique_id< timestamp > | tmp_id |
Enumerations | |
| enum | { similarity_score_limit = 250000 } |
Functions | |
| template<class Phy , class AnonPolicy , class S > | |
| void | anonymize (AnonPolicy &anon_policy, pkt::packet< S > &frm) |
| template<class Phy , class AnonPolicy > | |
| void | anonymize (AnonPolicy &anon_policy, pkt::metadata &meta, void *const bytes, const bool swapped=false, const std::string *const pkt_str=0) |
| template<class PhyH , class Hooks , class Src > | |
| dissector< Hooks > | dissect (const pkt::packet< Src > &frm, const Hooks &hooks=Hooks()) |
| std::ostream & | operator<< (std::ostream &o, const essid &s) |
| std::istream & | operator>> (std::istream &i, essid &s) |
| unsigned | protocol_version_of (const void *) |
| type::frame_type | type_of (const void *) |
| unsigned | subtype_of (const void *) |
| uint8_t | control_flags_of (const void *) |
| bool | control_flag (const unsigned flag, const void *frame) |
| bool | to_ds (const void *) |
| bool | from_ds (const void *) |
| unsigned | duration_of (const void *) |
| boost::optional< unsigned > | fragment_number_of (const void *, size_t caplen) |
| boost::optional< unsigned > | sequence_number_of (const void *, size_t caplen) |
| const addr * | transmitter_address (const void *frame) |
| const addr * | bssid_address (const void *, size_t caplen=30) |
| std::ostream & | operator<< (std::ostream &, const timestamp &) |
| template<class UniqueId , class PhyHeader , template< class, class, class > class Intersector, template< class, class, class, class > class Merger, class C > | |
| std::string | merge (C &traces, opt::list &options) |
| template<class UniqueId , class PhyHeader , template< class, class, class > class Intersector, template< class, class, class, class > class Merger, class T1 , class T2 > | |
| void | merge (T1 &t1, T2 &t2, const std::string &output, opt::list &options) |
| template<class UniqueId , class PhyHeader , template< class, class, class > class Intersector, template< class, class, class, class > class Merger, class C > | |
| std::string | merge_and_synchronize (C &traces, opt::list &options) |
| template<class UniqueId , class PhyHeader , template< class, class, class > class Intersector, class C > | |
| std::set< boost::tuple < unsigned, typename C::iterator, typename C::iterator > > | similarity (C &traces, opt::list &options) |
| WP_define_addr_tmp_id (dst, mgt::header::da) WP_define_addr_tmp_id(src | |
| template<class Id1 , class Id2 , class Id3 , class Id4 > | |
| std::ostream & | operator<< (std::ostream &, const unique_id< Id1, Id2, Id3, Id4 > &) |
IEEE 802.11 compounds and operations.
| typedef tool::mapping<addr, unsigned, internals::addr_mapping_factory> wpl::wifi::addr_mapping |
IEEE 802.11 address to integer mapping designed to be stored into a database file.
Load the mapping from the file at creation when the file exists. Store it at deletion so it could be used later, or loaded in a database using a LOAD DATA INFILE SQL command.
| anonymous enum |
| const addr * wpl::wifi::bssid_address | ( | const void * | frame, | |
| size_t | caplen = 30 | |||
| ) | [inline] |
Get a pointer to the frame's BSSID address.
When the frame holds an address that represents a BSSID address, return a pointer to it. Return 0 else.
Some frames holds multiple BSSID addresses (data frames with both the To DS and From DS flags set). In this case, return the transmitter BSSID address.
| dissector< Hooks > wpl::wifi::dissect | ( | const pkt::packet< Src > & | frm, | |
| const Hooks & | hooks = Hooks () | |||
| ) | [inline] |
Dissect a IEEE 802.11 frame given a PCAP frame descriptor .
This function extracts the IEEE 802.11 content of a PCAP frame, builds a dissector object and use it to parse the extracted frame.
| [in] | frm | PCAP frame descriptor of the frame. |
| std::ostream & wpl::wifi::operator<< | ( | std::ostream & | os, | |
| const unique_id< Id1, Id2, Id3, Id4 > & | ui | |||
| ) | [inline] |
Dump a uniquely identifiable frame onto a C++ stream.
| const addr * wpl::wifi::transmitter_address | ( | const void * | frame | ) | [inline] |
Get a pointer to the frame's transmitter address.
When the frame holds the address of its transmitter, return a pointer to it. Return 0 else. Note that this function extracts the transmitter address, not the sender address.
1.6.2