前言
1、 在系统运维等过程中,网络永远是离不开的话题。网络中比较基础的是网络接口,每个网络接口都有一个名字,并且有它的ip地址,还有关于从这个接口出去的包的路由。我们可以把网络接口看作个数据模型,每个数据模型基本上有增删改查四种基本操作,(从网络接口这个数据模型的查引入python的 netifaces
2、 netifaces
安装
使用
1、获取当前操作系统的网络接口名字(获取当前主机所有的网卡设备)
①显示当前网络接口的信息:(linux操作系统命令)
命令执行结果:
②netifaces 库提供了函数 interfaces() 用于返回所有接口的名字的列表。
代码如下:
代码执行结果:
2、通过网络接口的名字获取该接口的IP地址
①只获取指定网络接口的ip地址:(linux操作系统命令)
命令执行结果:
②获取系统中所有的网络接口的ip地址:(linux操作系统命令)
命令执行结果:
③netifaces 库获取网络接口(网卡)ip地址使用 ifaddresses()
- 参数:系统中指定网络接口(网卡)的名字
- 返回值:字典(包括ip地址)
代码如下:
代码执行结果:
返回值详解:
- 数据类型:字典
- 跟linux操作系统上执行ifconfig 命令的输出非常类似,其实就是对应网卡的所有信息,包括
ip,
mac,
netmask
等等。通过这些信息, 我们就可以解析出我们想得到的ip地址
和mac地址。
- key值:netifaces.address_families
- 获取指定网络接口(网卡)的ipv4地址(衔接上诉代码): Addr[2][0]['addr']
运行结果:
④获取网络接口(网卡)的ip地址
代码如下:
运行结果:
3、获取路由
①获取当前系统路由:(linux操作系统命令)
命令执行结果:
② netifaces 库使用 gateways()
代码如下:
代码执行结果:
返回值详解:
数据类型为字典。
default
值为根据类型返回的路由信息:
去期待陌生,去拥抱惊喜。