经过几个小时的研究后,我对这个问题一无所知 .
Is it possible to see who is connected to my wireless network using C#?
示例:我有2台笔记本电脑 - 笔记本电脑A和笔记本电脑B.
A正在运行我制作的程序并连接到我的无线网络 .
B正在启动并连接到我的无线网络 . A现在可以看到B通过我制作的程序连接到无线网络 .
这可能吗?
是否可以使用C#查看连接到我的无线网络的人?
选项1)取决于您的无线连接设备(假设路由器或接入点)以及它的可编程性 . 例如,如果您有Linksys WRT54GL,您可以加载DD-WRT或其他OSS固件并编写自己的模块来监控此行为 . 在C#中编程该模块需要将单声道库加载到DD-WRT安装中 .
选项2)在每台可连接无线网络的机器上安装“心跳监视器” . 一旦 Build 了与该网关的连接,守护进程就会告诉其他监视器它现在已连接到网络 .
如果您无法控制连接的设备,则最好选项1 . 如果您可以控制连接的设备,则最好选项2 .
理论上,是的 - 如果您的无线路由器公开了一个可以挂钩的API来获取当前连接的客户端列表,那么很可能您可以在C#中编写一些可以轮询API以进行更改的内容 .
实际上,我不知道任何无线路由器实际上做了我上面提到的 . 然后,我再也没有真正调查过,所以谁知道呢!
2 回答
选项1)取决于您的无线连接设备(假设路由器或接入点)以及它的可编程性 . 例如,如果您有Linksys WRT54GL,您可以加载DD-WRT或其他OSS固件并编写自己的模块来监控此行为 . 在C#中编程该模块需要将单声道库加载到DD-WRT安装中 .
选项2)在每台可连接无线网络的机器上安装“心跳监视器” . 一旦 Build 了与该网关的连接,守护进程就会告诉其他监视器它现在已连接到网络 .
如果您无法控制连接的设备,则最好选项1 . 如果您可以控制连接的设备,则最好选项2 .
理论上,是的 - 如果您的无线路由器公开了一个可以挂钩的API来获取当前连接的客户端列表,那么很可能您可以在C#中编写一些可以轮询API以进行更改的内容 .
实际上,我不知道任何无线路由器实际上做了我上面提到的 . 然后,我再也没有真正调查过,所以谁知道呢!