亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python 修改本地網絡配置的方法

系統 1561 0

本文主要說一下怎么使用Python來修改本地的ip和dns等,因為有本地的ip和dns都是隨機獲取的,有些時候不是很方便,需要修改,我就稍微的封裝了一下,但是隨機ip和網關、子網掩碼等我都沒有設置為參數,因為經常用也懶得改了,可以自己去修改一下。

測試的時候,在win8.1上面需要用管理員身份才能執行,win7似乎是不需要管理員身份的。

使用的Python庫是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 修改本地網絡配置的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 爱爱网站在线观看免费 | 天天操天天干天天射 | 日本一级在线播放线观看视频 | 久久66热re国产毛片基地 | 青草社区 | 国产免费久久精品久久久 | 久久精品99香蕉国产 | 狠狠躁日日躁人人爽 | 亚洲欧洲成人 | 欧亚在线视频 | 日本不卡免费一区 | 国产高清久久99 | 69国产成人综合久久精品91 | 成人看片黄a毛片 | 久久综合资源 | 夜夜夜夜夜夜夜工噜噜噜 | 亚洲国产成人久久三区 | 日本网站在线播放 | 亚洲国产精品乱码一区二区三区 | 国产精品嫩草影院奶水 | 国产欧美一区二区精品性色99 | 国产色资源 | 国产午夜精品福利视频 | 国产福利视频一区二区微拍 | 91热成人精品国产免费 | 国内精品福利视频 | 四虎视频国产精品免费 | 亚洲综合伊人色一区 | 中文字幕日韩在线观看 | 久草在线视频中文 | 久久精品这里热有精品 | 在线播放国产福利视频 | 日韩成人小视频 | 玖玖国产 | 五月激情综合婷婷 | 免费一级毛片在线播放欧美 | 色酷综合| 99精品国产福利在线观看 | 日韩毛片最新看 | 国产性生活 | 久夜tv|