你是否能够检查谁连接了你的无线网络?

6

经过数小时的研究,我没有找到关于这个问题的任何信息。

是否有可能使用C#查看谁连接了我的无线网络?

例如:我有两台笔记本电脑 - 笔记本电脑A和笔记本电脑B。

  • A正在运行我编写的程序并连接到我的无线网络。

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

这是可能的吗?


1
这似乎取决于路由器/交换机想要为您提供什么或可以让您访问什么。除非经过身份验证,否则我不认为会提供太多内容,即使经过身份验证,我也认为它不是通过API正式提供的,可能必须从路由器提供的门户进行抓取。有兴趣看看有什么可用的... - Aaron McIver
2个回答

3
有没有办法使用C#查看谁连接了我的无线网络?
选项1)取决于您的无线连接设备是什么(假设是路由器或接入点)以及它有多少可编程性。例如,如果您有一个Linksys WRT54GL,您可以加载DD-WRT或另一种OSS固件并编写自己的模块来监视此行为。在C#中编写该模块需要将mono库加载到DD-WRT安装中。
选项2)在每台可以连接到无线网络的计算机上安装“心跳监视器”。一旦连接到该网关,守护程序就会告诉其他监视器它现在已连接到网络。
如果您无法控制连接的设备,则选项1最佳。如果您可以控制连接的设备,则选项2最佳。

2
我使用带有DD-WRT的路由器。我只会刮掉列出连接设备的页面,而不是搞写模块。 - Greg
如果可以信赖的话,那肯定是可行的方法。 - Andrew Sledge

0
理论上,如果您的无线路由器公开了一个API,您可以将其连接到以获取当前连接客户端列表,那么很可能您可以编写一些C#代码来轮询API以获取更改。
实际上,我不知道有任何无线路由器实际上执行我上面提出的操作。不过,我从未真正研究过它,所以谁知道呢!

我使用过的所有工具都有客户端列表,包括MAC地址。 - Paul Ruane
是的,但有多少人会在API中提供该列表?我想屏幕抓取是一个选项,但不是非常健壮的选项。 - Brian Driscoll

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接