# -*- coding: utf-8 -*-
import socket
import struct
import os
def outputCmd(cmd):
r = os.popen(cmd)
text = r.read()
r.close()
return text
def getPCName(ip):
return socket.gethostbyaddr(ip)
def getIpMacList():
ipList = []
arp_cmd = "arp -a" # 列出局域网所有 ip
arp_result = outputCmd(arp_cmd)
result = arp_result.split("\n")
ipInfo = []
total = len(result) - 3
for idx in range(3,len(result)):
item = {}
line = result[idx]
lineSplit = line.split(" ")
ip = ''
mac = ''
notNullCount = 0
for idx2 in lineSplit:
if idx2 != "":
notNullCount += 1
if notNullCount == 1:
ip = idx2
elif notNullCount == 2:
mac = idx2
if ip == "":
continue
if mac == "":
continue
item['ip'] = ip
item['mac'] = mac
Python 获取局域网设备IP, MAC地址和名称的方法
最新推荐文章于 2024-05-04 19:27:29 发布
本文介绍了使用Python编写的脚本,通过执行`arp-a`命令获取局域网中设备的IP地址、MAC地址,并尝试获取对应主机名,输出相关信息。

最低0.47元/天 解锁文章

917

被折叠的 条评论
为什么被折叠?



