I need a simple application written in pure C (no C++, MFC, or ATL) that should do the following:
1. It should capture all wireless packets
2. Log the MAC address of each incoming packet
3. Log the signal strength for the packet
4. Log the channel the packet was received on
5. The system must be able to still use the wireless network for normal tasks (web browsing, etc).
The output just needs to be dumped into a text file, so no user interface is necessary, and each packet can just be appended to the file as it's received.
You can see an example of how someone else implemented the functionality (plus quite a bit more) at the below link, specifically the program AirCapture. It looks like they implemented their own Protocol Layer Driver... Using this approach is fine, or if their is some way to use OOB data to do the same thing, that is fine.
[url removed, login to view]
Use of WinPcap as the underlying system for capturing packets is acceptable, and might be the easiest method. In this case, it's important that it's able to capture as many inbound requests as possible. Capturing outbound packets isn't critical (I believe this is a known problem with WinPcap.
It should be as compatible as possible with as many wireless cards as possible, although as long as it works with several of the more popular ones, that is fine. Support for the PRISM2 chipset is probably the easiest way to accomplish it.
It only needs to be able to work on Win2k and XP, so no need to bother with 9x/ME.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
Windows XP/2000 Only