15
2008
Man francais Hping
Voici un man en français pour Hping 2 que j’ai pris sur le site de underground54.serveurperso.com.
HPING2(8) HPING2(8)
NOM
hping2 – envoie des paquets TCP/IP (presque) arbitraires à
des systèmes réseauxRESUME
hping2 [ -hvnqVDzZ012WrfxykQbFSRPAUXYjJBuTG ] [ -c count ]
[ -i wait –fast ] [ ] [ -I interface ] [ -9 signature ] [
-a host ] [ -t ttl ] [ -N ip id ] [ -H ip protocol ] [ -g
fragoff ] [ -m mtu ] [ -o tos ] [ -C icmp type ] [ -K icmp
code ] [ -s source port ] [ -p[+][+] dest port ] [ -w tcp
window ] [ -O tcp offset ] [ -M tcp sequence number ] [ -L
tcp ack ] [ -d data size ] [ -E filename ] [ -e signature
] [ –icmp-ipver version ] [ –icmp-iphlen length ] [
–icmp-iplen length ] [ –icmp-ipid id ] [ –icmp-ipproto
protocol ] [ –icmp-cksum checksum ] [ –icmp-ts ] [
–icmp-addr ] [ –tcpexitcode ] [ –tcp-timestamp ] [
–tr-stop ] [ –tr-keep-ttl ] [ –tr-no-rtt ] [ –rand-
dest ] [ –rand-source ] hostnameDESCRIPTION
hping2 est un outil réseau capable d’envoyer des paquets
TCP/IP sur commande et d’afficher les réponses de la cible
comme le programme ping le fait avec les réponses ICMP.
hping2 traite la fragmentation, les contenus de paquets et
les tailles arbitraires, et peut être utilisé dans le but
de transférer des fichiers encapsulés dans les protocoles
supportés. En utilisant hping2 vous êtes capable
d’effectuer au moins les tâches suivantes :– Tester les règles d’un firewall
– Scanner des ports de façon avancée
- Tester les performances réseau en utilisant différents
protocoles, tailles de paquets, TOS (type de service) et
fragmentation.
– Découverte de "Path MTU"
- Transférer des fichiers même au travers de règles de
firewall vraiment fascistes.
– Comme traceroute avec différents protocoles.
– Utilisation comme Firewalk.
– Détermination d’OS à distance.
– Audit de pile TCP/IP.
– Beaucoup d’autres.C’est également un bon outil didactique pour apprendre
TCP/IP. hping2 est développé et maintenu par
[email protected] et est sous la version 2 de la licence
GPL. Le développement est ouvert donc vous pouvez
m’envoyer des patches, suggestions et affronts sans inhi
bition.SITE DE HPING
http://www.hping.org Vous pouvez trouver à la fois la ver
sion stable et les instructions pour télécharger le
dernier code source sur http://www.hping.org/download.htmlOPTIONS DE BASE
-h –help
Montre l’écran d’aide sur la sortie standard, donc
vous pouvez rediriger vers less.-v –version
Montre l’information de version et l’API utilisée
pour accéder au niveau données (data link layer),
linux sock packet ou libpcap-c –count count
Arrête après avoir envoyé (et reçu) count paquets
réponse. Après que le dernier paquet a été envoyé
hping2 attend COUNTREACHED_TIMEOUT secondes les
réponses du système cible. Vous avez la possibilité
de régler COUNTREACHED_TIMEOUT en éditant hping2.h-i –interval
Attend le nombre spécifié de secondes ou de micro
secondes entre l’envoie de chaque paquet. –inter
val X fixe wait à X secondes, –interval uX fixe
wait à X micro secondes. Le défaut est d’attendre
  une seconde entre chaque paquet. En utilisant
hping2 pour transférer des fichiers fixer cette
option est très important pour augmenter le taux de
transfert. Même en utilisant hping2 pour effectuer
des scans passifs/avec usurpation d’adresse vous
devriez fixer cette option, voir HPING2-HOWTO pour
plus d’informations.–fast Alias pour -i u10000. Hping envoiera 10 paquets par
seconde.-n –numeric
Sortie numérique seulement, aucune tentative ne
sera faite pour chercher les noms symboliques pour
les adresses système.-q –quiet
Sortie silencieuse. Rien n’est affiche excepté les
lignes de résume au moment du démarrage et quand
c’est fini.-I –interface interface name
Par défaut sur les systèmes linux et BSD hping2
utilise l’interface de routage par défaut. Sur
d’autres systèmes ou quand il n’y a pas d’interface
de routage par défaut hping2 utilise la première
interface non loopback. Quoi qu’il en soit vous
avez la possibilité de forcer hping2 à utiliser
l’interface dont vous avez besoin en utilisant
cette option. Note : vous n’avez pas besoin de
spécifier le nom complet, par exemple -I et va cor
respondre à eth0 ethernet0 myet1 et cetera. Si
aucune interface ne correspond hping2 essayera
d’utiliser lo.-V –verbose
Active la sortie verbeuse. Les réponses TCP seront
affichées comme suit :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=1380893504 sum=2010 urp=0-D –debug
Active le mode de débogage, c’est utile quand vous
rencontrez quelques problèmes avec hping2. Quand le
mode de débogage est activé vous obtiendrez plus
d’informations à propos de la détection des inter
faces, de l’accès au niveau données, du réglage des
interfaces, des options d’analyse, de la fragmenta
tion, du protocole HCMP et d’autres choses.-z –bind
lie CTRL+Z au time to live (TTL) ainsi vous serez
capable d’incrémenter/décrémenter le ttl des
paquets sortant en pressant CTRL+Z une ou deux
fois.-Z –unbind
dé-lie CTRL+Z ainsi vous serez capable d’arrêter
hping2SELECTION DE PROTOCOLE
Le protocole par défaut est TCP, par défaut hping2 enverra
des entêtes TCP sur le port 0 du système cible avec une
winsize (ndt : taille de fenêtre) de 64 sans aucun drapeau
TCP activé. Souvent c’est la meilleure manière de faire un
‘ping caché’, utile quand la cible est derrière un fire
wall qui jette ICMP. De plus un paquet TCP null-flag (ndt
: sans drapeau) vers le port 0 a de bonnes probabilités de
ne pas être journalisé.-0 –rawip
  mode RAW IP, dans ce mode hping2 enverra une entête
IP avec les données ajoutées avec –signature et/ou
–file, voir également –ipproto qui vous autorise
à fixer le champ protocole IP.-1 –icmp
mode ICMP, par défaut hping2 enverra un paquet ICMP
echo-request, vous pouvez fixer un autre type/code
ICMP en utilisant les options –icmptype –icmpcode-2 –udp
mode UDP, par défaut hping2 enverra des paquets UDP
vers le port 0 du système cible. Les options
réglables des entêtes UDP sont les suivantes :
–baseport, –destport, –keep.-9 –listen signature
mode d’écoute de HPING2, en utilisant cette option
hping2 attend les paquets qui contiennent signature
et exporte de la fin de la signature à la fin du
paquet. Par exemple si hping2 –listen TEST lit un
paquet qui contient 234-09sdflkjs45-TESThello_world
il affichera hello_worldOPTIONS IP
-a –spoof hostnameUtiliser cette option dans le but de fixer une
fausse adresse source, cette option assure que le
système cible n’obtiendra pas votre adresse réelle.
Quoi qu’il en soit les réponses seront envoyées à
l’adresse usurpée, ainsi vous ne serez pas capable
de les voir. Afin de voir comment il est possible
d’effectuer des scans avec des adresses
usurpées/passifs voir le fichier HPING2-HOWTO.–rand-source
Cette option active le mode source aléatoire.
hping enverra des paquets avec des adresses sources
aléatoires. Il est intéressant d’utiliser cette
option pour stresser les tables d’étât d’un fire
wall, et d’autres tables dynamiques basées sur les
IP dans les piles TCP/IP et les firewall logiciels.–rand-dest
Cette option active le mode destination aléatoire.
hping enverra des paquets à des adresses aléatoires
obtenues en suivant la règle que vous avez
spécifiée comme système cible. Vous avez besoin de
spécifier une adresse IP numérique en tant que
système cible comme 10.0.0.x. Toutes les
occurences de x seront remplacées avec un nombre
aléatoire dans l’intervalle 0-255. Ainsi pour
obtenir des adresses IP internet dans l’espace IPv4
complet utilisez quelque chose comme hping x.x.x.x
–rand-dest. Si vous n’êtes pas sûrs du genre
d’adresses que votre rêgle génère essayez
d’utiliser l’option –debug pour afficher chaque
nouvelle adresse destination générée. Attention :
quand cette option est activée hping ne peut pas
détecter la bonne interface de sortie pour les
paquets, ainsi vous devez utiliser l’option
–interface pour sélectionner l’interface de sor
  tie.
-t –ttl time to live
En utilisant cette option vous pouvez fixer le TTL
(time to live) des paquets sortant, il est vraisem
blable que vous utiliserez ceci avec les options
–traceroute ou –bind Dans le doute essayez `
hping2 some.host.com -t 1 –traceroute ?.-N –id
Fixe le champ ip->id . La valeur du champ id par
défaut est aléatoire mais si la fragmentation est
activée et que le champ id n’est pas spécifié alors
il sera égal à getpid() & 0xFF , mettre en oeuvre
une meilleure solution est dans la liste TODO (ndt
: à faire).-H –ipproto
Fixe le protocole IP dans le mode RAW IP.-W –winid
Le champ id des systèmes Windows* ont un byte
ordering (ndt : ordre des octets) différent, si
cette option est activée hping2 affichera propre
ment les champs id des réponses de windows.-r –rel
Affiche les incréments du champ id au lieu du champ
id. Voir le fichier HPING2-HOWTO pour plus d’infor
mations. Les incréments ne sont pas calculés comme
id[N]-id[N-1] mais en utilisant une compensation de
pertes de paquets. Voir le fichier relid.c pour
plus d’informations.-f –frag
Découpe les paquets en fragments, ceci peut être
utile afin de tester les performances de la frag
mentation des piles IP et de tester si certains
filtres de paquets sont si faibles qu’ils peuvent
être passés en utilisant de petits fragments
(anachronique). Par défaut le ‘mtu virtuel’ (ndt :
taille des fragments) est de 16 octets. Voir égale
ment l’option –mtu-x –morefrag
Fixe le drapeau IP "more fragments" (ndt : d’autres
fragments), utilisez cette option si vous voulez
que le système cible envoie un paquet ICMP time-
exceeded during reassembly (ndt : délai dépassé
durant le réassemblage).-y –dontfrag
Fixe le drapeau IP "don’t fragment" (ndt : ne pas
fragmenter), ceci peut être utilisé pour effectuer
un MTU path discovery (ndt : découverte de la
valeur minimale de la "taille maximale des paquets"
sur le chemin).-g –fragoff fragment offset value
Fixe l’offset du fragment-m –mtu mtu value
Fixe un ‘mtu virtuel’ différent de 16 quand la
fragmentation est activée. Si la taille des paquets
est supérieure au ‘mtu virtuel’ alors la fragmenta
tion est automatiquement activée.-o –tos hex_tos
Fixe Type Of Service (TOS) (ndt : le type de ser
vice), pour plus d’informations essayez –tos help-G –rroute
Enregistrer la route. Inclut l’option RECORD_ROUTE
dans chaque  paquet envoyé et affiche la route
présente dans le tampon du paquet retourné. Notez
que l’entête IP n’est suffisamment large que pour
neuf routes. Beaucoup de systèmes ignorent ou sup
priment cette option. Notez également qu’en util
isant hping vous êtes capable d’utiliser l’enreg
istrement de la route même si le système cible fil
tre ICMP. Enregistrer la route est une option IP,
non pas une option ICMP, ainsi vous pouvez utiliser
l’option d’enregistrement de la route même dans les
modes TCP et UDP.OPTIONS ICMP
-C –icmptype type
fixe le type ICMP, le défaut est ICMP echo request-K –icmpcode code
Fixe le code ICMP, le défaut est 0. (implique
–icmp)–icmp-ipver
Fixe la version IP de l’entête IP contenue dans les
données ICMP, le défaut est 4.–icmp-iphlen
Fixe la longueur de l’entête IP contenue dans les
données ICMP, le défaut est 5 (5 mots de 32 bits).–icmp-iplen
Fixe la longueur du paquet IP de l’entête IP con
tenue dans les données ICMP, le défaut est la
taille réelle.–icmp-ipid
Fixe le champ IP id de l’entête IP contenue dans
les données ICMP, le défaut est aléatoire.–icmp-ipproto
Fixe le protocole IP de l’entête IP contenue dans
les données ICMP, le défaut est TCP.–icmp-cksum
Fixe la somme de contrôle ICMP, le défaut est la
somme de contrôle valide.–icmp-ts
Alias pour –icmptype 13 (pour envoyer des requêtes
ICMP timestamp)–icmp-addr
Alias pour –icmptype 17 (pour envoyer des requêtes
ICMP masque réseau)OPTIONS TCP/UDP
-s –baseport source port
hping2 utilise le port source afin de deviner les
numéros de séquence des réponses. Il commence avec
un numéro de port source de base, et incrémente ce
numéro pour chaque paquet envoyé. Quand un paquet
est reçu alors le numéro de séquence peut être cal
culé comme port.source.réponse –
port.source.de.base Le port source de base par
défaut est aléatoire, en utilisant cette option
vous êtes capable de fixer un numéro différent. Si
vous avez besoin que le port source ne soit pas
incrémenté pour chaque paquet envoyé utilisez
l’option -k –keep-p –destport [+][+]dest port
Fixe le port destination, le défaut est 0. Si le
caractère ‘+’ précède le numéro de port destination
(i.e. +1024) le port destination sera incrémenté
pour chaque paquet reçu. Si deux ‘+’ précèdent le
numéro de port destination (i.e. ++1024), le port
  destination sera incrémenté pour chaque paquet
envoyé. Par défaut le port destination peut être
modifié interactivement en utilisant CTRL+z.–keep garde constant le port source, voir –baseport pour
plus d’informations.-w –win
Fixe la taille de la fenêtre TCP. Le défaut est 64.-O –tcpoff
Fixe un faux offset (ndt : décalage) des données
TCP. L’offset normal des données est tcphdrlen / 4.-M –tcpseq
Fixe le numéro de séquence TCP.-L –tcpack
Fixe le drapeau TCP ack.-Q –seqnum
Cette option peut être utilisée afin de collecter
les numéros de séquence générés par le système
cible. Ceci peut être utile quand vous avez besoin
d’analyser si les numéros de séquence TCP sont
prévisibles. Exemple de sortie :#hping2 win98 –seqnum -p 139 -S -i u1 -I eth0
HPING uaz (eth0 192.168.4.41): S set, 40 headers + 0 data bytes
2361294848 +2361294848
2411626496 +50331648
2545844224 +134217728
2713616384 +167772160
2881388544 +167772160
3049160704 +167772160
3216932864 +167772160
3384705024 +167772160
3552477184 +167772160
3720249344 +167772160
3888021504 +167772160
4055793664 +167772160
4223565824 +167772160La première colonne reporte les numéros de
séquence, la seconde la différence entre le numéro
de séquence courant et le dernier. Comme vous pou
vez le voir les numéros de séquence du système
cible sont prévisibles.-b –badcksum
envoie des paquets avec une mauvaise somme de
contrôle UDP/TCP–tcp-timestamp
active l’option TCP timestamp, et essaye de deviner
la fréquence de mise à jour du timestamp et
l’uptime du système distant.-F –fin
fixe le drapeau TCP FIN.-S –syn
fixe le drapeau TCP SYN.-R –rst
fixe le drapeau TCP RST.-P –push
fixe le drapeau TCP PUSH.-A –ack
fixe le drapeau TCP ACK.-U –urg
fixe le drapeau TCP URG.-X –xmas
fixe le drapeau TCP Xmas.-Y –ymas
fixe le drapeau TCP Ymas.OPTIONS COMMUNES
-d –data data size
fixe la taille du corps du paquet. Attention, en
utilisant –data 40 hping2 ne générera pas des
paquets de 0 octet mais de entête_de_protocole+40
octets. hping2 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 rem
plir 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 file
name-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]
# hping2 host_b –udp -p 53 -d 100 –sign signature –safe –file /etc/passwd
[host_b]
# hping2 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 HPING2-HOWTO.-T –traceroute
Mode traceroute. En utilisant cette option hping2
incrémentera le ttl pour chaque paquet ICMP time to
live 0 during transit reçu. Essayez hping2 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 hping2 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 TCP
Le 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 mslen est la taille, en octets, des données capturées dans
la couche liaison de données en excluant la taille de
l’entête de liaison de données. Ceci peut ne pas corre
spondre à la taille du datagramme IP à cause du rembour
rage 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’entête IP possède le bit don’t
fragment (ndt : ne pas fragmenter) positionné.seq est le numéro de séquence du paquet, obtenu en util
isant 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émen
taires à 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=0tos est le champ type de service de l’entê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’entête TCP.sum est la valeur de la somme de contrôle de l’entête TCP.
urp est la valeur du pointeur urgent TCP
FORMAT DE SORTIE UDP
Le format standard de sortie est :len=46 ip=192.168.1.1 seq=0 ttl=64 id=0 rtt=6.0 ms
La signification des champs est la même que celle de la
sortie TCP pour les champs de même nom.FORMAT DE SORTIE ICMP
Un exemple de sortie ICMP est :ICMP Port Unreachable from ip=192.168.1.1 name=nano.mar
moc.netIl est très facile à comprendre. Il commence avec la
chaîne "ICMP" suivie par la description de l’erreur ICMP,
dans l’exemple Port Unreachable (ndt : port non accessi
ble). Le champ ip est l’adresse IP source du datagramme IP
contenant l’erreur ICMP, le champ name est simplement
l’adresse numérique résolue en un nom (une requête dns
PTR) ou UNKNOWN si la résolution a échoué.Le format ICMP de Time exceeded during ou de reassembly
est un peu différent :TTL 0 during transit from ip=192.168.1.1 name=nano.mar
moc.netTTL 0 during reassembly from ip=192.70.106.25 name=UNKNOWN
La seule différence est la description de l’erreur, elle
commence avec TTL 0.AUTEUR
Salvatore Sanfilippo <[email protected]>, avec l’aide des
personnes mentionnées dans le fichier AUTHORS et sur
http://www.hping.org/authors.htmlBOGUES
Même en utilisant les options –end et –safe pour
transférer des fichiers, le paquet final sera rembourré
avec des octets 0x00.Les données sont lues sans tenir compte de l’alignement,
mais l’alignement est imposé dans les structures de
données. Ceci ne sera pas un problème sous i386 mais,
alors que normalement les entêtes TCP/IP sont naturelle
ment alignées, cela peut créer des problèmes avec divers
processeurs et des paquets malformés si il y a des accès
non alignés quelque part dans le code (aucun avec un peu
de chance).Sur Solaris hping ne fonctionne pas sur l’interface loop
back. Ceci semble être un problème solaris, comme exposé
dans la liste de diffusion tcpdump-workers, ainsi la libp
cap ne peut rien faire pour la supporter correctement.VOIR AUSSI
ping(8), traceroute(8), ifconfig(8), nmap(1)TRADUCTEUR
Denis Ducamp <[email protected]>2001 Aug 14 HPING2(8)
Laissez un commentaire
Publicité :)
Articles récents
- Memento VI – Boostez Votre Productivité avec Vi : Trucs et Astuces à Connaître
- Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare
- Récupérer les informations d’un Ordinateur Terra à partir du numéros de série avec Python
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
Mot-clefs
Commentaires récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Rotation des logs avec logrotate dans
- Hôte déconnecté sur le Vcenter. Impossible de se connecter à l’ESX. dans
- Pourquoi mon interface vlan ne veut pas devenir up ? dans