如何在Java中获取本地网络中远程主机的详细信息

时间:2013-11-17 16:03:01

标签: java network-programming

我想了解局域网中所有网络主机的详细信息。我已经设法获得主机名和Mac地址(通过ARP),但我需要更多详细信息,如供应商名称和其他详细信息。有端口扫描工具可以实现这一点。

Windows 7还列出了网络设备的这些详细信息,例如:对于我的电视,它列出三星作为供应商,序列号,甚至型号。对于我的Android设备,它说LG电子是供应商。

如何使用java扫描此信息以及此类信息是什么?是NetBIOS吗?

由于

1 个答案:

答案 0 :(得分:1)

扫描网络设备以从中收集信息本身就是一个完整的安全主题,所以我不会试图涵盖所有这些。这也取决于你想走多远。

例如,如果您只想要供应商信息,那么您可以获取从ARP收集的MAC地址,并根据拥有它们的供应商列表查找前缀位。 Wireshark似乎是供应商here的完整MAC地址前缀列表。

除此之外,我建议您将自己编写设备指法工具的艰苦工作外包,并利用像NMap这样的应用程序为您完成所有工作。我相信,NMap有一个命令行选项,所以你只需要从Java调用它并解析结果。