区分家庭和办公室专用网络的方法


0

让我们考虑有两个网络1)家庭网络和2)办公网络。

我有一个应用程序,它将在启动应用程序时获取已安装计算机的系统IP和MAC地址。

由于(家庭/办公室)都是私有网络,因此当我启动该应用程序时,它将获得以下私有IP范围内的IP地址。

10.0.0.0 through 10.255.255.255
172.16.0.0 through 172.31.255.255
192.168.0.0 through 192.168.255.255

我的问题是在启动应用程序时,有什么方法可以区分家庭网络和办公室网络。

例如,如果我在办公室网络内部启动该应用程序,则我的IP属于该范围

172.16.0.0 through 172.31.255.255

如果我在家庭网络中启动该应用程序,则我的IP属于该范围。

192.168.0.0 through 192.168.255.255

如果始终使用此配置,我们可以轻松地在家庭和办公室网络之间进行标识。

但是,用户可以在家庭网络中启动时将其IP地址更改为他的办公室范围。

如果是这种情况,如何确定用户的系统IP来自哪个网络?

任何帮助,将不胜感激...

Answers:


1

最简单的方法是检查DHCP服务器的MAC地址(从中获得响应时)。

如果需要考虑静态IP地址,则可以检查默认网关的MAC地址。

由于MAC地址(理论上至少应是全局唯一的),因此在两个位置的默认网关上拥有相同MAC地址的可能性很小。


感谢您的答复。由于我正在获取安装应用程序的计算机的IP地址和MAC地址。我可以识别DHCP服务器的MAC地址吗?

这也是Windows识别网络所采取的措施之一。它始终使用默认网关的MAC地址,有时甚至使用WIFI BSSID(似乎如此)。
Daniel B

0

取决于您可用的网络信息工具以及网络的设置方式。

您的工作网络可能有一个域,可以帮助您识别它。如果没有,您可以检查网络网关的MAC地址。例如,现在在我的WiFi上,我有以下内容:

C:\>ipconfig
[ .. extra info deleted for brevity .. ]
Default Gateway . . . . . . . . . : 192.168.2.1

(您也可以使用DHCP服务器的IP(如果有)代替网关,但是它们通常是相同的。。)由此,我可以找到网关的MAC地址:

c:\> arp -a 192.168.2.1
[ .. extra info deleted for brevity .. ]
Internet Address      Physical Address      Type
192.168.2.1           08-86-3b-06-ef-bd     dynamic

您的家庭和工作网关不太可能具有相同的MAC(物理)地址,因此您可以使用它来标识您连接到的每个网络。

当然,我想您希望能够自动提取此信息,而不必每次连接时都手动键入命令。但是,这又取决于您可用的工具(操作系统版本等)。 。您还可以在网上搜索其他人编写的命令行工具,这些工具可以一步完成上述操作,并仅吐出网关的MAC地址(如果还没有人写我自己写信,而其他人则表示兴趣,我甚至可以自己写一个。) )

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.