Good to Know Database

ICMP- und TCP-Ping mit hping3


Im Gegensatz zum Befehl ping, welcher nur einen ICMP Echo Request senden kann, bietet Ihnen hping3 die Möglichkeit einen ICMP- oder einen TCP-Ping an einen Rechner zu senden. Da hping3 IP-Pakete erstellt und versendet, benötigen Sie zum Ausführen von hping3 die Rechte des Benutzers root.

ICMP-Ping

Damit hping3 einen ICMP Echo Request sendet, müssen Sie die Option -1 beim Befehlsaufruf angeben. Mit der Option -c können Sie die Anzahl der Pings angeben.

[root@centos5 ~]# hping3 -1 -c 5 192.168.10.2
HPING 192.168.10.2 (eth0 192.168.10.2): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.10.2 ttl=64 id=65021 icmp_seq=0 rtt=0.7 ms
len=46 ip=192.168.10.2 ttl=64 id=65022 icmp_seq=1 rtt=0.5 ms
len=46 ip=192.168.10.2 ttl=64 id=65023 icmp_seq=2 rtt=0.5 ms
len=46 ip=192.168.10.2 ttl=64 id=65024 icmp_seq=3 rtt=0.5 ms
len=46 ip=192.168.10.2 ttl=64 id=65025 icmp_seq=4 rtt=0.5 ms

--- 192.168.10.2 hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.5/0.7 ms

Normalerweise sendet der Befehl ping und hping3 bei Verwendung der Option -1 einen ICMP Echo Request (ICMP-Typ 8) an den Zielrechner. Neben dem ICMP Echo Request kann auch der ICMP Timestamp Request (ICMP-Typ 13) und der ICMP Address Mask Request (ICMP-Typ 17) zur Hosterkennung verwendet werden. Mit der Option -C können Sie den gewünschten ICMP-Typ angeben. Alternativ zur Option -C und dem jeweiligen ICMP-Typ können Sie auch die Optionen --icmp-ts (ICMP Timestamp Request) und --icmp-addr (ICMP Address Mask Request) angeben.

[root@centos5 ~]# hping3 -1 -C 13 -c 1 192.168.10.2
HPING 192.168.10.2 (eth0 192.168.10.2): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.10.2 ttl=64 id=65034 icmp_seq=0 rtt=0.7 ms
ICMP timestamp: Originate=22517669 Receive=22517747 Transmit=22517747
ICMP timestamp RTT tsrtt=1


--- 192.168.10.2 hping statistic ---
1 packets tramitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.7/0.7/0.7 ms

[root@centos5 ~]# hping3 -1 -C 17 -c 1 192.168.10.2
HPING 192.168.10.2 (eth0 192.168.10.2): icmp mode set, 28 headers + 0 data bytes

--- 192.168.10.2 hping statistic ---
1 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

Wie Sie den hier gezeigten Ausgaben entnehmen können, antwortet das Zielsystem zwar auf den ICMP Echo Request und auf den ICMP Timestamp Request jedoch nicht auf den ICMP Broadcast Request. Viele Administratoren verhindern das Senden eines ICMP Echo Response und bei aktuellen Windows Versionen (Windows XP ab SP2, Windows Vista, Windows 7, ...) ist dies standardmäßig deaktiviert. Aus diesem Grund sollte man aus den hieraus gewonnenen Informationen nicht zu voreilige Schlüsse ziehen.

TCP-SYN-Ping

Für einen TCP-SYN-Ping benötigen Sie einen offenen TCP-Port auf dem Zielsystem. Wenn Sie wissen welchen Service das Zielsystem anbietet, kennen Sie in der Regel bereits einen TCP-Port welchen Sie verwenden können. Dient ein System zum Beispiel als Webserver, ist in der Regel der TCP-Port 80 (HTTP) offen. Sollten Sie keine Informationen über das Zielsystem haben, können Sie zum Beispiel mit Nmap einen TCP-Portscan durchführen. Im folgenden Beispiel verwende ich die Zieladresse www.microsoft.com.

Wenn Sie einen einfachen ICMP Echo Request mit ping an die Adresse www.microsoft.com senden, erhalten Sie keine Antwort vom Zielsystem, da dieses einen eingehenden ICMP Echo Request ignoriert.

[root@centos5 ~]# ping -c 5 www.microsoft.com
PING lb1.www.ms.akadns.net (207.46.192.254) 56(84) bytes of data.

--- lb1.www.ms.akadns.net ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms

Da wir aber wissen, dass bei diesem Zielsystem mindestens der TCP-Port 80 (HTTP) offen sein muss, senden wir mit hping3 TCP-Pakete mit gesetztem SYN-Flag (-S oder --syn) an den Port 80 (-p) des Zielsystems. Wenn das System erreichbar und der TCP-Port offen ist, sendet das Zielsystem ein TCP-Paket mit gesetztem SYN- und ACK-Flag zurück.

[root@centos5 ~]# hping3 -S -c 5 -p 80 www.microsoft.com
HPING www.microsoft.com (eth0 207.46.193.254): S set, 40 headers + 0 data bytes
len=46 ip=207.46.193.254 ttl=246 id=11054 sport=80 flags=SA seq=0 win=8190 rtt=231.0 ms
len=46 ip=207.46.193.254 ttl=246 id=32349 sport=80 flags=SA seq=1 win=8190 rtt=229.9 ms
len=46 ip=207.46.193.254 ttl=246 id=60301 sport=80 flags=SA seq=2 win=8190 rtt=230.0 ms
len=46 ip=207.46.193.254 ttl=246 id=39613 sport=80 flags=SA seq=3 win=8190 rtt=230.3 ms
len=46 ip=207.46.193.254 ttl=246 id=22000 sport=80 flags=SA seq=4 win=8190 rtt=229.1 ms

--- www.microsoft.com hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 229.1/230.1/231.0 ms

TCP-ACK-Ping

Beim TCP-ACK-Ping (-A oder --ack) wird ein TCP-Paket mit gesetztem ACK-Flag an das Zielsystem gesendet. Da jedoch keine TCP-Verbindung zum Zielsystem besteht, wird dieses das gesendete Paket mit einem RST-Paket ablehnen und sich somit verraten.

[root@centos5 ~]# hping3 -A -c 5 192.168.10.2
HPING 192.168.10.2 (eth0 192.168.10.2): A set, 40 headers + 0 data bytes
len=46 ip=192.168.10.2 ttl=64 DF id=10577 sport=0 flags=R seq=0 win=0 rtt=0.4 ms
len=46 ip=192.168.10.2 ttl=64 DF id=10578 sport=0 flags=R seq=1 win=0 rtt=0.5 ms
len=46 ip=192.168.10.2 ttl=64 DF id=10579 sport=0 flags=R seq=2 win=0 rtt=0.5 ms
len=46 ip=192.168.10.2 ttl=64 DF id=10580 sport=0 flags=R seq=3 win=0 rtt=0.4 ms
len=46 ip=192.168.10.2 ttl=64 DF id=10581 sport=0 flags=R seq=4 win=0 rtt=0.5 ms

--- 192.168.10.2 hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.4/0.5 ms

Allgemeine Optionen

Wenn Sie hping3 ohne Optionen aufrufen, wird ein TCP-Paket ohne gesetzte Flags an den Port 0 des Zielsystems gesendet.

[root@centos5 ~]# hping3 192.168.10.2

Die Option -c wurde bereits in den gezeigten Beispielen verwendet und gibt die Anzahl der zu sendenden Pings an. Wenn Sie diese Option nicht angeben, werden fortlaufend Pings gesendet und Sie müssen den Vorgang mit CTRL+C abbrechen.

[root@centos5 ~]# hping3 -1 -c 5 192.168.10.2

Durch die Option -I können Sie das Interface angeben, über welches die Pings gesendet werden sollen.

[root@centos5 ~]# hping3 -1 -I eth0 192.168.10.2

Mit der Option --beep erhalten Sie eine akustische Ausgabe wenn eine Antwort auf einen Ping angekommen ist.

[root@centos5 ~]# hping3 -1 --beep 192.168.10.2

Weitere Informationen zu hping3 finden Sie in der dazugehörigen Manpage.

[root@centos5 ~]# man hping3


Dieser Eintrag wurde am 29.07.2009 erstellt und zuletzt am 10.11.2009 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_712.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer