我家里有一个无线路由器,它由五台不同的电脑和两部 iPhone 共用。最近我注意到网速急剧下降。当然,我以为网络中有其他人,但在检查 DHCP 分配的地址后,我只看到了我的机器。有效机器。
因此,我必须得出结论,我家里有人违反了荣誉准则,全天都在下载东西。
有什么方法可以让我查看哪台计算机消耗的带宽最多?
我有一个无线 Linksys WRT54G 路由器。
答案1
WRT54G 的 DD-WRT 固件可以将流量信息发送到 MySQL 数据库。
http://www.dd-wrt.com/wiki/index.php/Using_RFlow_Collector_and_MySQL_To_Gather_Traffic_Information
在安装之前,请确保您的 WRT54G 版本受支持。
http://www.dd-wrt.com/wiki/index.php/Supported_Devices#Cisco
答案2
请注意,使用无线网络时,您不能仅通过查看传输的数据量来判断谁是最大的传输者。您还必须查看所使用的信号传输速率。
以下是一个示例:
假设你进行了 60 秒的采样,发现在这段时间内,一个客户端传输了近 7 千兆比特,而另一个客户端只传输了 45 兆比特。谁是最大的传输者?
好吧,如果 7 千兆位的人是一个现代 3 空间流 802.11n 客户端,获得最高端 450 兆比特每秒的信号传输速率,那么他在 60 秒的样本中只使用了四分之一的空中时间。
如果另一个人距离 AP 较远,仅获得最低 1 兆比特每秒的信号传输速率,他可能要花费 45 秒的空中时间来传输那微不足道的 45 兆比特。
如果不看信令速率,我们很容易看到 7 千兆比特的家伙并认为它是占用最大带宽,而实际上它只使用了 1/4 的时间,而 45 兆比特的家伙使用了 3/4 的时间。
这是一个极端的例子,我通过忽略协议开销和重传来将其简化,但要点仍然成立。无论您选择哪种解决方案,请确保它考虑了使用的空中时间,而不仅仅是传输的数据。
答案3
一些无线网卡可以进入“监控模式”,这样你就可以看到在给定通道上传输的所有内容。我只知道如何在 Linux 上执行此操作:
- 停止使用无线网卡,即告诉任何网络配置软件取消其配置,并确保它未启动(ifconfig)。如果您正在使用 NetworkManager,则可能必须完全停止它以防止它干扰此实验。
将卡置于监控模式。如果失败,可能是因为卡或驱动程序不支持它。
iwconfig wlan0 mode Monitor
设置正确的频道(您的网络使用的频道):
iwconfig wlan0 channel <number>
设置卡。
ifconfig wlan0 up
启动 Wireshark 并捕获 wlan0。请注意,此捕获与常规捕获不同,因为您将看到原始无线帧,而不仅仅是以太网有效负载。如果有效负载已加密,您也将无法看到它。但是,您将能够看到 IEEE 802.11 标头中的 MAC 地址。请注意,接入点将帧从一个客户端转发到另一个客户端,因此预计会发现大量往返于接入点的流量。您可以通过 MAC 地址识别接入点,该地址印在接入点外壳上。然后您需要做的就是找到发送或接收最多数据的客户端。您可以使用显示过滤器来帮助您,例如过滤掉不是来自您网络的流量。