#前言
正常情况下,如果想要查看电脑的网卡IP地址或是MAC地址,直接通过界面找到网卡进行查看就有了,亦或是通过命令如linux的ifconfig得到IP等信息,那么本节教大家如何通过python的方式获取网卡的IP/MAC信息。
#测试环境及关键代码解释
##测试环境
立即学习“Python免费学习笔记(深入)”;
###系统:
代码语言:txt 复制
###开发工具:
代码语言:txt 复制
#模块介绍及演示
本次只需要用到3个模块就搞定,但也是挺费劲的咯。
netifaces //需要安装,主要用于获取网卡接口IP/MAC等信息;winreg //内置模块,主要用于Windows系统通过注册表获取网卡接口键值;platform //内置模块,主要用于判断系统类型:如Widows、Linux、MacOS等;
##platform模块使用示例
Linux系统:
代码语言:txt 复制
Windows系统:
代码语言:txt 复制
##netifaces模块使用示例
外置模块,安装方式请参考网上,此处忽略(很简单)。
用处:用于收集网络接口等信息(IP/地址/网关)。
netiface模块定了3个函数:
代码语言:txt 复制
先看下地址族:
代码语言:txt 复制
###Linux环境下如何获取网卡口的信息
代码语言:txt 复制
###Windows环境下如何获取网卡口的信息
说明:windows取值相比Linux复杂多了,不能直接根据接口获取ip信息,需要先找到一串唯一的键值,然后才能依据它获取到接口IP信息,这里我先给出示例,免得大家看了一头雾水:
我的无线网卡信息:
无线网卡名称:WLAN 注册表上对应的键值:{CD94297B-D746-4494-91F7-3E40C091A0FC} //python需要知道这个
注册表需要用到了【winreg】模块,咱们还是先简单聊下Windows的注册表结构吧。
代码语言:txt 复制
在Windows环境如何获取接口信息:
代码语言:txt 复制
#完整代码
文件1:win_get_key.py
说明:windows系统上运行使用
代码语言:txt 复制
文件2:python_netifaces.py
说明:在Window和Linux系统上运行使用
代码语言:txt 复制
Linux系统下返回结果:
代码语言:txt 复制
#碎碎语
本次篇幅有点多,我是采用分解方式进行讲解,希望对大家有用,而不是一把把脚本贴上来。
我写的每一篇文章,希望对于网络攻城狮来说,能够如何运用python更好的提高工作效率和运维,而不仅仅局限在传统的局域网、广域网等,技术再迭代更新,个人的技能思维更需要贴合时代,共同进步。
##官方参考链接:
代码语言:txt 复制