From b880ae0cd3a7bbf635817faf042990067966b037 Mon Sep 17 00:00:00 2001 From: Andreabont Date: Sun, 7 Oct 2012 22:12:41 +0200 Subject: [PATCH] fix --- Riddle.cpp | 22 ++++++++++++++++++---- libraries/libRiddle.cpp | 8 -------- libraries/libRiddle.h | 2 -- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Riddle.cpp b/Riddle.cpp index 190f5d3..d699126 100644 --- a/Riddle.cpp +++ b/Riddle.cpp @@ -109,11 +109,16 @@ int main ( int argc, char **argv ) { pcap_t *pcap_handle; if ( vm.count ( "input" ) ) { + pcap_handle = pcap_open_offline ( vm["input"].as().c_str(), error_buffer ); + if ( pcap_handle == NULL ) { - pcap_fatal ( "pcap_open_offline", error_buffer ); + cerr << "ERROR >> pcap_open_offline: " << error_buffer << endl; + return EXIT_FAILURE; } + cerr << ">> Reading packets from " << vm["input"].as() << endl; + } else { string pcap_device; @@ -121,17 +126,26 @@ int main ( int argc, char **argv ) { if ( vm.count ( "iface" ) ) { pcap_device=vm["iface"].as(); } else { + // Cerca e restituisce interfaccia char *dev=pcap_lookupdev ( error_buffer ); - if ( dev!=NULL ) pcap_device = dev; - else pcap_fatal ( "pcap_lookupdev", error_buffer ); + if ( dev!=NULL ) { + pcap_device = dev; + } else { + cerr << "ERROR >> pcap_lookupdev: " << error_buffer << endl; + return EXIT_FAILURE; + } + } // Apre il device in mod promiscua pcap_handle = pcap_open_live ( pcap_device.c_str(), 4096, 1, 0, error_buffer ); + if ( pcap_handle == NULL ) { - pcap_fatal ( "pcap_open_live", error_buffer ); + cerr << "ERROR >> pcap_open_live: " << error_buffer << endl; + return EXIT_FAILURE; } + cerr << ">> Sniffing on device " << pcap_device << endl; } diff --git a/libraries/libRiddle.cpp b/libraries/libRiddle.cpp index 527f577..8ae256c 100644 --- a/libraries/libRiddle.cpp +++ b/libraries/libRiddle.cpp @@ -34,14 +34,6 @@ #include "libRiddle.h" #include "../commons/libDump.h" -// Non mettere using namespace generali in header file. - -void pcap_fatal ( const char *error_in, const char *error_buffer ) { - std::stringstream ss; - ss<<"Fatal Error in "<