Options communes-d --data data size Fixe la taille du corps du paquet. Attention, en utilisant --data 40 hping3 ne générera pas des paquets de 0 octet mais de en-tête_de_protocole+40 octets. hping3 affichera en information la taille des paquets comme première ligne de sortie, comme ceci : HPING
www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes
-E --file filename Utilise le contenu du fichier filename pour remplir les données du paquet.
-e --sign signature Remplit d’abord longueur de signature octets de données avec signature. Si longueur de signature est plus grand que la taille des données alors un message d’erreur sera affiché. Si vous ne spécifiez pas la taille des données hping utilisera la taille de la signature comme taille des données. Cette option peut être utilisée sans risque avec l’option --file filename, l’espace de données restant sera rempli en utilisant le fichier filename.
-j --dump Affiche les paquets en hexadécimal.
-J --print Affiche les caractères imprimables des paquets reçus.
-B --safe Active le protocole safe, en utilisant cette option les paquets perdus dans un transfert de fichier seront renvoyés. Par exemple afin d’envoyer le fichier /etc/passwd depuis le système A au système B vous pouvez utiliser ce qui suit :
[host_a]
# hping3 host_b --udp -p 53 -d 100 --sign signature --safe--file /etc/passwd (sur la même ligne)
[host_b]
# hping3 host_a --listen signature --safe --icmp
-u --end Si vous utilisez l’option --file filename, cela vous dit quand la fin du fichier a été atteinte. D’ailleurs cela prévient que l’autre côté accepte plus de paquets. S’il vous plaît, pour plus d’informations voir le fichier HPING3-HOWTO.
-T --traceroute Mode traceroute. En utilisant cette option hping3 incrèmentera le ttl pour chaque paquet ICMP time to live 0 during transit reçu. Essayez hping3 host --traceroute. Cette option implique --bind et --ttl 1. Vous pouvez l’emporter sur le ttl à 1 en utilisant l’option --ttl. Depuis 2.0.0 stable il affiche les informations de RTT.
--tr-keep-ttl
Garde le ttl fixe en mode traceroute, ainsi vous pouvez contrôler simplement un noeud sur la route. Par exemple, pour contrôler comment le 5ème noeud change ou comment son RTT change vous pouvez essayer hping3 host --traceroute --ttl 5 --tr-keep-ttl.
--tr-stop Si cette option est spécifiée hping quittera dès que le premier paquet qui n’est pas un ICMP time exceeded est reçu. Ceci émule mieux le comportement de traceroute.
--tr-no-rtt Ne montre pas l’information RTT en mode traceroute. L’information du RTT des ICMP time exceeded n’est même pas calculée si cette option est positionnée.
--tcpexitcode Quitte avec le champ tcp->th_flag du dernier paquet reçu comme code de retour. Utile pour les scripts qui ont besoin, par exemple, de savoir si le port 999 de quelque système répond avec SYN/ACK ou avec RST en réponse à un SYN, i.e. le service est lancé ou arrêté.
Format de sortie TCPLe format standard de sortie TCP est le suivant :
len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms
len est la taille, en octets, des données capturées dans la couche liaison de données en excluant la taille de l’en-tête de liaison de données. Ceci peut ne pas correspondre à la taille du datagramme IP à cause du rembourrage bas niveau de la couche liaison de données.
ip est l’adresse ip source.
flags sont les drapeaux TCP, R pour RESET, S pour SYN, A pour ACK, F pour FIN, P pour PUSH, U pour URGENT, X pour 0x40 non standard, Y pour 0x80 non standard.
Si la réponse contient DF l’en-tête IP possède le bit don’t fragment (ne pas fragmenter) positionné.
seq est le numéro de séquence du paquet, obtenu en utilisant le port source pour les paquets TCP/UDP, le champ séquence pour les paquets ICMP.
id est le champ IP ID.
win est la taille de la fenêtre TCP
rtt est le "round trip time" (ndt : temps aller-retour) en millisecondes.
Si vous exécutez hping en utilisant l’option -V de la ligne de commande il affichera des informations supplèmentaires à propos du paquet, par exemple :
len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms tos=0 iplen=40 seq=0 ack=1223672061 sum=e61d urp=0
tos est le champ type de service de l’en-tête IP.
iplen est le champ IP longueur totale.
seq et ack sont les numéros de séquence et d’acquittement sur 32 bits dans l’en-tête TCP.
sum est la valeur de la somme de contrôle de l’en-tête TCP.
urp est la valeur du pointeur urgent TCP.