IP地址修改器

在需要频繁换IP地址的情况下,打开网络设置去修改比较慢,因此设计一个IP地址修改器,可以快速修改IP

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import os
import re

class IpManage:
def __init__(self):
self.ip_list = self.get_ip()

def set_ip(self, name, ip, mask, gateway):
# 设置静态IP地址
os.system(f"netsh interface ip set address name=\"{name}\" static {ip} {mask} {gateway}")

def set_dns(self, name, dns_primary, dns_secondary):
# 设置DNS服务器地址
os.system(f"netsh interface ip set dnsservers name=\"{name}\" static addr={dns_primary}")
if dns_secondary:
os.system(f"netsh interface ip add dnsservers name=\"{name}\" addr={dns_secondary} index=2")

def get_ip(self):
result = os.popen('ipconfig')
res = result.read().strip()

# 使用正则表达式查找适配器名称
resultlist = re.findall('''(?<=以太网适配器 ).*?(?=:)|(?<=无线局域网适配器 ).*?(?=:)''', res)
# print("可用的网络适配器:", resultlist)
return resultlist

def get_adapter_name(self):
# 让用户选择适配器
print("请选择要配置的网络适配器(例如: 以太网):")
for i, adapter in enumerate(self.ip_list, 1):
print(f"{i}. {adapter}")
choice = input("请输入选择的适配器编号: ")
return self.ip_list[int(choice) - 1]

if __name__ == '__main__':
im = IpManage()

# 获取用户选择的适配器名称
adapter_name = im.get_adapter_name()

# 用户输入IP配置信息
ip_addr = input("请输入IP地址 (默认: 192.168.31.108): ") or "192.168.31.108"
subnet_mask = input("请输入子网掩码 (默认: 255.255.255.0): ") or "255.255.255.0"
gateway = input("请输入网关地址 (默认: 192.168.31.1): ") or "192.168.31.1"

# 用户输入DNS配置信息
dns_primary = input("请输入首选DNS服务器地址 (默认: 192.168.31.1): ") or "192.168.31.1"
dns_secondary = input("请输入备用DNS服务器地址 (默认: 留空可不设置): ")

# 配置IP和DNS
im.set_ip(adapter_name, ip_addr, subnet_mask, gateway)
im.set_dns(adapter_name, dns_primary, dns_secondary)
print("IP和DNS设置成功")
input("按任意键退出...")
# pyinstaller --onefile ip.py

效果


也可以使用pyinstaller将代码打包成exe文件,方便使用。

例如:

1
pyinstaller --onefile ip.py

生成的exe文件在dist目录下。

如果有几个固定的IP需要修改,可以分别写成几个exe文件,这样只要用管理员权限运行exe文件即可快速修改!

注意

必须以管理员权限运行才能修改IP地址,否则即使没有提示权限不足也无法真正修改IP地址。


IP地址修改器
https://xinhaojin.github.io/2024/08/27/IP地址修改器/
作者
xinhaojin
发布于
2024年8月27日
许可协议