2024-06-13 00:22:16 发布
网友
如何用Python轻松地从本地网络获取IP地址或主机名列表?
如果它是多平台的最好,但它需要先在Mac OS X上工作,然后其他人跟着工作。
编辑:本地是指本地网络中的所有活动地址,例如192.168.xxx.xxx。
192.168.xxx.xxx
所以,如果我的计算机(在本地网络中)的IP地址是192.168.1.1,并且我有另外三台连接的计算机,我希望它返回IP地址192.168.1.2、192.168.1.3、192.168.1.4,可能还有它们的主机名。
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
如果“本地”是指同一网段,则必须执行以下步骤:
或者,您可以让Python在外部执行nmap并将结果管道化回您的程序中。
如果您知道可以使用的计算机的名称:
import socket IP1 = socket.gethostbyname(socket.gethostname()) # local IP adress of your computer IP2 = socket.gethostbyname('name_of_your_computer') # IP adress of remote computer
否则,您将不得不扫描与本地计算机(IP1)相同掩码的所有IP地址,如另一个答案中所述。
更新:脚本现在位于github。
我写了一个small python script,它利用了scapy的arping()。
arping()
如果“本地”是指同一网段,则必须执行以下步骤:
或者,您可以让Python在外部执行nmap并将结果管道化回您的程序中。
如果您知道可以使用的计算机的名称:
否则,您将不得不扫描与本地计算机(IP1)相同掩码的所有IP地址,如另一个答案中所述。
更新:脚本现在位于github。
我写了一个small python script,它利用了scapy的
arping()
。相关问题 更多 >
编程相关推荐