Ein Skript, um eine Gruppe von IPs anzupingen und nur mit „Online“ zurückzukehren?

Ein Skript, um eine Gruppe von IPs anzupingen und nur mit „Online“ zurückzukehren?

Ich brauche ein Skript, das eine Gruppe von IPs anpingt und als Ergebnis die Online-IP zurückgibt. Es wird beispielsweise Folgendes ausgeben: 10.10.10.10 ist online

10.10.10.11 ist online

10.10.10.15 ist online

Ohne Verwendung von Paketen oder Dienstprogrammen von Drittanbietern!

Irgendeine Hilfe ?

Antwort1

Kein Skript erforderlich.nmapInstallieren Sie nmapkann das für Sie tun.

Um beispielsweise ein 10.10.10.0/24 Netzwerk zu scannen, führen Sie

nmap -sn 10.10.10.0/24

Dadurch wird gemeldet, dass Hosts aktiv sind, indem sie auf eine ICMP-Echoanforderung (Ping) antworten. Eine Beispielausgabe:

Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-30 00:40 CET
Nmap scan report for 10.10.10.1
Host is up (0.0061s latency).
Nmap scan report for 10.10.10.2
Host is up (0.00071s latency).
Nmap scan report for android (10.10.10.112)
Host is up (0.0087s latency).
Nmap scan report for laptop (10.10.10.134)
Host is up (0.00037s latency).
Nmap scan report for 10.10.10.151
Host is up (0.00094s latency).
Nmap scan report for 10.10.10.203
Host is up (0.00060s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 3.41 seconds

Antwort2

Das folgende Skript führt eine Schleife in den IP-Adressen eines Subnetzes aus und gibt als Ergebnis nur die Online-IP zurück:

#!/bin/bash

is_alive_ping()
{
  ping -c 1 $1 > /dev/null
  [ $? -eq 0 ] && echo Node with IP: $i is Online.
}

for i in 10.1.1.{1..255} 
do
is_alive_ping $i & disown
done

Beachten Sie, dass Sie 10.1.1 in Ihr Subnetz ändern müssen. Eine 1..255 weist das Skript an, bei 10.1.1.1 zu starten und eine Schleife mit 10.1.1.255 auszuführen.

Ausführen:

./ping_scan.sh

verwandte Informationen