如何在 Python 中轻松获取本地网络的 IP 地址或主机名列表?
最好是多平台的,但需要先在 Mac OS X 上运行,然后其他的。
编辑:本地是指本地网络中的所有事件地址,例如192.168.xxx.xxx
。
所以,如果我的计算机(在本地网络中)的 IP 地址是 192.168.1.1
,并且我连接了另外三台计算机,我希望它返回 IP 地址 192.168.1.2
、192.168.1.3
、192.168.1.4
,可能还有它们的主机名。
最佳答案
如果“本地”是指在同一网段上,则必须执行以下步骤:
- 确定您自己的 IP 地址
- 确定您自己的网络掩码
- 确定网络范围
- 扫描所有地址(除了最低的,即您的网络地址,最高的,即您的广播地址)。
- 使用 DNS 的反向查找来确定响应扫描的 IP 地址的主机名。
或者您可以让 Python 在外部执行 nmap 并将结果通过管道传回您的程序。
关于python - Python中本地网络的IP地址/主机名列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207234/