Functor to create WIT data files from PCAP traces. More...
#include </tmp/wipal-release/src/wit-import/wit_importer.hh>
Classes | |
struct | hooks |
Parse a 802.11 frame and retrieve some fields that wit::importer needs. More... | |
Public Types | |
enum | error { success = 0, malformed_frame = 1, malformed_prism = 2, malformed_802 = 3, malformed_other = 4, driver_reported = 5, unexpected_section = 6, bad_length = 7, bad_type_subtype = 8 } |
Public Member Functions | |
importer (const std::string &prefix) | |
template<class T > | |
void | operator() (const wpl::pkt::packet< T > &d) |
Protected Types | |
enum | { channels_max = 14 } |
Protected Member Functions | |
std::string | handle_time_data (const wpl::pkt::metadata &) |
void | handle_malformed_prism () |
const wpl::prism::header * | handle_prism_header (const std::string &time_string, const void *, size_t caplen) |
Static Protected Member Functions | |
static std::string | frames_data_filename (const std::string &, unsigned) |
static std::string | mapping_filename (const std::string &, unsigned) |
Protected Attributes | |
unsigned | last_channel_ |
boost::posix_time::ptime | last_frame_ |
unsigned | last_id_ [channels_max] |
std::vector< wpl::tool::datafile > | frames_data_ |
std::vector < wpl::wifi::addr_mapping > | mappings_ |
Static Protected Attributes | |
static const std::string | db_null = "\\N" |
Functor to create WIT data files from PCAP traces.
The created data files are designed to be loaded into databases using LOAD DATA INFILE SQL commands.
wit::importer::importer | ( | const std::string & | prefix | ) |
Contruct a wit::importer given a prefix to use for data files.
The created data files will have the name <prefix>_c<channel> (for raw frames) and
<prefix>_c<channel>_MACIndex (for address to integer mappings).
const wpl::prism::header * wit::importer::handle_prism_header | ( | const std::string & | time_string, | |
const void * | p, | |||
size_t | caplen | |||
) | [inline, protected] |
Parse a frame's Prism header and update data files accordingly.
void wit::importer::operator() | ( | const wpl::pkt::packet< T > & | d | ) | [inline] |
Import a frame in the data files.
[in] | h | Pointer to the frame's PCAP header. |
[in] | p | Pointer to the frame. |