【问题标题】:Monitor Internet Connection using C#使用 C# 监控 Internet 连接
【发布时间】:2011-01-15 07:42:12
【问题描述】:

我想监控我的路由器以查看当前downloaded 是什么以及initiate ituserdownload speed该用户占用了哪些应用程序/软件 我获得了无线连接和路由器所需的所有凭据
在 C# 中是否有类似的开始?

想法

【问题讨论】:

  • 为什么要重新发明轮子?已经有可用的软件可以做到这一点。您是否有任何特殊原因需要在自己的应用中使用此功能?
  • 你能指出其中的一些吗?

标签: c# monitor wireless router


【解决方案1】:

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

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

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”来绘制此图)查看实际机器上正在传输的数据量。

【讨论】:

  • 我不认为我的路由器可以做到这一点,我希望我的应用程序首先监听路由器的来电/响应,看看我编辑的问题
猜你喜欢
  • 2015-08-14
  • 1970-01-01
  • 2016-05-02
  • 2021-01-17
  • 2012-12-12
  • 2012-01-04
  • 2012-11-07
  • 2021-07-25
  • 1970-01-01
相关资源
最近更新 更多