Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie Python, um verwendete IP-Adressen und nicht verwendete IP-Adressen eines bestimmten Netzwerksegments zu erkennen

So verwenden Sie Python, um verwendete IP-Adressen und nicht verwendete IP-Adressen eines bestimmten Netzwerksegments zu erkennen

高洛峰
高洛峰Original
2017-03-22 10:11:001730Durchsuche

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

object

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() ,

readline

(), readlines(), close(), write() und writelines() usw.

#!/usr/bin/env

Python

#_*_ programming:utf8 _*_# by lijiajun

import re,subprocess,os,sysnet_region ='192.168.3 '

print

("########################### #### #####################")

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(" ")

if

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,

count

,

time

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn