Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I just want to figure out which wireless client is sucking my bandwidth (it's slowing down my Starcraft games :-/).

I have a Linksys WRT54G router (Linux version). For firmware, I'm currently using Tomato but I'm willing to consider a different firmware. Anyone have recommendations?

PS: I'm aware of Bandwidth graphs in Tomato. However, it is not granular enough to give me an idea of how much bandwidth each device is using

share|improve this question
    
As you look for tools, remember that you're looking for who's using the most airtime, not who has the most throughput. A client getting 500kbps of throughput using the 1mbps data rate is hogging much more airtime than a client getting 5mbps of throughput using the 54mbps data rate. –  Spiff Dec 1 '10 at 3:28
    
Have you looked at ddwrt? If I remember correctly you could actually see each clients bandwidth usage in it. –  MrStatic Dec 1 '10 at 4:16
    
I tried ddwrt in the past but didn't see this feature. I'll look into it again. –  Belmin Fernandez Dec 1 '10 at 4:19
2  
Only the paid version of DD-WRT has granular bandwidth monitoring. All the free versions just show graphs on current usage for the WAN, LAN, and Wireless network interfaces. –  Force Flow Dec 6 '10 at 6:09
    
@Force can you submit that as an answer please? I'm hoping for a free solution but, if nobody else gives any other suggestions, I'll choose yours. –  Belmin Fernandez Dec 6 '10 at 6:23
add comment

5 Answers

up vote 2 down vote accepted
+50

It seem that tomato with iptables can be used as bandwith monitor. detailed instructions

share|improve this answer
add comment

I do not understand why you cannot selectively block clients from the network, until you empirically find the guilty one.

If you are looking for a more high-tech method, you may try using a packet sniffer, also called packet analyzer, to analyze all traffic on the network from your computer instead of from your router.

A packet sniffer can capture packet information within its subnet, even if these packets are not addressed to your computer. The feasibility of this method depends on the behavior of the router and whether it broadcasts all network packets or not. Wireless networks are of course much easier to snif than wired.

See this article, Free Packet Sniffer Software, for a list of such products (not all are available for Linux). The best known sniffer is Wireshark.

See also this article : Sniffing Traffic on Your Home Router or Hub.

share|improve this answer
2  
instructions how to use wireshark to determine bandwith sysadminhell.blogspot.com/2008/04/… –  bbaja42 Dec 6 '10 at 12:02
add comment

Only the paid version of DD-WRT has granular bandwidth monitoring. All the free versions just show graphs on current usage for the WAN, LAN, and Wireless network interfaces. (re-posted as an answer as requested)

share|improve this answer
add comment

You could use Wireshark. Wireshark's IO graph feature can show you when and where your bandwidth is going.

This document has info on using Wireshark to sniff a wireless network:

http://www.willhackforsushi.com/books/377_eth_2e_06.pdf

Downside is that you need to have one of a short list of certain specific adapters to do this.

share|improve this answer
add comment

wireshark or kismet could both tell you this....wireshark's traffic graph might be more precise, but grepping the pcap file from a full kismet dump for each MAC on your network with the count option works from the command-line. go command line fu. i seem to remember there being a way to view traffic percentages by MAC address in kismet, but i'll have to get back to you on that last part.

share|improve this answer
    
'~Wl' gives you the client list checking to see if it is sortable by bandwidth –  hbdgaf Dec 11 '10 at 1:12
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.