如何在python中为接口分配IP地址?

只是:

我有python脚本,可为我的无线和有线接口设置IP4地址。到目前为止,我使用以下subprocess命令:

subprocess.call(["ip addr add local 192.168.1.2/24 broadcast 192.168.1.255 dev wlan0"])

如何使用python库设置接口的IP4地址?以及是否可以使用python库获取已经存在的IP配置?

tMC:

通过旧ioctl界面设置地址

import socket, struct, fcntl

SIOCSIFADDR = 0x8916
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


def setIpAddr(iface, ip):
    bin_ip = socket.inet_aton(ip)
    ifreq = struct.pack('16sH2s4s8s', iface, socket.AF_INET, '\x00' * 2, bin_ip, '\x00' * 8)
    fcntl.ioctl(sock, SIOCSIFADDR, ifreq)


setIpAddr('em1', '192.168.0.1')

(通过设置网络掩码SIOCSIFNETMASK = 0x891C

可以通过相同的方式检索IP地址:使用Python的stdlib查找本地IP地址

我相信如果您想使用Netlink的python实现, ioctl

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Python 中從此文本文件中獲取接口名稱和 IP 地址

如何在Ubuntu中为服务设置专用的IP地址?

在Linux中,如何在一个接口上获取具有多个IP地址的每个IP地址的流量?

IP地址如何分配?

如何在bash中获取IP地址和连接的接口名称

如何在Ubuntu 14中向接口添加其他IP地址

如何在Python 3中打印出编号的IP地址

如何在Python中从NIC获取IP地址?

如何在python中对ip地址的元组进行排序/排序

如何在systemd的接口上设置多个IP地址?

为什么为某些虚拟网络接口分配了专用IP地址,而为某些虚拟接口分配了环回IP地址?

如何在Ubuntu 17.04中分配静态IP地址而不重启?

如何在Haskell中将IP地址解析为IP号?

Python:在Linux中获取本地接口/ IP地址的默认网关

如何在Unity中输入IP地址?

如何在Golang中ping IP地址

如何在Rails中获取IP地址

如何在表中插入IP地址?

如何在PHP中获取IP地址?

如何在Python中为唯一值分配值

如何在python中为指针分配NULL值?

如何在Python中为变量分配内存?

如何在Python中为方法的输出分配值?

如何在python中为每个值分配数字

如何在python中为numpy数组分配内存?

如何(通过CLI)将多个IP地址分配给一个接口?

如何在bash中ping许多主机(通过dns名称并解析为ip地址)?

如何在Ubuntu 17.10中使用Netplan为无线Iface添加IP地址

如何在 Python 中检查 IP 地址是否在两个 IP 的范围内?