Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie Python, um verwendete IP-Adressen und nicht verwendete IP-Adressen eines bestimmten Netzwerksegments zu erkennen
Ich habe aus den Blogs meiner Vorgänger gelernt und dann selbst viele Dinge hinzugefügt.
Das Unterprozessmodul wird verwendet
>>> Import-Unterprozess
>>> =subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)
#Rufen Sie den Rückgabecode des Befehlsausführungsergebnisses über die Funktion „wait()“ ab
>>> p.wait()
0
#Erhalten Sie das Befehlsausgabeergebnis (Standardausgabe) über die read()-Methode
> > 95M 0 495M 0% /dev/shmn'
#Erhalten Sie das Ergebnis des Befehlsfehlers über die Methode read()
>>> () #Fehlerausgabe abrufen
bei 0x7f267528dbd0> > ;>> p = subprocess.Popen('ls /etc/password',stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True,close_fds=True) >> > p.stderr.read() 'ls: Zugriff auf /etc/password nicht möglich: Keine solche Datei oder kein solches Verzeichnisn'@Andere Möglichkeiten, eine Fehlerausgabe zu erhalten, sind : read() , (), readlines(), close(), write() und writelines() usw. #!/usr/bin/env #_*_ programming:utf8 _*_# by lijiajun import re,subprocess,os,sysnet_region ='192.168.3 ' ("########################### #### #####################") print("#Dieses Skript basiert hauptsächlich auf Ping und testet die verwendete IP und ungenutzte IP eines bestimmten Netzwerksegments Verwenden Sie die IP #") print("#Speichern Sie es in /tmp/alive_ip.txt #") print("#and/tmp/ dead_ip.txt #") print("################################ ##### ################") print(" ") os.path .isfile("/ tmp/alive_ip.txt"): os.popen("mv /tmp/alive_ip.txt /tmp/alive_ip.txt.old") print "you kann die verwendete IP in dieser Datei sehen: /tmp/alive_ip.txt" if os.path.isfile("/tmp/dead_ip.txt"): os.popen(" mv /tmp/dead_ip .txt /tmp/dead_ip.txt.old") print "Sie können die nicht verwendete IP in dieser Datei sehen: /tmp/dead_ip.txt" print( " ") dead_ip=0 alive_ip=0 def check_alive(ip, , out): global alive_ip global dead_ip cmd='ping -c %d -w %d %s' % (count,timeout,ip) p=subprocess. Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) result=p.stdout.read() regx=re.findall('100% packet loss',result) if len( regx)==0 : print(" check_alive(ip,1,1) print (" ") print "final dead_ip count is %d" % dead_ip print „final alived_ip count is %d“ % alive_ip Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python, um verwendete IP-Adressen und nicht verwendete IP-Adressen eines bestimmten Netzwerksegments zu erkennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!