python 修改本地網路配置

2021-08-21 03:19:44 字數 4748 閱讀 3783

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

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

該說的都在注釋裡,就直接上**了。

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

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

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

import

osimport

random

import

refrom

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 

inself.

colnicconfigs:

ip  =

re. findall

("10.\d+.\d+.\d+"

, obj.

ipaddress[0

])iflen

(ip )

>

0:

return flag

else:

flag 

= flag+

1def runset

(self

):

adapter 

=self.

colnicconfigs

[self.

getadapter()

]#隨機選擇了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()

Linux本地網路指令碼配置 內網與外網

指令碼位於 etc sysconfig network scripts ifcfg eth0 device eth0 網絡卡的名字 bootproto static none靜態ip dhcp 動態獲取ip static 靜態 onboot yes 是否開啟網絡卡 ipaddr 192.168.88...

Study Flex《訪問本地 網路資源》

在flex開發中經常中出現安全沙箱問題。securityerror error 2148 swf 檔案 不能訪問本地資源 只有僅限於檔案系統的 swf 檔案和可信的本地 swf 檔案可以訪問本地資源。at flash.net urlstream load at flash.net urlloader...

centos 6 x 配置yum源(本地 網路)

一 本地yum源 1 系統預設已經安裝了可使用yum的軟體包,所以可以直接配置 root localhost cd etc yum.repos.d yum源配置檔案放置目錄 root localhost yum.repos.d mv centos base.repo centos base.repo...