From bed4c80f31051ec47463caa3e9511374062c6536 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 7 Apr 2017 13:27:55 +0200 Subject: o Better CMake checks. o Checking command line arguments. --- CMakeLists.txt | 14 +++++++++++--- README.md | 12 ++++++++++++ main.cpp | 8 +++++++- 3 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 README.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 9712cca..ba802f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,13 +1,21 @@ cmake_minimum_required(VERSION 3.6) -project(wifi_triangulator) +include(CheckIncludeFiles) +include(CheckLibraryExists) +project(wifi-triangulator) set(CMAKE_CXX_STANDARD 14) +check_include_files("pcap.h" HAVE_PCAP_H) + +if(NOT HAVE_PCAP_H) + message(FATAL_ERROR "Missing pcap.h. You should probably install libpcap-dev or similar.") +endif() + set(SOURCE_FILES main.cpp third-party/radiotap-library/radiotap.c third-party/radiotap-library/radiotap.h third-party/radiotap-library/radiotap_iter.h third-party/radiotap-library/platform.h) -add_executable(wifi_triangulator ${SOURCE_FILES}) +add_executable(wifi-triangulator ${SOURCE_FILES}) -target_link_libraries(wifi_triangulator PUBLIC pcap) +target_link_libraries(wifi-triangulator PUBLIC pcap) diff --git a/README.md b/README.md new file mode 100644 index 0000000..8d94a33 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# Building + + mkdir build + cd build + cmake .. + make + +# Running + + sudo ifconfig wlan0 down + sudo iwconfig wlan0 mode monitor + sudo build/wifi-triangulator wlan0 diff --git a/main.cpp b/main.cpp index e862ee1..9f3028e 100644 --- a/main.cpp +++ b/main.cpp @@ -327,9 +327,15 @@ void got_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *pa } int main(int argc, char *argv[]) { - char *dev = argv[1]; char errbuf[1000]; + if (argc != 2) { + fprintf(stderr, "usage: %s [interface]\n", argv[0]); + return EXIT_FAILURE; + } + + char *dev = argv[1]; + pcap_t *handle; handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf); -- cgit v1.2.3