0

我想监视我的路由器以查看当前正在运行的downloaded以及使用什么应用程序/软件initiate it,谁在user执行此操作以及download speed该用户占用了我的无线连接和路由器所需的所有凭据,
例如在 C# ?

这个想法

替代文字

4

1 回答 1

2

首先:您甚至知道您的路由器可以做到这一点吗?我见过的大多数路由器都没有这种级别的流量理解和管理。

如果您的路由器这样做,那么通常可以通过以下两种方式之一提供此类数据:

1) 通过 HTTP 接口(受密码保护)或 2) 通过 SNMP 接口

要检索适当的 HTTP URL,您只需像获取任何其他网页一样获取它。尝试类似:http://www.csharp-station.com/HowTo/HttpWebFetch.aspx 要检索 SNMP 设置,有很多选项;试试这个问题:什么 .NET 的 SNMP 库使陷阱、设置或变得简单?

但是,您的路由器很可能实际上不会提供此信息。

所以,编辑:如果你的路由器不支持侧链,也不支持 SNMP 或类似的统计数据,那么你不能在一般意义上这样做。

您可以启动一个 Linux 机器作为机器的网关,并使用 NAT 会话统计信息来监控它。这样做的方法是拥有两个网络接口(逻辑或物理),其中一个从您的调制解调器获取 IP,另一个是无线网络的默认网关。打开 IP 转发和伪装 (NAT) 以及无线网络侧的 DHCP 服务器。现在,您可以使用 iptables 查看活动的 NAT 会话以及已传输的数据量。您还可以使用数据包过滤器来获取更具体的信息。

此外,如果您知道哪台机器正在下载,并且正在运行 Windows,则可以使用 WMI(“perfmon.exe”来绘制此图)查看实际机器上正在传输的数据量。

于 2011-01-15T08:06:41.460 回答