Delgado Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 hallo zusammen, ich bin auf der Suche nach einem Script das mir in einem Netz z.b 192.168.7.x alle IP-Adressen rauszieht die pingen. Hintergrund ist ich muss wissen welche Rechner/IP-Adressen an sind oder nicht. Dann müsst ich immer eine nach der anderen anpingen. Kann man das in einem Script lösen? Kann mir da jemand netterweise nen Tipp geben? Zitieren
flashpixx Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 Du könntest unter z.B. über ein PHP-Script per "Brut-Force" über exec einen Ping versenden und das Ergebnis prüfen. Persönlich finde ich das aber sehr unschön, denn einfach alle Adressen im Netz durchlaufen und pingen, naja. Du könntest auch die Arp-Tabelle holen und diese auswerten und dann gezielt auswerten. Ein weiteres Problem ist, wenn ein Rechner durch eine FW keine ICMP Antworten sendet. Ich denke eine gute Lösung wäre die Daten, als welchem Port welche Mac-Adresse hängt, vom Switch per SNMP zu holen und falls Du die IP benötigst diese Per ARP zu erfragen ggf. dann über die IP und DNS den Hostnamen. Phil Zitieren
bigvic Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 Hi, ist kein Problem. Ich würde dazu Perl und das Standardmodul net::ping benutzen. ciao, vic Zitieren
Carnie Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 Vielleicht hilft dir der Schalter -b beim Linux Ping Befehl weiter. -b Allow pinging a broadcast address. Zitieren
lupo49 Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 #!/usr/bin/perl -w use strict; use Net::Ping; my $i = 0; my $host = 0; my $ping = Net::Ping->new('icmp', 1); my $online = open(ONLINE, ">online.txt"); my $offline = open(OFFLINE, ">offline.txt"); for($i = 0; $i <= 25; $i++) { $host = "192.168.0.$i"; if($ping->ping($host)) { print "Online: $host\n"; print ONLINE "Online: $host\n"; } else { print "Offline: $host\n"; print OFFLINE "Offline: $host\n"; } } # eof Zitieren
bigvic Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 Hi, aber bedenke: If the "icmp" protocol is specified, the ping() method sends an icmp echo message to the remote host, which is what the UNIX ping program does. If the echoed message is received from the remote host and the echoed information is correct, the remote host is considered reachable. Specifying the "icmp" protocol requires that the program be run as root or that the program be setuid to root. Und ich hoffe, dass du dein Webserver nicht als root laufen hast ... ciao, vic Zitieren
lupo49 Geschrieben 26. Juli 2007 Geschrieben 26. Juli 2007 Man kann auch bei der Objekterzeugung "udp" oder "tcp" nehmen, da wo jetzt "icmp" steht. Das erfordert dann keine Root-Berechtigungen. Zitieren
hijacker Geschrieben 28. Juli 2007 Geschrieben 28. Juli 2007 Ebenfalls eine einfache Lösung ist "nmap -F 192.168.7.0/24". Belohnt wirst du mit einer feinen Liste aller im Netzwerk aktiven Kisten inkl. Ports.. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.