使用C#监控Internet连接

时间:2011-01-15 07:42:13

标签: c# monitor wireless router

我想监控我的路由器以查看当前正在downloaded的内容以及initiate ituser执行此操作的用户和download speed用户{{1}}占据 我获得了无线连接和路由器所需的所有凭证 像C#中那样的任何先发制人?

这个想法

alt text

1 个答案:

答案 0 :(得分:2)

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

如果你的路由器有,那么通常有两种方法可以使这些数据可用:

1)通过HTTP接口(密码保护) 要么 2)通过SNMP接口

要检索相应的HTTP URL,您只需像获取任何其他网页一样获取它。尝试类似:http://www.csharp-station.com/HowTo/HttpWebFetch.aspx 要检索SNMP设置,有许多选项;试试这个问题:What SNMP library for .NET makes traps, sets or gets simple?

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

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

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

另外,如果你知道哪台机器在进行下载,并且正在运行Windows,你可以使用WMI(“perfmon.exe”来绘制这个)来查看在实际机器上传输了多少数据。