使用c#

时间:2016-08-09 18:41:02

标签: c# networking arp

我试图用c#

判断网络上是否存在mac地址

我们正试图在办公室仪表板上制作一个人,我们将检查通过wifi连接的人的手机(我们将从中获取mac地址)是否

我在网络方面不是很强,所以我不确定从哪里开始。

2 个答案:

答案 0 :(得分:0)

您可以运行Windows arp -a命令行来查找连接到当前网络的所有设备。

然后,您可以解析每行的mac地址,以确定谁在办公室。

答案 1 :(得分:0)

MAC地址在第一个路由器/交换机上被剥离,因此除非您可以访问路由器/交换机上的监控端口并且只有一个,否则它们无法用于确定连接的内容。如果您使用的是多跳网络,则无用。

修改

好的,我已经删除了一堆我说过的东西,现在我知道你正在谈论手机和wifi连接。

我能想到的最简单的方法是将路由器的DHCP租用时间设置为短的10分钟,然后询问路由器"谁已连接"。

只要客户端仍在那里,短时间内会自动续订。

许多路由器在管理页面上显示当前的DHCP租约。您可以使用您的应用程序刮取页面,并获取所有当前活动的DHCP租约列表。

如果您正在运行使用dnsmasq的路由器,您也可以从/tmp/dnsmasq.leases(在路由器上)获取它。 (位置可能会改变,但/ tmp很常见)。

第一个解决方案需要解析网页,第二个解决方案需要从路由器获取纯文本文件并解析它。

在任何情况下,最好的方式来了解"谁是连接的"是询问他们所连接的设备。