Ajouter un commentaire

Charlie

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...')

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
     J  V     V  FFFF  RRRR   PPPP  
J V V F R R P P
J V V FFF RRRR PPPP
J J V V F R R P
JJJ V F R RR P