Commit Graph

13 Commits

Author SHA1 Message Date
Robert McMahon fb7dca0137 Show capture statistics immediately after capture completes
- Display stats right after 'Capturing packets' line completes
- Show packet count, PLCP count, and packet rate immediately
- Move sample packets display after stats
- Reorganize output for better readability

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:54:11 -08:00
Robert McMahon b80a9d818b Fix test_monitor_tshark.sh to always show counters
- Add message that capture may take time
- Always display packet and PLCP counts
- Better parsing of tshark output
- Separate warnings/errors from packet data
- Show note if packets captured but no PLCP headers

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:52:07 -08:00
Robert McMahon cc180b7868 Improve test_monitor_tshark.sh output and error handling
- Add progress messages and debug output
- Show tshark warnings/errors
- Always display counters even if no packets captured
- Better handling of empty output
- Show sample packets when available
- Add DLT check before capture

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:51:54 -08:00
Robert McMahon a98a255147 Add PLCP header counting to test_monitor_tshark.sh
- Add radiotap.present field to capture output
- Count packets with PLCP headers (radiotap information)
- Display PLCP count in both test capture and final summary
- Show warning if no PLCP headers detected (may indicate wrong DLT)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:50:00 -08:00
Robert McMahon 5827518041 Fix compilation errors in monitor.c
- Add forward declaration for verify_monitor_mode
- Initialize cb to NULL in verify_monitor_mode
- Add missing nla_put_failure label and error handling

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:49:06 -08:00
Robert McMahon 680253c120 Improve test_monitor_tshark.sh: add duration option and better packet counting
- Add duration parameter (3rd argument, default 10 seconds, minimum 1 second)
- Change initial check to capture for 1 second instead of just 1 packet
- Count packets from actual capture output instead of running twice
- Fix field names (use wlan.fc.type/subtype instead of wlan.type)
- Show packet count summary at the end
- Display more packets (50 instead of 20)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:47:51 -08:00
Robert McMahon fa93fc26f1 Add tshark test script and fix monitor mode setup
- Add test_monitor_tshark.sh to verify monitor mode works with tshark
- Fix set_monitor_mode to wait for Netlink response
- Improve libpcap initialization with pcap_create/pcap_set_rfmon/pcap_activate
- Add interface up/down control before/after setting monitor mode
- Add verification step to confirm monitor mode was set correctly

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 13:44:28 -08:00
Robert McMahon 122484463f Improve channel verification and add debug output
- Add fallback channel verification using 'iw' command
- Show data link type on startup
- Print first 10 non-data frames for debugging
- Add periodic status during capture loop

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 11:54:48 -08:00
Robert McMahon 2fcc2e9691 Add channel verification after setting monitor mode
- Add get_current_channel() function to query actual channel/frequency
- Add freq_to_channel() helper to convert frequency back to channel
- Display verified channel and frequency after setting monitor mode
- Warn if requested channel doesn't match actual channel

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 11:52:56 -08:00
Robert McMahon f9acd111f6 Update README.md: fix pkg-config package name for Fedora
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 13:34:41 -08:00
Robert McMahon 7fc038afcf Add INSTALL.md with dependency installation instructions for Fedora and Debian
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 13:33:41 -08:00
Robert McMahon bd34a6c249 Fix build system issues
- Remove obsolete AC_PROG_CC_C99 macro
- Fix Makefile.am: remove undefined wireless_monitor_HEADERS
- Add missing automake helper scripts

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 13:30:32 -08:00
Robert McMahon 38fbce9061 Initial commit: Linux wireless monitor for ESP32 verification
A C program using GNU Automake for capturing and parsing 802.11 WiFi
frame headers in monitor mode. Designed to verify ESP32 monitor code
by comparing Linux vs ESP32 frame parsing.

Features:
- Monitor mode setup using libnl3
- Packet capture using libpcap
- 802.11 frame parsing (RA, TA, duration, retry flag)
- MAC address filtering (matches ESP32 filter behavior)
- Output format matches ESP32 debug logs for easy comparison

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 13:26:17 -08:00