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设备的主要内容,如果未能解决你的问题,请参考以下文章

通过python对本局域网进行ARP扫描获取MAC

怎么在linux查看局域网内所有ip地址

有没有软件可以扫描到局域网内所有电脑的硬件配置信息的?

一条命令扫描局域网内所有的IP及MAC操作教程

如何查询局域网内在用的IP地址?

如何用cmd命令主动查看(扫描)局域网的机器ip