Bonjour fredericmazue,
bon voici un bon exemple de ce que j'essai de faire,
bien que novice en la matière, j'ai cherché, trouvé et embriqué divers script depuis 1 mois, je travaille très fort, voici, j'essai de (séduler) le programme pour qu'à un moment voulu, je puisse pinger divers serveurs/PC et d'avoir les résultats de ces pings pour compiler des statistiques et évaluer l'état du réseau.
mais j'ai 2 problèmes majeurs qui se posent :
a) comment séduler ce script
b) comment compiler mes stats, ds ce cas, ci, je n'ai qu'un résultat (soit: 0% mais devrait en avoir 2 autres).
Tu pourrais m'indiquer comment résoudre ces 2 litiges; a) et b)
voici à quoi ressemble mon Idle de Python lorsque j'exécute mon script:
Enter your IPs
Press 0 to start ping
_________________________________________________
#IP no. 1: 10.2.3.5 <-------j'entre mes IP
#IP no. 2: 10.100.3.18 <------ j'entre mes IP
#IP no. 3: 10.20.0.160 <------ j'entre mes IP
#IP no. 4: 0 <------ presse 0 pour démarrer
['10.2.3.5', '10.100.3.18', '10.20.0.160'] <------- contenu de ma liste
Mmm DD HH:MM 2007: Sep 20 15:40 2007
['Sep 19 10:00 2007'] <-------- faudra que j'ajoute date du début et de fin
None <--------------- je sais pas pourquoi ca m'indique None???
Thu Sep 20 15:42:53 2007
Please wait...
>>> 0% <----- aucun résultat de mes 2 autres ping pour
ip : 10.100.3.18 et 10.20.0.160
Voici mon script:
import re
import os
import time
import sys
from threading import Thread
#format de l'IP
def validIP(ipAddress):
ipRegex = r"^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$"
re_ip = re.compile(ipRegex)
return re_ip.match(ipAddress)
print
print ("Enter your IPs")
print ("Press 0 to start ping")
print
print
def read_ip(N):
valid_ip1 = []
i = 1
while (i<=N or N==0):
ipAddress = raw_input("#IP no. %d: " %i)
if N==0 and ipAddress=="0":
return valid_ip1
if validIP(ipAddress):
valid_ip1.append(ipAddress)
i += 1
else:
print "IP invalid. start again"
ip_list = read_ip(0)
print ip_list
#format de la date
def validIP1(ipAddress1):
ipRegex1=r'''^
# (?P<Weekday>Sun|Mon|Tue|Wed|Thu|Fri|Sat)
#\s
(?P<Month>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
\s
(?P<Date>[1-2][0-9]|0?[1-9]|30|31)
\s
(?P<Hour>[01]?[0-9]|2[0-3])
:
(?P<Minute>[0-5]?[0-9])
#:
# (?P<Second>[0-5]?[0-9])
\s
(?P<Year>\d{4})
$
'''
re_ip1=re.compile(ipRegex1,re.VERBOSE)
return re_ip1.match(ipAddress1)
def read_ip1(N):
valid_ip2 = []
ipAddress1 = raw_input("Mmm DD HH:MM 2007: " )
if N==0 and ipAddress1=="0":
return valid_ip2
if validIP1(ipAddress1):
valid_ip2.append(ipAddress1)
print valid_ip2
#i += 1
else:
print "Date invalid. start again /Or press 0 to exit"
return read_ip1(N)
ip_list1 = read_ip1(0)
print ip_list1
#-------------------------------------
class testit(Thread):
def __init__ (self,ip):
Thread.__init__(self)
self.ip = ip
self.status = -1
def run(self):
pingaling = os.popen("ping "+self.ip+" -n 10 ","r")
# This code is what each parallel thread does
# the 'run' method is triggered when 'start' is called
while 1:
line = pingaling.read()
startopenbracket = line.find("(")
startloss = line.find("loss")
print line[startopenbracket+1:startloss]
if not line: break
print
pinglist = []
for ip in ip_list:
# create a thread, add it to a thread list
current = testit(ip)
pinglist.append(current)
# start the thread running
current.start()
print time.ctime()
print ('Please wait...')
Bonjour fredericmazue,
bon voici un bon exemple de ce que j'essai de faire,
bien que novice en la matière, j'ai cherché, trouvé et embriqué divers script depuis 1 mois, je travaille très fort, voici, j'essai de (séduler) le programme pour qu'à un moment voulu, je puisse pinger divers serveurs/PC et d'avoir les résultats de ces pings pour compiler des statistiques et évaluer l'état du réseau.
mais j'ai 2 problèmes majeurs qui se posent :
a) comment séduler ce script
b) comment compiler mes stats, ds ce cas, ci, je n'ai qu'un résultat (soit: 0% mais devrait en avoir 2 autres).
Tu pourrais m'indiquer comment résoudre ces 2 litiges; a) et b)
voici à quoi ressemble mon Idle de Python lorsque j'exécute mon script:
Voici mon script: