wpl::wifi Namespace Reference

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< timestamptmp_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 addrtransmitter_address (const void *frame)
const addrbssid_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 > &)

Detailed Description

IEEE 802.11 compounds and operations.


Typedef Documentation

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.


Enumeration Type Documentation

anonymous enum
Enumerator:
similarity_score_limit 

Maximum number of unique frames to process when scoring individual traces for similarity().


Function Documentation

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.

template<class PhyH , class Hooks , class Src >
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.

Parameters:
[in] frm PCAP frame descriptor of the frame.
Returns:
A dissector object that has parsed the frame.
See also:
dissector
template<class Id1 , class Id2 , class Id3 , class Id4 >
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.


Generated by  doxygen 1.6.2