Générer des paquets IP avec HPING…

Date: 10/07/2007 | Catégories: Open-source,Reseau | Tags: ,,,,,,

... ou comment tester de manière efficace son réseau...

Installation (sur Fedora)

Après avoir récupéré les sources sur le site officiel, dézippé et détarré...

yum install libnet-devel libpcap-devel
ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
./configure --no-tcl
make
make install

Exemples d'utilisations

Un ping TCP simple (pardéfaut sur le port 0):

# hping 192.168.29.1
HPING 192.168.29.1 (eth0 192.168.29.1): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.29.1 ttl=64 id=21068 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.29.1 ttl=64 id=48983 sport=0 flags=RA seq=1 win=0 rtt=0.3 ms
len=46 ip=192.168.29.1 ttl=64 id=44368 sport=0 flags=RA seq=2 win=0 rtt=0.2 ms
...

Un ping TCP sur le port 80:

# hping 192.168.29.1 -c 2 -S -p 80 -n
HPING 192.168.29.1 (eth0 192.168.29.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.29.1 ttl=64 DF id=14101 sport=80 flags=SA seq=0 win=57344 rtt=0.2 ms
len=46 ip=192.168.29.1 ttl=64 DF id=6759 sport=80 flags=SA seq=1 win=57344 rtt=0.5 ms
...

Un ping ICMP (même fonction que le ping classique):

#hping 192.168.29.1 -1
HPING 192.168.29.1 (eth0 192.168.29.1): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.29.1 ttl=64 id=52414 icmp_seq=0 rtt=0.3 ms
len=46 ip=192.168.29.1 ttl=64 id=18412 icmp_seq=1 rtt=0.2 ms
...

Un ping TCP avec spoofing (c'est à dire génération d'un paquet avec une adresse IP source différente de celle de la machine qui lance le hping):

# hping 192.168.29.1 -a www.google.fr
HPING 192.168.29.1 (eth0 192.168.29.1): NO FLAGS are set, 40 headers + 0 data bytes
...

PS: dans ce mode, vous n'aurez bien sur pas les réponses, qui seront envoyés à la machine spécifiée par l'option -a... c'est pour cela que c'est une attaque ben connue dans le monde des réseaux).

Quelques options...

-i : permet de fixer l'intervalle de temps (en seconde) entre deux pings
-c : nombre de paquets à générer
-q: affiche seulement le rapport final

Exemple:
...
--- 192.168.29.1 hping statistic ---
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.3 ms

-V: active le mode verbose

Exemple:
len=46 ip=192.168.29.1 ttl=64 id=6825 tos=0 iplen=40
sport=0 flags=RA seq=2 win=0 rtt=0.3 ms
seq=0 ack=624676233 sum=fdf5 urp=0
-0: active le mode RAW IP
-1: active le mode ICMP
-2: active le mode UDP

Si vous voulez une liste de toutes les options, c'est par ici.

Partager ce billet