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
1702 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