翼度科技»论坛 编程开发 python 查看内容

Python3.10动态修改Windows系统(win10/win11)本地IP地址(静态IP)

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
一般情况下,局域网里的终端比如本地服务器设置静态IP的好处是可以有效减少网络连接时间,原因是过程中省略了每次联网后从DHCP服务器获取IP地址的流程,缺点是容易引发IP地址的冲突,当然,还有操作层面的繁琐,如果想要切换静态IP地址,就得去网络连接设置中手动操作,本次我们使用Python3.10动态地修改电脑的静态IP地址。
获取多网卡配置

一个网卡对应一个静态IP地址,但机器上未必只有一个网卡,所以如果想动态切换,必须要指定网卡名称,Win系统中通过ipconfig命令来获取当前系统的网卡信息:
  1. ipconfig
复制代码
系统返回:
  1. PS C:\Users\liuyue\h2102-a\videopro> ipconfig  
  2.   
  3. Windows IP 配置  
  4.   
  5.   
  6. 以太网适配器 以太网:  
  7.   
  8.    连接特定的 DNS 后缀 . . . . . . . :  
  9.    本地链接 IPv6 地址. . . . . . . . : fe80::a216:f22a:52a:3388%4  
  10.    IPv4 地址 . . . . . . . . . . . . : 192.168.1.104  
  11.    子网掩码  . . . . . . . . . . . . : 255.255.255.0  
  12.    默认网关. . . . . . . . . . . . . : 192.168.1.1  
  13.   
  14. 以太网适配器 以太网 2:  
  15.   
  16.    连接特定的 DNS 后缀 . . . . . . . :  
  17.    IPv6 地址 . . . . . . . . . . . . : fdb2:2c26:f4e4:0:7703:1e08:e622:2f0  
  18.    临时 IPv6 地址. . . . . . . . . . : fdb2:2c26:f4e4:0:717c:b59e:b6cd:51b2  
  19.    本地链接 IPv6 地址. . . . . . . . : fe80::2645:f265:ad72:c751%16  
  20.    IPv4 地址 . . . . . . . . . . . . : 192.168.0.118  
  21.    子网掩码  . . . . . . . . . . . . : 255.255.255.0  
  22.    默认网关. . . . . . . . . . . . . :  
  23.   
  24. 以太网适配器 vEthernet (Default Switch):  
  25.   
  26.    连接特定的 DNS 后缀 . . . . . . . :  
  27.    本地链接 IPv6 地址. . . . . . . . : fe80::3ece:9b38:2572:4e33%18  
  28.    IPv4 地址 . . . . . . . . . . . . : 172.31.16.1  
  29.    子网掩码  . . . . . . . . . . . . : 255.255.240.0  
  30.    默认网关. . . . . . . . . . . . . :
复制代码
如果想通过Python来获取网卡信息,则需要在脚本中运行ipconfig命令,构建change_ip.py脚本:
[code]import os,re    class IpManage:        def __init__(self):            self.ip_list = self.get_ip()          def get_ip(self):              result = os.popen('ipconfig')          res = result.read()            resultlist = re.findall('''(?

举报 回复 使用道具