select() and dropped packets
Hi,
I have written a small sniffer which sits there and looks for wireless
traffic on a raw socket. The device is a WiFi card; driver madwifi.
I'm using select() to see whether there is something to read or not.
The rough structure is like this:
while(1)
{
select()
recv()
process()
output()
}
The app is running on Debian on an AMD 486 single board computer,
i.e., quite limited processing power.
Problem 1:
In a crowded environment, I am not getting all packets that are sent
by wireless devices around me. How can I quantify the number of
packets that I'm getting (i.e., processing in my loop) versus the
total number of packets seen by the device, but dropped due to
limited processing power?
Problem 2:
Is there a more efficient way to capture packets off the device such
that the number of captured packets is maximized?
Thanks in advance,
- Daniel.
|