【问题标题】:Is it possible to check who is connected to your wireless network?是否可以检查谁连接到您的无线网络?
【发布时间】:2011-04-27 14:18:27
【问题描述】:

所以经过数小时的研究,我对这个问题一无所知。

是否可以使用 C# 查看谁连接到我的无线网络?

示例:我有 2 台笔记本电脑 - 笔记本电脑 A 和笔记本电脑 B。

  • A 正在运行我制作的程序,并且 连接到我的无线网络。

  • B 正在启动并连接到我的无线网络。 A现在可以看到B通过我制作的程序连接到无线网络了。

这可能吗?

【问题讨论】:

  • 这似乎取决于路由器/交换机想要为您提供什么,或者让您可以访问。除非经过身份验证,否则我看不到提供太多内容,即使这样我也会通过 API 收集它不是正式的,可能必须抓取路由器提供的门户。有兴趣看看有什么可用的......

标签: c# .net networking wireless


【解决方案1】:

是否可以使用 C# 查看谁连接到我的无线网络?

选项 1) 取决于您的无线连接设备是什么(假设是路由器或接入点)以及它的可编程程度。例如,如果您有 Linksys WRT54GL,您可以加载 DD-WRT 或其他 OSS 固件并编写自己的模块来监控此行为。在 C# 中对该模块进行编程需要将单声道库加载到 DD-WRT 安装中。

选项 2)在每台可以连接到无线网络的机器上安装“心跳监视器”。与该网关建立连接后,守护程序会告诉其他监视器它现在已连接到网络。

如果您无法控制连接的设备,选项 1 是最佳选择。如果您可以控制连接的设备,选项 2 是最好的。

【讨论】:

  • 我使用带有 DD-WRT 的路由器。我只会跳过列出已连接设备的页面,而不是乱写模块。
  • 如果可以信赖的话,这当然是一种可行的方法。
【解决方案2】:

理论上,是的 - 如果您的无线路由器公开了一个 API,您可以使用该 API 来获取当前连接的客户端列表,那么您很可能可以在 C# 中编写一些内容来轮询 API 以进行更改。

实际上,我不知道有任何无线路由器可以实际执行我上面建议的操作。再说一次,我从来没有真正研究过,所以谁知道呢!

【讨论】:

  • 所有我用过的都有一个客户端列表,包括 MAC 地址。
  • 是的,但是其中有多少使该列表在 API 中可用?我想,屏幕抓取是一种选择,但不是一个非常强大的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多