Python:扫描局域网中连接的所有IP设备
Posted
技术标签:
【中文标题】Python:扫描局域网中连接的所有IP设备【英文标题】:Python: to scan all IP devices connected in LAN 【发布时间】:2015-03-22 10:02:54 【问题描述】:如何使用python编程显示连接在局域网中的所有设备IP地址、主机名、制造商名称、物理地址等。
借助 arp -a 我可以得到 IP 地址 mac 和类型(如下图)
但无法获取制造商名称和主机名我想将列表显示为 this
【问题讨论】:
对于制造商名称,您需要查找MAC address prefix in a list。对于主机名,您需要使用DNS lookup。 我需要找到已连接设备的 IP。这对我们帮助很大。谢谢 【参考方案1】:您可以使用以下方法找到主机名:
import socket
# Replace with your ip address
ip_address = "192.168.221.31"
print(socket.getfqdn(ip_address))
使用以下代码从mac地址查找制造商名称
import requests
for addr in ['B4:CD:27:81:F4:1C']:
vendor = requests.get('http://api.macvendors.com/' + addr).text
print(addr, vendor)
注意:以上方法需要网络连接
【讨论】:
以上是关于Python:扫描局域网中连接的所有IP设备的主要内容,如果未能解决你的问题,请参考以下文章