通过python修改本地ip

2022/1/12 22:03:56

本文主要是介绍通过python修改本地ip,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

写在前面,

1 对于个人公司需要固定ip,而回家需要用到家里的ip,

2对于公司it人员,每台电脑都需要设置ip,,尤其批量的时候,这个作为it的自己知道

3运维人员,可以通过ip测试哪些ip可以用,哪些不可以用

准备

拥戴wmi库通过pip install wmi安装

代码

由于比较时间紧,没写界面,只能黑窗口操作,侯琼会补上

# -*- coding: utf-8 -*-

import os import random import re from time import sleep from wmi import WMI   #随机修改指定ip段的本机ip class updateIP:   def __init__(self):     self.wmiService = WMI()     #获取到本地有网卡信息     self.colNicConfigs = self.wmiService.Win32_NetworkAdapterConfiguration(IPEnabled = True)     #print self.colNicConfigs[0]   def getAdapter(self):     flag = 0     #遍历所有网卡,找到要修改的那个,这里我是用原ip的第一段正则出来的     for obj in self.colNicConfigs:       ip = re.findall("10.\d+.\d+.\d+", obj.IPAddress[0])       if len(ip) > 0:         return flag       else:         flag = flag+1   def runSet(self):     adapter = self.colNicConfigs[self.getAdapter()]     '''     #检测ip是否在线,不可用,需登录     while True:       ip2 = random.choice(['216', '217'])       ip3 = random.randint(1, 254)       ip4 = random.randint(1, 254)       newIP = '10.%s.%s.%s' % (ip2, ip3, ip4)       if self.pingIP(newIP):         break     '''     #随机选择了ip的第二段     ip2 = random.choice(['216', '217'])     ip3 = random.randint(1, 254#随机生成第三段和第二段的值     ip4 = random.randint(1, 254)     newIP = '10.%s.%s.%s' % (ip2, ip3, ip4)     arrIPAddresses = [newIP]  #设置新的ip     arrSubnetMasks = ['255.248.0.0'#子网掩码     arrDefaultGateways = ['10.223.255.254'] #网关     arrGatewayCostMetrics = [1]   #这里要设置成1,代表非自动选择     arrDNSServers = ['211.137.191.26']   #dns服务器     #开始执行修改ip、子网掩码、网关     ipRes = adapter.EnableStatic(IPAddress = arrIPAddresses, SubnetMask = arrSubnetMasks)     if ipRes[0] == 0:       print u'\ttip:设置IP成功'       print u'\t当前ip:%s' % newIP     else:       if ipRes[0] == 1:         print u'\ttip:设置IP成功,需要重启计算机!'       else:         print u'\ttip:修改IP失败: IP设置发生错误'         return False     #开始执行修改dns     wayRes=adapter.SetGateways(DefaultIPGateway = arrDefaultGateways, GatewayCostMetric=arrGatewayCostMetrics)     if wayRes[0] == 0:       print u'\ttip:设置网关成功'     else:       print u'\ttip:修改网关失败: 网关设置发生错误'       return False     dnsRes = adapter.SetDNSServerSearchOrder(DNSServerSearchOrder=arrDNSServers)     if dnsRes[0] == 0:       print u'\ttip:设置DNS成功,等待3秒刷新缓存'       sleep(3)       #刷新DNS缓存使DNS生效       os.system('ipconfig /flushdns')     else:       print u'\ttip:修改DNS失败: DNS设置发生错误'       return False '''   //ping某ip看是否可以通   def pingIP(self, ip):     res = os.popen('ping -n 2 -w 1 %s' % ip).read() #内容返回到res     res = res.decode('gbk')     if u'请求超时' in res:     #注意乱码编码问题        return False     else:       return True ''' if __name__ == '__main__':   update = updateIP()   update.runSet()   input()

这篇关于通过python修改本地ip的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程