Maison > développement back-end > Tutoriel Python > Comment utiliser Python pour détecter l'IP utilisée et l'IP inutilisée d'un certain segment de réseau

Comment utiliser Python pour détecter l'IP utilisée et l'IP inutilisée d'un certain segment de réseau

高洛峰
Libérer: 2017-03-22 10:11:00
original
1714 Les gens l'ont consulté

J'ai appris des blogs de mes prédécesseurs et j'ai ensuite ajouté beaucoup de choses moi-même.

Le module de sous-processus est utilisé

>>> importer le sous-processus

>>> =subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)

#Obtenir le code de retour du résultat de l'exécution de la commande via la fonction wait()

>>> p.wait()

0

#Obtenir le résultat de la commande (sortie standard) via la méthode read()

> > 95M 0 495M 0% /dev/shmn'

# Obtenez le résultat de la sortie d'erreur de commande via la méthode read()

>>> ()                                                                                        Est vide, ce qui indique qu'il n'y a pas de sortie d'erreur

#Get sortie d'erreur

objet

à 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 : impossible d'accéder à /etc/password : aucun fichier ou répertoire de ce type

@D'autres moyens d'obtenir une sortie d'erreur sont : read() ,

readline

(), readlines(), close(), write() et writelines(), etc.

#!/usr/bin/env

python

#_*_ coding:utf8 _*_

# par lijiajunimport re,subprocess,os,sys

net_region ='192.168.3'

imprimer

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

print("#Ce script est principalement basé sur le ping, testant l'IP utilisée et l'adresse IP inutilisée d'un certain segment de réseau Utilisez l'adresse IP #")

print("#Enregistrez-le dans /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 "vous peut voir l'adresse IP utilisée dans ce fichier : /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 "vous pouvez voir l'ip inutilisée dans ce fichier : /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=sous-processus. 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 le nombre d'ips morts est %d" % dead_ip

imprimer "le nombre final d'ips vivants est %d" % vivants_ip

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal