From 039b41cb767c2e4ea3fb9efd2e06404ecd1557c8 Mon Sep 17 00:00:00 2001 From: Santiago Alessandri Date: Fri, 29 Aug 2014 18:20:15 -0700 Subject: [PATCH] Updated the examples to work with the new Sniffer constructor using the SnifferConfiguration object. --- examples/arpmonitor.cpp | 8 ++++++-- examples/beacon_display.cpp | 6 +++++- examples/dns_queries.cpp | 7 ++++--- examples/dns_spoof.cpp | 7 ++++--- examples/dns_stats.cpp | 6 ++++-- examples/portscan.cpp | 4 +++- examples/traceroute.cpp | 10 ++++++---- examples/wps_detect.cpp | 6 +++++- tests/CMakeLists.txt | 1 + 9 files changed, 38 insertions(+), 17 deletions(-) diff --git a/examples/arpmonitor.cpp b/examples/arpmonitor.cpp index 7d9a527..16655ff 100644 --- a/examples/arpmonitor.cpp +++ b/examples/arpmonitor.cpp @@ -87,10 +87,14 @@ int main(int argc, char *argv[]) return 1; } arp_monitor monitor; + // Sniffer configuration + SnifferConfiguration config; + config.set_promisc_mode(true); + config.set_filter("arp"); + // Sniff on the provided interface in promiscuous mode - Sniffer sniffer(argv[1], Sniffer::PROMISC); + Sniffer sniffer(argv[1], config); // Only capture arp packets - sniffer.set_filter("arp"); monitor.run(sniffer); } diff --git a/examples/beacon_display.cpp b/examples/beacon_display.cpp index 37e9f8a..042d7a0 100644 --- a/examples/beacon_display.cpp +++ b/examples/beacon_display.cpp @@ -47,7 +47,11 @@ private: }; void BeaconSniffer::run(const std::string &iface) { - Sniffer sniffer(iface, Sniffer::PROMISC, "type mgt subtype beacon", true); + SnifferConfiguration config; + config.set_promisc_mode(true); + config.set_filter("type mgt subtype beacon"); + config.set_rfmon(true); + Sniffer sniffer(iface, config); sniffer.sniff_loop(make_sniffer_handler(this, &BeaconSniffer::callback)); } diff --git a/examples/dns_queries.cpp b/examples/dns_queries.cpp index 8327c7c..05d9412 100644 --- a/examples/dns_queries.cpp +++ b/examples/dns_queries.cpp @@ -55,10 +55,11 @@ int main(int argc, char *argv[]) return 1; } // Sniff on the provided interface in promiscuos mode - Sniffer sniffer(argv[1], Sniffer::PROMISC); - + SnifferConfiguration config; + config.set_promisc_mode(true); // Only capture udp packets sent to port 53 - sniffer.set_filter("udp and dst port 53"); + config.set_filter("udp and dst port 53"); + Sniffer sniffer(argv[1], config); // Start the capture sniffer.sniff_loop(callback); diff --git a/examples/dns_spoof.cpp b/examples/dns_spoof.cpp index f44e6cd..ace62af 100644 --- a/examples/dns_spoof.cpp +++ b/examples/dns_spoof.cpp @@ -90,10 +90,11 @@ int main(int argc, char *argv[]) return 1; } // Sniff on the provided interface in promiscuos mode - Sniffer sniffer(argv[1], Sniffer::PROMISC); - + SnifferConfiguration config; + config.set_promisc_mode(true); // Only capture udp packets sent to port 53 - sniffer.set_filter("udp and dst port 53"); + config.set_filter("udp and dst port 53"); + Sniffer sniffer(argv[1], config); // All packets will be sent through the provided interface sender.default_interface(argv[1]); diff --git a/examples/dns_stats.cpp b/examples/dns_stats.cpp index f1ed23a..0a23d33 100644 --- a/examples/dns_stats.cpp +++ b/examples/dns_stats.cpp @@ -166,8 +166,10 @@ int main(int argc, char *argv[]) { return 1; } try { - Sniffer sniffer(argv[1], Sniffer::PROMISC); - sniffer.set_filter("udp and port 53"); + SnifferConfiguration config; + config.set_promisc_mode(true); + config.set_filter("udp and dst port 53"); + Sniffer sniffer(argv[1], config); dns_monitor monitor; std::thread thread( [&]() { diff --git a/examples/portscan.cpp b/examples/portscan.cpp index ceb74da..af8550d 100644 --- a/examples/portscan.cpp +++ b/examples/portscan.cpp @@ -117,7 +117,9 @@ void scan(int argc, char *argv[]) { cout << "Sniffing on interface: " << iface.name() << endl; // 300 bytes are enough to receive SYNs and RSTs. - Sniffer sniffer(iface.name(), 300); + SnifferConfiguration config; + config.set_snap_len(300); + Sniffer sniffer(iface.name(), config); sniffer_data data(&sniffer, argv[1]); pthread_t thread; // Launch our sniff thread. diff --git a/examples/traceroute.cpp b/examples/traceroute.cpp index a04714e..7a39016 100644 --- a/examples/traceroute.cpp +++ b/examples/traceroute.cpp @@ -47,10 +47,12 @@ public: result_type trace() { // ICMPs that aren't sent from us. - Sniffer sniffer( - iface.name(), 500, false, - "ip proto \\icmp and not src host " + iface.addresses().ip_addr.to_string() - ); + SnifferConfiguration config; + config.set_snap_len(500); + config.set_promisc_mode(false); + config.set_filter( + "ip proto \\icmp and not src host " + iface.addresses().ip_addr.to_string()); + Sniffer sniffer(iface.name(), config); PacketSender sender; // Create our handler diff --git a/examples/wps_detect.cpp b/examples/wps_detect.cpp index 6f690ff..c87d435 100644 --- a/examples/wps_detect.cpp +++ b/examples/wps_detect.cpp @@ -69,6 +69,10 @@ int main(int argc, char *argv[]) { return 1; } // Only sniff beacons - Sniffer sniffer(argv[1], 2000, true, "wlan type mgt subtype beacon"); + SnifferConfiguration config; + config.set_snap_len(2000); + config.set_promisc_mode(true); + config.set_filter("wlan type mgt subtype beacon"); + Sniffer sniffer(argv[1], config); sniffer.sniff_loop(handler); } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0b7b64c..9b20d87 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,5 +1,6 @@ FIND_PACKAGE(GTest) IF(GTEST_FOUND) + INCLUDE_DIRECTORIES(${GTEST_INCLUDE_DIRS}) ADD_SUBDIRECTORY(src) ELSE(GTEST_FOUND) MESSAGE(WARNING "Google test not found. Disabling tests.")