Files
hping3/docs/french/hping2-fr.8.txt

695 lines
30 KiB
Plaintext
Raw Normal View History

2022-04-13 18:01:39 +08:00
HPING2(8) HPING2(8)
NOM
hping2 - envoie des paquets TCP/IP (presque) arbitraires <20>
des syst<73>mes r<>seaux
RESUME
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 ] hostname
DESCRIPTION
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 <20>tre utilis<69> dans le but
de transf<73>rer des fichiers encapsul<75>s dans les protocoles
support<72>s. En utilisant hping2 vous <20>tes capable
d'effectuer au moins les t<>ches suivantes :
- Tester les r<>gles d'un firewall
- Scanner des ports de fa<66>on avanc<6E>e
- Tester les performances r<>seau en utilisant diff<66>rents
protocoles, tailles de paquets, TOS (type de service) et
fragmentation.
- D<>couverte de "Path MTU"
- Transf<73>rer des fichiers m<>me au travers de r<>gles de
firewall vraiment fascistes.
- Comme traceroute avec diff<66>rents protocoles.
- Utilisation comme Firewalk.
- D<>termination d'OS <20> distance.
- Audit de pile TCP/IP.
- Beaucoup d'autres.
C'est <20>galement un bon outil didactique pour apprendre
TCP/IP. hping2 est d<>velopp<70> et maintenu par
antirez@invece.org 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<68>
bition.
SITE DE HPING
site primaire sur http://www.hping.org. Vous pouvez trou<6F>
ver <20> la fois la version stable et les instructions pour
t<>l<EFBFBD>charger le dernier code source sur
http://www.hping.org/download.html
OPTIONS DE BASE
-h --help
Montre l'<27>cran d'aide sur la sortie standard, donc
vous pouvez rediriger vers less.
-v --version
Montre l'information de version et l'API utilis<69>e
pour acc<63>der au niveau donn<6E>es (data link layer),
linux sock packet ou libpcap.
-c --count count
Arr<72>te apr<70>s avoir envoy<6F> (et re<72>u) count paquets
r<>ponse. Apr<70>s que le dernier paquet a <20>t<EFBFBD> envoy<6F>
hping2 attend COUNTREACHED_TIMEOUT secondes les
r<>ponses du syst<73>me cible. Vous avez la possibilit<69>
de r<>gler COUNTREACHED_TIMEOUT en <20>ditant hping2.h
-i --interval
Attend le nombre sp<73>cifi<66> de secondes ou de micro
secondes entre l'envoie de chaque paquet. --inter<65>
val X fixe wait <20> X secondes, --interval uX fixe
wait <20> X micro secondes. Le d<>faut est d'attendre
une seconde entre chaque paquet. En utilisant
hping2 pour transf<73>rer des fichiers fixer cette
option est tr<74>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 enverra 10 paquets par
seconde.
--faster
Alias pour -i u1. Plus rapide que --fast ;) (mais
pas aussi rapide que votre ordinateur peut envoyer
des paquets <20> cause de la conception bas<61>e sur les
signaux).
-n --numeric
Sortie num<75>rique seulement, aucune tentative ne
sera faite pour chercher les noms symboliques pour
les adresses syst<73>me.
-q --quiet
Sortie silencieuse. Rien n'est affiche except<70> 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<73>mes linux et BSD hping2
utilise l'interface de routage par d<>faut. Sur
d'autres syst<73>mes ou quand il n'y a pas d'interface
de routage par d<>faut hping2 utilise la premi<6D>re
interface non loopback. Quoi qu'il en soit vous
avez la possibilit<69> de forcer hping2 <20> utiliser
l'interface dont vous avez besoin en utilisant
cette option. Note : vous n'avez pas besoin de
sp<73>cifier le nom complet, par exemple -I et va cor<6F>
respondre <20> 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<63>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<62>mes avec hping2. Quand le
mode de d<>bogage est activ<69> vous obtiendrez plus
d'informations <20> propos de la d<>tection des inter<65>
faces, de l'acc<63>s au niveau donn<6E>es, du r<>glage des
interfaces, des options d'analyse, de la fragmenta<74>
tion, du protocole HCMP et d'autres choses.
-z --bind
Lie CTRL+Z au time to live (TTL) ainsi vous serez
capable d'incr<63>menter/d<>cr<63>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<72>ter
hping2
SELECTION DE PROTOCOLE
Le protocole par d<>faut est TCP, par d<>faut hping2 enverra
des ent<6E>tes TCP sur le port 0 du syst<73>me cible avec une
winsize (ndt : taille de fen<65>tre) de 64 sans aucun drapeau
TCP activ<69>. Souvent c'est la meilleure mani<6E>re de faire un
'ping cach<63>', utile quand la cible est derri<72>re un fire<72>
wall qui jette ICMP. De plus un paquet TCP null-flag (ndt
: sans drapeau) vers le port 0 a de bonnes probabilit<69>s de
ne pas <20>tre journalis<69>.
-0 --rawip
Mode RAW IP, dans ce mode hping2 enverra une ent<6E>te
IP avec les donn<6E>es ajout<75>es avec --signature et/ou
--file, voir <20>galement --ipproto qui vous autorise
<20> 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<73>me cible. Les options
r<>glables des ent<6E>tes UDP sont les suivantes :
--baseport, --destport, --keep.
-8 --scan
Mode scan, l'option attend un argument qui d<>crit
des groupes de ports <20> scanner. Les groupes de
ports sont s<>par<61>s par des virgules : un nombre
d<>crit seulement un port unique, donc 1,2,3 signi<6E>
fie ports 1, 2 et 3. Les intervalles sont sp<73>cifi<66>s
en utilisant une notation d<>but-fin, comme 1-1000,
qui dit <20> hping de scanner les ports entre 1 et
1000 (inclus). Le mot sp<73>cial all est un alors pour
0-65535, pendant que le mot sp<73>cial known inclut
tous les ports list<73>s dans /etc/services.
Les groupes peuvent <20>tre combin<69>s, donc la commande
suivante scannera les ports entre 1 et 1000 ET le
port 8888 ET les ports list<73>s dans /etc/services:
hping --scan 1-1000,8888,known -S target.host.com
Les groupes peuvent <20>tre ni<6E>s (soustraits) en util<69>
isant un caract<63>re ! comme pr<70>fix, donc la ligne de
commande suivante scannera tous les ports NON
list<73>s dans /etc/services dans l'intervalle 1-1024
: hping --scan '1-1024,!known' -S target.host.com
Gardez <20> l'esprit que pendant que hping appara<72>t
beaucoup plus comme un scanneur de ports dans ce
mode, la plupart des options sont toujours
honor<6F>es, donc pour effectuer par exemple un scan
SYN vous avez besoin de sp<73>cifier l'option -S, vous
pouvez changer la taille de la fen<65>tre TCP, le TTL,
contr<74>ler la fragmentation IP comme habituellement,
et ainsi de suite. La seule diff<66>rence r<>elle est
que le comportement standard de hping est encapsul<75>
dans un algorithme de scan.
Note technique : Le mode scan utilise une concep<65>
tion bas<61>e sur deux processus, avec de la m<>moire
partag<61>e pour la synchronisation. L'algorithlme de
scan n'est toujours pas optimal, mais d<>j<EFBFBD> assez
rapide.
Conseil : <20> la diff<66>rence de la plupart des scan<61>
neurs, hping montre quelques informations
int<6E>ressantes <20> propos des paquets re<72>us, les
champs IP ID, TCP win, TTL, et ainsi de suite,
n'oubliez pas de regarder ces informations addi<64>
tionnelles quand vous effectuez un scan! Quelques
fois elles montrent des d<>tails int<6E>ressants.
-9 --listen signature
Mode d'<27>coute de HPING2, en utilisant cette option
hping2 attend les paquets qui contiennent signature
et exporte de la fin de la signature <20> la fin du
paquet. Par exemple si hping2 --listen TEST lit un
paquet qui contient 234-09sdflkjs45-TESThello_world
il affichera hello_world.
OPTIONS IP
-a --spoof hostname
Utiliser cette option dans le but de fixer une
fausse adresse source, cette option assure que le
syst<73>me cible n'obtiendra pas votre adresse r<>elle.
Quoi qu'il en soit les r<>ponses seront envoy<6F>es <20>
l'adresse usurp<72>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<72>es/passifs voir le fichier HPING2-HOWTO.
--rand-source
Cette option active le mode source al<61>atoire.
hping enverra des paquets avec des adresses sources
al<61>atoires. Il est int<6E>ressant d'utiliser cette
option pour stresser les tables d'<27>t<EFBFBD>t d'un fire<72>
wall, et d'autres tables dynamiques bas<61>es sur les
IP dans les piles TCP/IP et les firewall logiciels.
--rand-dest
Cette option active le mode destination al<61>atoire.
hping enverra des paquets <20> des adresses al<61>atoires
obtenues en suivant la r<>gle que vous avez
sp<73>cifi<66>e comme syst<73>me cible. Vous avez besoin de
sp<73>cifier une adresse IP num<75>rique en tant que
syst<73>me cible comme 10.0.0.x. Toutes les occur<75>
rences de x seront remplac<61>es avec un nombre
al<61>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'<27>tes pas s<>rs du genre
d'adresses que votre r<>gle g<>n<EFBFBD>re essayez
d'utiliser l'option --debug pour afficher chaque
nouvelle adresse destination g<>n<EFBFBD>r<EFBFBD>e.
Attention : quand cette option est activ<69>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<6F>
tie.
-t --ttl time to live
En utilisant cette option vous pouvez fixer le TTL
(time to live) des paquets sortant, il est vraisem<65>
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<61>atoire mais si la fragmentation est
activ<69>e et que le champ id n'est pas sp<73>cifi<66> alors
il sera <20>gal <20> getpid() & 0xFF, mettre en oeuvre
une meilleure solution est dans la liste TODO (ndt
: <20> faire).
-H --ipproto
Fixe le protocole IP dans le mode RAW IP.
-W --winid
Le champ id des syst<73>mes Windows* avant Win2k ont
un byte ordering (ndt : ordre des octets)
diff<66>rent, si cette option est activ<69>e hping2
affichera proprement les champs id des r<>ponses de
ces Windows.
-r --rel
Affiche les incr<63>ments du champ id au lieu du champ
id. Voir le fichier HPING2-HOWTO pour plus d'infor<6F>
mations. Les incr<63>ments ne sont pas calcul<75>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 <20>tre
utile afin de tester les performances de la frag<61>
mentation des piles IP et de tester si certains
filtres de paquets sont si faibles qu'ils peuvent
<20>tre pass<73>s en utilisant de petits fragments
(anachronique). Par d<>faut le 'mtu virtuel' (ndt :
taille des fragments) est de 16 octets. Voir <20>gale<6C>
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<73>me cible envoie un paquet ICMP time-
exceeded during reassembly (ndt : d<>lai d<>pass<73>
durant le r<>-assemblage).
-y --dontfrag
Fixe le drapeau IP "don't fragment" (ndt : ne pas
fragmenter), ceci peut <20>tre utilis<69> 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<66>rent de 16 quand la
fragmentation est activ<69>e. Si la taille des paquets
est sup<75>rieure au 'mtu virtuel' alors la fragmenta<74>
tion est automatiquement activ<69>e.
-o --tos hex_tos
Fixe Type Of Service (TOS) (ndt : le type de ser<65>
vice), pour plus d'informations essayez --tos help.
-G --rroute
Enregistrer la route. Inclut l'option RECORD_ROUTE
dans chaque paquet envoy<6F> et affiche la route
pr<70>sente dans le tampon du paquet retourn<72>. Notez
que l'ent<6E>te IP n'est suffisamment large que pour
neuf routes. Beaucoup de syst<73>mes ignorent ou sup<75>
priment cette option. Notez <20>galement qu'en util<69>
isant hping vous <20>tes capable d'utiliser l'enreg<65>
istrement de la route m<>me si le syst<73>me cible fil<69>
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<6E>te IP contenue dans les
donn<6E>es ICMP, le d<>faut est 4.
--icmp-iphlen
Fixe la longueur de l'ent<6E>te IP contenue dans les
donn<6E>es ICMP, le d<>faut est 5 (5 mots de 32 bits).
--icmp-iplen
Fixe la longueur du paquet IP de l'ent<6E>te IP con<6F>
tenue dans les donn<6E>es ICMP, le d<>faut est la
taille r<>elle.
--icmp-ipid
Fixe le champ IP id de l'ent<6E>te IP contenue dans
les donn<6E>es ICMP, le d<>faut est al<61>atoire.
--icmp-ipproto
Fixe le protocole IP de l'ent<6E>te IP contenue dans
les donn<6E>es ICMP, le d<>faut est TCP.
--icmp-cksum
Fixe la somme de contr<74>le ICMP, le d<>faut est la
somme de contr<74>le valide.
--icmp-ts
Alias pour --icmptype 13 (pour envoyer des requ<71>tes
ICMP timestamp).
--icmp-addr
Alias pour --icmptype 17 (pour envoyer des requ<71>tes
ICMP masque r<>seau).
OPTIONS TCP/UDP
-s --baseport source port
hping2 utilise le port source afin de deviner les
num<75>ros de s<>quence des r<>ponses. Il commence avec
un num<75>ro de port source de base, et incr<63>mente ce
num<75>ro pour chaque paquet envoy<6F>. Quand un paquet
est re<72>u alors le num<75>ro de s<>quence peut <20>tre cal<61>
cul<75> comme port.source.r<>ponse -
port.source.de.base. Le port source de base par
d<>faut est al<61>atoire, en utilisant cette option
vous <20>tes capable de fixer un num<75>ro diff<66>rent. Si
vous avez besoin que le port source ne soit pas
incr<63>ment<6E> pour chaque paquet envoy<6F> utilisez
l'option -k --keep.
-p --destport [+][+]dest port
Fixe le port destination, le d<>faut est 0. Si le
caract<63>re '+' pr<70>c<EFBFBD>de le num<75>ro de port destination
(i.e. +1024) le port destination sera incr<63>ment<6E>
pour chaque paquet re<72>u. Si deux '+' pr<70>c<EFBFBD>dent le
num<75>ro de port destination (i.e. ++1024), le port
destination sera incr<63>ment<6E> pour chaque paquet
envoy<6F>. Par d<>faut le port destination peut <20>tre
modifi<66> 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<65>tre TCP. Le d<>faut est 64.
-O --tcpoff
Fixe un faux offset (ndt : d<>calage) des donn<6E>es
TCP. L'offset normal des donn<6E>es est tcphdrlen / 4.
-M --tcpseq
Fixe le num<75>ro de s<>quence TCP.
-L --tcpack
Fixe le drapeau TCP ack.
-Q --seqnum
Cette option peut <20>tre utilis<69>e afin de collecter
les num<75>ros de s<>quence g<>n<EFBFBD>r<EFBFBD>s par le syst<73>me
cible. Ceci peut <20>tre utile quand vous avez besoin
d'analyser si les num<75>ros de s<>quence TCP sont
pr<70>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 +167772160
La premi<6D>re colonne reporte les num<75>ros de
s<>quence, la seconde la diff<66>rence entre le num<75>ro
de s<>quence courant et le dernier. Comme vous pou<6F>
vez le voir les num<75>ros de s<>quence du syst<73>me
cible sont pr<70>visibles.
-b --badcksum
Envoie des paquets avec une mauvaise somme de
contr<74>le UDP/TCP
--tcp-timestamp
Active l'option TCP timestamp, et essaye de deviner
la fr<66>quence de mise <20> jour du timestamp et
l'uptime du syst<73>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<EFBFBD>rera pas des
paquets de 0 octet mais de ent<6E>te_de_protocole+40
octets. hping2 affichera en information la taille
des paquets comme premi<6D>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<65>
plir les donn<6E>es du paquet.
-e --sign signature
Remplit d'abord longueur de signature octets de
donn<6E>es avec signature. Si longueur de signature
est plus grand que la taille des donn<6E>es alors un
message d'erreur sera affich<63>. Si vous ne
sp<73>cifiez pas la taille des donn<6E>es hping utilisera
la taille de la signature comme taille des donn<6E>es.
Cette option peut <20>tre utilis<69>e sans risque avec
l'option --file filename, l'espace de donn<6E>es
restant sera rempli en utilisant le fichier file<6C>
name.
-j --dump
Affiche les paquets en hexad<61>cimal.
-J --print
Affiche les caract<63>res imprimables des paquets
re<72>us.
-B --safe
Active le protocole safe, en utilisant cette option
les paquets perdus dans un transfert de fichier
seront renvoy<6F>s. Par exemple afin d'envoyer le
fichier /etc/passwd depuis le syst<73>me A au syst<73>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 <20>t<EFBFBD> atteinte.
D'ailleurs cela pr<70>vient que l'autre c<>t<EFBFBD> accepte
plus de paquets. S'il vous pla<6C>t, pour plus
d'informations voir le fichier HPING2-HOWTO.
-T --traceroute
Mode traceroute. En utilisant cette option hping2
incr<63>mentera le ttl pour chaque paquet ICMP time to
live 0 during transit re<72>u. Essayez hping2 host
--traceroute. Cette option implique --bind et
--ttl 1. Vous pouvez l'emporter sur le ttl <20> 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<74>ler simplement un noeud sur la route.
Par exemple, pour contr<74>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<73>cifi<66>e hping quittera d<>s
que le premier paquet qui n'est pas un ICMP time
exceeded est re<72>u. Ceci <20>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<75>e si cette option est positionn<6E>e.
--tcpexitcode
Quitte avec le champ tcp->th_flag du dernier paquet
re<72>u comme code de retour. Utile pour les scripts
qui ont besoin, par exemple, de savoir si le port
999 de quelque syst<73>me r<>pond avec SYN/ACK ou avec
RST en r<>ponse <20> un SYN, i.e. le service est lanc<6E>
ou arr<72>t<EFBFBD>.
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 ms
len est la taille, en octets, des donn<6E>es captur<75>es dans
la couche liaison de donn<6E>es en excluant la taille de
l'ent<6E>te de liaison de donn<6E>es. Ceci peut ne pas corre<72>
spondre <20> la taille du datagramme IP <20> cause du rembour<75>
rage bas niveau de la couche liaison de donn<6E>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<6E>te IP poss<73>de le bit don't
fragment (ndt : ne pas fragmenter) positionn<6E>.
seq est le num<75>ro de s<>quence du paquet, obtenu en util<69>
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<65>tre TCP
rtt est le "round trip time" (ndt : temps aller-retour) en
millisecondes.
Si vous ex<65>cutez hping en utilisant l'option -V de la
ligne de commande il affichera des informations suppl<70>men<65>
taires <20> 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'ent<6E>te IP.
iplen est le champ IP longueur totale.
seq et ack sont les num<75>ros de s<>quence et d'acquittement
sur 32 bits dans l'ent<6E>te TCP.
sum est la valeur de la somme de contr<74>le de l'ent<6E>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<61>
moc.net
Il est tr<74>s facile <20> comprendre. Il commence avec la
cha<68>ne "ICMP" suivie par la description de l'erreur ICMP,
dans l'exemple Port Unreachable (ndt : port non accessi<73>
ble). Le champ ip est l'adresse IP source du datagramme IP
contenant l'erreur ICMP, le champ name est simplement
l'adresse num<75>rique r<>solue en un nom (une requ<71>te dns
PTR) ou UNKNOWN si la r<>solution a <20>chou<6F>.
Le format ICMP de Time exceeded during ou de reassembly
est un peu diff<66>rent :
TTL 0 during transit from ip=192.168.1.1 name=nano.mar<61>
moc.net
TTL 0 during reassembly from ip=192.70.106.25 name=UNKNOWN
La seule diff<66>rence est la description de l'erreur, elle
commence avec TTL 0.
AUTEUR
Salvatore Sanfilippo <antirez@invece.org>, avec l'aide des
personnes mentionn<6E>es dans le fichier AUTHORS et sur
http://www.hping.org/authors.html
BOGUES
M<>me en utilisant les options --end et --safe pour
transf<73>rer des fichiers, le paquet final sera rembourr<72>
avec des octets 0x00.
Les donn<6E>es sont lues sans tenir compte de l'alignement,
mais l'alignement est impos<6F> dans les structures de
donn<6E>es. Ceci ne sera pas un probl<62>me sous i386 mais,
alors que normalement les ent<6E>tes TCP/IP sont naturelle<6C>
ment align<67>es, cela peut cr<63>er des probl<62>mes avec divers
processeurs et des paquets mal-form<72>s si il y a des acc<63>s
non align<67>s quelque part dans le code (aucun avec un peu
de chance).
Sur Solaris hping ne fonctionne pas sur l'interface loop<6F>
back. Ceci semble <20>tre un probl<62>me solaris, comme expos<6F>
dans la liste de diffusion tcpdump-workers, ainsi la libp<62>
cap ne peut rien faire pour la supporter correctement.
VOIR AUSSI
ping(8), traceroute(8), ifconfig(8), nmap(1)
TRADUCTEUR
Denis Ducamp <Denis.Ducamp@groar.org>
2001 Aug 14 HPING2(8)