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

获取多网卡配置

一个网卡对应一个静态IP地址,但机器上未必只有一个网卡,所以如果想动态切换切换电脑上网ip,必须要指定网卡名称,Win系统中通过ipconfig命令来获取当前系统的网卡信息:

ipconfig

系统返回:

PS C:Usersliuyueh2102-avideopro> ipconfig
Windows IP 配置
以太网适配器 以太网:
   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::a216:f22a:52a:3388%4
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.104
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.1.1
以太网适配器 以太网 2:
   连接特定的 DNS 后缀 . . . . . . . :
   IPv6 地址 . . . . . . . . . . . . : fdb2:2c26:f4e4:0:7703:1e08:e622:2f0
   临时 IPv6 地址. . . . . . . . . . : fdb2:2c26:f4e4:0:717c:b59e:b6cd:51b2
   本地链接 IPv6 地址. . . . . . . . : fe80::2645:f265:ad72:c751
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.118
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :
以太网适配器 vEthernet (Default Switch):
   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::3ece:9b38:2572:4e33
   IPv4 地址 . . . . . . . . . . . . : 172.31.16.1
   子网掩码  . . . . . . . . . . . . : 255.255.240.0
   默认网关. . . . . . . . . . . . . :

如果想通过Python来获取网卡信息,则需要在脚本中运行ipconfig命令,构建change_ip.py脚本:

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('''(?<=以太网适配器 ).*?(?=:)|(?<=无线局域网适配器 ).*?(?=:)''', res)
        print(resultlist)
        return resultlist
if __name__ == '__main__':
    
    IpManage()

这里通过os模块的popen方法来运行ipconfig命令,随后再使用正则来匹配网卡名称,最后将匹配到的网卡列表赋值给实例属性,程序返回:

['以太网', '以太网 2', 'vEthernet (Default Switch)']
[Finished in 394ms]

至此,三块网卡的名称就获取到了。

动态切换静态IP

接下来就是通过Python脚本来动态切换指定网卡的静态IP地址了,Windows系统通过netsh命令来指定IP地址:

netsh interface ip set address name=以太网 static 192.168.201.137 255.255.248.0 192.168.200.1

这里name参数是网卡名称,后来三个地址分别代表静态IP地址,子网掩码以及网关地址。

这里将第一块网卡的静态IP地址设置为192.168.201.137切换电脑上网ip,子网掩码是255.255.248.0,网关地址为192.168.200.1。

发表回复

后才能评论

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源