您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么在python中修改本地網絡配置,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
# -*- 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中修改本地網絡配置,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。