已发相关文章请参考Python获取本机所有网卡的MAC地址
本文代码使用ARP协议获取局域网内所有计算机的IP地址与MAC地址,思路是使用系统命令arp获取ARP表并生成文本文件,然后从文件中读取和解析信息。
import os
from socket import gethostbyname, gethostname
获取本机IP地址
host = gethostbyname(gethostname())
获取ARP表
os.system('arp -a > temp.txt')
with open('temp.txt') as fp:
for line in fp:
line = line.split()[:2]
if line and\
line[0].startswith(host[:4]) and\
(not line[0].endswith('255')):
print(':'.join(line))
运行后会在当前文件夹中生成文本文件temp.txt,其中的内容如图所示:
本文代码提取的结果如图所示:
----------分割线----------
重要活动通知:为答谢广大朋友的长期支持,同时为庆祝“Python小屋”开通一周年(2016年6月29日开通),“Python小屋”屋主董付国老师联合清华大学出版社于2017年6月29日开展赠书活动,关注“Python小屋”的第1、1000、2000、3000、4000、5000、6000位朋友将获得董付国老师Python系列图书一套(包含《Python程序设计基础》、《Python程序设计》(第2版)(说明:第1版已不再维护,且出版社库房已无存货,无法赠送)、《Python可以这样学》、《Python程序设计开发宝典》(预计2017年9月出版)以及一本神秘Python书籍(预计2017年9月出版))。为保证活动的公平性,2017年6月29日上午8点会把关注公众号的名单一次性导出,然后按照关注时间顺序公布名单并赠书。感谢清华大学出版社白立军老师的大力支持!
另:本活动长期有效,不定期举办,第7000、8000、9000、10000位以及后续整千位关注的朋友同样可以获得赠书。
版权归原作者 dongfuguo 所有, 如有侵权,请联系我们删除。