Ping ins gesamte Subnetz

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
hronny
Beiträge: 265
Registriert: 29.08.2004 13:07:42
Wohnort: Sonneberg

Ping ins gesamte Subnetz

Beitrag von hronny » 03.10.2004 21:46:47

Hi. Ich möchte mein ganzes Netz testen, ob alle Rechner bzw. Accesspoints funktionieren. Dachte mir das das mit ping am besten funktioniert. Das erste Problem war ja schon: bei Debian Woody ist mit dem Standart ping-programm es leider nicht möglich den Parameter -w (Wait) anzugeben, damit bei einem ping der nicht zurückkommt nach einer Zeit abgebrochen wird. Habe herausgefunden das man iputils-ping mittels apt-get nachinstallieren muss, dann geht das

Code: Alles auswählen

ping -w 1 192.168.1.1
Wie mache ich das das komplette Subnetz "gepingt" wird? Man sagte mir ich sollte als IP die Broadcast-Adresse eingeben und mittels 'arp' die Daten auslesen, aber das funzt irgendwie nicht :?:

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 03.10.2004 22:06:45

Ich benutz für sowas nmap:

Code: Alles auswählen

peschmae@thinkpad:~$ nmap -sP 192.168.1.*

Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2004-10-03 22:05 CEST
Host 192.168.1.1 appears to be up.
Host 192.168.1.37 appears to be up.
Host 192.168.1.39 appears to be up.
Nmap run completed -- 256 IP addresses (3 hosts up) scanned in 2.694 seconds
peschmae@thinkpad:~$ 
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

hronny
Beiträge: 265
Registriert: 29.08.2004 13:07:42
Wohnort: Sonneberg

Beitrag von hronny » 03.10.2004 23:54:00

Supi! genau sowas habe ich gesucht. Man muss dazu sagen, das man möglichst die neue Version (3.70) verwenden muss (+OpenSSL) da die Version von Woody (2.90) bei mir 5 mal länger gebraucht hat. :D
Jetzt muss das Ganze noch in ein Array dann die erreichten IP-Adressen anpingen, jeweils 5 Sek dann den Schnitt in ein Array und das Ganze in eine Datei um die mit PHP anzuschauen. Mal sehen wie weit ich komme!

Thx

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 04.10.2004 00:34:44

Hi!

checkhosts.py:

Code: Alles auswählen

#!/usr/bin/python

import os

output = os.popen("nmap -sP 192.168.0.*").readlines()
# liest nmap-Output ein
hosts = [line[line.find("(")+1:line.find(")")] for line in output if line.find("to be up") >= 0]
# erstellt eine Datei mit Host-IPs von allen gefundenen Hosts

outfile = open("logfile","w")
# die Ausgabedatei öffnen

for host in hosts:
   output = os.popen("ping -c4 "+host).readlines()
   # liest den Output des ping-Befehls
   times = [float(line[line.find("time=")+5:-4]) for line in output if line.find("bytes from")>=0]
   # erstellt daraus die benötigten Zeiten für den ping-Durchlauf
   outfile.write(" === "+host+" === \n")
   average = sum(times)/len(times)
   outfile.write(str(average)+" ms\n\n")
   # rechnet den Durchschnitt aus und schreibt ihn in die Ausgabedatei

outfile.close()
$ python checkhosts.py
$ cat logfile
=== 192.168.0.1 ===
0.253 ms

=== 192.168.0.2 ===
0.053 ms
Bye
g-henna
follow the penguin...

Antworten