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

767 lines
24 KiB
Groff
Raw Normal View History

2022-04-13 18:01:39 +08:00
.TH HPING2 8 "2001 Aug 14"
.\" french translation by Denis Ducamp <Denis.Ducamp@groar.org>
.SH NOM
hping2 \- envoie des paquets TCP/IP (presque) arbitraires <20> des syst<73>mes r<>seaux
.SH RESUME
.B hping2
[
.B \-hvnqVDzZ012WrfxykQbFSRPAUXYjJBuTG
] [
.B \-c
.I count
] [
.B \-i
.I wait
] [
.B \-\-fast
] [
.B \-I
.I interface
] [
.B \-9
.I signature
] [
.B \-a
.I host
] [
.B \-t
.I ttl
] [
.B \-N
.I ip id
] [
.B \-H
.I ip protocol
] [
.B \-g
.I fragoff
] [
.B \-m
.I mtu
] [
.B \-o
.I tos
] [
.B \-C
.I icmp type
] [
.B \-K
.I icmp code
] [
.B \-s
.I source port
] [
.B \-p[+][+]
.I dest port
] [
.B \-w
.I tcp window
] [
.B \-O
.I tcp offset
] [
.B \-M
.I tcp sequence number
] [
.B \-L
.I tcp ack
] [
.B \-d
.I data size
] [
.B \-E
.I filename
] [
.B \-e
.I signature
] [
.B \-\-icmp\-ipver
.I version
] [
.B \-\-icmp\-iphlen
.I length
] [
.B \-\-icmp\-iplen
.I length
] [
.B \-\-icmp\-ipid
.I id
] [
.B \-\-icmp\-ipproto
.I protocol
] [
.B \-\-icmp\-cksum
.I checksum
] [
.B \-\-icmp\-ts
] [
.B \-\-icmp\-addr
] [
.B \-\-tcpexitcode
] [
.B \-\-tcp-timestamp
] [
.B \-\-tr-stop
] [
.B \-\-tr-keep-ttl
] [
.B \-\-tr-no-rtt
] [
.B \-\-rand-dest
] [
.B \-\-rand-source
]
hostname
.br
.ad
.SH 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<EFBFBD>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.
.I C'est <EFBFBD>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 inhibition.
.SH SITE DE HPING
site primaire sur
.BR http://www.hping.org .
Vous pouvez trouver <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
.SH OPTIONS DE BASE
.TP
.I -h --help
Montre l'<27>cran d'aide sur la sortie standard, donc vous pouvez rediriger
vers less.
.TP
.I -v --version
Montre l'information de version et l'API utilis<69>e pour acc<63>der au niveau
donn<EFBFBD>es (data link layer),
.I linux sock packet
ou
.IR libpcap .
.TP
.I -c --count count
Arr<EFBFBD>te apr<70>s avoir envoy<6F> (et re<72>u)
.I 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<EFBFBD> de r<>gler COUNTREACHED_TIMEOUT en <20>ditant hping2.h
.TP
.I -i --interval
Attend le nombre sp<73>cifi<66> de secondes ou de micro secondes entre l'envoie de
chaque paquet.
--interval X fixe
.I wait
<EFBFBD> X secondes, --interval uX fixe
.I wait
<EFBFBD> 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
.B HPING2-HOWTO
pour plus d'informations.
.TP
.I --fast
Alias pour -i u10000. Hping enverra 10 paquets par seconde.
.TP
.I --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).
.TP
.I -n --numeric
Sortie num<75>rique seulement, aucune tentative ne sera faite pour chercher les
noms symboliques pour les adresses syst<73>me.
.TP
.I -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.
.TP
.I -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
correspondre <20> eth0 ethernet0 myet1 et cetera. Si aucune interface ne
correspond hping2 essayera d'utiliser lo.
.TP
.I -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
.TP
.I -D --debug
Active le mode de d<>bogage, c'est utile quand vous rencontrez quelques
probl<EFBFBD>mes avec hping2. Quand le mode de d<>bogage est activ<69> vous obtiendrez
plus d'informations <20> propos
.B de la d<EFBFBD>tection des interfaces, de l'acc<63>s au niveau donn<EFBFBD>es, du
.B r<EFBFBD>glage des interfaces, des options d'analyse, de la fragmentation, du
.B protocole HCMP
et d'autres choses.
.TP
.I -z --bind
Lie CTRL+Z au
.B 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.
.TP
.I -Z --unbind
D<EFBFBD>-lie CTRL+Z ainsi vous serez capable d'arr<72>ter hping2
.SH 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 firewall 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>.
.TP
.I -0 --rawip
Mode RAW IP, dans ce mode hping2 enverra une ent<6E>te IP avec les donn<6E>es
ajout<EFBFBD>es avec --signature et/ou --file, voir <20>galement --ipproto qui vous
autorise <20> fixer le champ protocole IP.
.TP
.I -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
.B --icmptype --icmpcode
.TP
.I -2 --udp
Mode UDP, par d<>faut hping2 enverra des paquets UDP vers le port 0 du
syst<EFBFBD>me cible. Les options r<>glables des ent<6E>tes UDP sont les suivantes :
.B --baseport, --destport, --keep.
.TP
.I -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<EFBFBD>crit seulement un port unique, donc 1,2,3 signifie 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
.B all
est un alors pour 0-65535, pendant que le mot sp<73>cial
.B known
inclut tous les ports list<73>s dans /etc/services.
.br
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:
.B hping --scan 1-1000,8888,known -S target.host.com
.br
Les groupes peuvent <20>tre ni<6E>s (soustraits) en utilisant un caract<63>re ! comme
pr<EFBFBD>fix, donc la ligne de commande suivante scannera tous les ports NON
list<EFBFBD>s dans /etc/services dans l'intervalle 1-1024 :
.B hping --scan '1-1024,!known' -S target.host.com
.br
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<EFBFBD>es, donc pour effectuer par exemple un scan SYN vous avez besoin de
sp<EFBFBD>cifier l'option
.BR -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<EFBFBD>rence r<>elle est que le comportement standard de hping est encapsul<75>
dans un algorithme de scan.
.br
.B Note technique
: Le mode scan utilise une conception 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.
.br
.B Conseil
: <20> la diff<66>rence de la plupart des scanneurs, 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
additionnelles quand vous effectuez un scan! Quelques fois elles montrent des
d<EFBFBD>tails int<6E>ressants.
.TP
.I -9 --listen signature
Mode d'<27>coute de HPING2, en utilisant cette option hping2 attend les paquets
qui contiennent
.I signature
et exporte de la fin de la
.I signature
<EFBFBD> la fin du paquet. Par exemple si hping2 --listen TEST lit un paquet qui
contient
.B 234-09sdflkjs45-TESThello_world
il affichera
.BR hello_world .
.SH OPTIONS IP
.TP
.I -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
.BR HPING2-HOWTO .
.TP
.I --rand-source
Cette option active le
.BR "mode source al<61>atoire" .
hping enverra des paquets avec des adresses sources al<61>atoires. Il est
int<EFBFBD>ressant d'utiliser cette option pour stresser les tables d'<27>t<EFBFBD>t d'un
firewall, et d'autres tables dynamiques bas<61>es sur les IP dans les piles
TCP/IP et les firewall logiciels.
.TP
.I --rand-dest
Cette option active le
.BR "mode destination al<61>atoire" .
hping enverra des paquets <20> des adresses al<61>atoires obtenues en suivant la
r<EFBFBD>gle que vous avez sp<73>cifi<66>e comme syst<73>me cible. Vous avez besoin de
sp<EFBFBD>cifier une adresse IP num<75>rique en tant que syst<73>me cible comme
.BR "10.0.0.x" .
Toutes les occurrences de
.B 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
.BR "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
.B --debug
pour afficher chaque nouvelle adresse destination g<>n<EFBFBD>r<EFBFBD>e.
.br
.B 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
.B --interface
pour s<>lectionner l'interface de sortie.
.TP
.I -t --ttl time to live
En utilisant cette option vous pouvez fixer le
.B TTL (time to live)
des paquets sortant, il est vraisemblable que vous utiliserez ceci avec les
options
.B --traceroute
ou
.B --bind
Dans le doute essayez
.BR "" "`" "hping2 some.host.com -t 1 --traceroute" "'."
.TP
.I -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>
.BR "getpid() & 0xFF" ,
mettre en oeuvre une meilleure solution est dans la liste TODO (ndt : <20> faire).
.TP
.I -H --ipproto
Fixe le protocole IP dans le mode RAW IP.
.TP
.I -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.
.TP
.I -r --rel
Affiche les incr<63>ments du champ id au lieu du champ id. Voir le fichier
.B HPING2-HOWTO
pour plus d'informations. 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.
.TP
.I -f --frag
D<EFBFBD>coupe les paquets en fragments, ceci peut <20>tre utile afin de tester les
performances de la fragmentation 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>galement l'option
.IR --mtu .
.TP
.I -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
.B ICMP time-exceeded during reassembly
(ndt : d<>lai d<>pass<73> durant le r<>-assemblage).
.TP
.I -y --dontfrag
Fixe le drapeau IP "don't fragment" (ndt : ne pas fragmenter), ceci peut
<EFBFBD>tre utilis<69> pour effectuer un
.B MTU path discovery
(ndt : d<>couverte de la valeur minimale de la "taille maximale des paquets"
sur le chemin).
.TP
.I -g --fragoff fragment offset value
Fixe l'offset du fragment.
.TP
.I -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 fragmentation
est automatiquement activ<69>e.
.TP
.I -o --tos hex_tos
Fixe
.B Type Of Service (TOS)
(ndt : le type de service), pour plus d'informations essayez
.BR "--tos help" .
.TP
.I -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<EFBFBD>mes ignorent ou suppriment cette option. Notez <20>galement qu'en
utilisant hping vous <20>tes capable d'utiliser l'enregistrement de la route
m<EFBFBD>me si le syst<73>me cible filtre 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.
.SH OPTIONS ICMP
.TP
.I -C --icmptype type
Fixe le type ICMP, le d<>faut est
.BR "ICMP echo request" .
.TP
.I -K --icmpcode code
Fixe le code ICMP, le d<>faut est 0 (implique --icmp).
.TP
.I --icmp-ipver
Fixe la version IP de l'ent<6E>te IP contenue dans les donn<6E>es ICMP, le d<>faut
est 4.
.TP
.I --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).
.TP
.I --icmp-iplen
Fixe la longueur du paquet IP de l'ent<6E>te IP contenue dans les donn<6E>es ICMP,
le d<>faut est la taille r<>elle.
.TP
.I --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.
.TP
.I --icmp-ipproto
Fixe le protocole IP de l'ent<6E>te IP contenue dans les donn<6E>es ICMP, le
d<EFBFBD>faut est TCP.
.TP
.I --icmp-cksum
Fixe la somme de contr<74>le ICMP, le d<>faut est la somme de contr<74>le valide.
.TP
.I --icmp-ts
Alias pour --icmptype 13 (pour envoyer des requ<71>tes ICMP timestamp).
.TP
.I --icmp-addr
Alias pour --icmptype 17 (pour envoyer des requ<71>tes ICMP masque r<>seau).
.SH OPTIONS TCP/UDP
.TP
.I -s --baseport source port
hping2 utilise le port source afin de deviner les num<75>ros de s<>quence des
r<EFBFBD>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<EFBFBD>ro de s<>quence peut <20>tre calcul<75> comme
.IR "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
.IR "-k --keep" .
.TP
.I -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<EFBFBD>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<EFBFBD>.
Par d<>faut le port destination peut <20>tre modifi<66> interactivement en
utilisant
.B CTRL+z.
.TP
.I --keep
Garde constant le port source, voir
.I --baseport
pour plus d'informations.
.TP
.I -w --win
Fixe la taille de la fen<65>tre TCP. Le d<>faut est 64.
.TP
.I -O --tcpoff
Fixe un faux offset (ndt : d<>calage) des donn<6E>es TCP. L'offset normal des
donn<EFBFBD>es est tcphdrlen / 4.
.TP
.I -M --tcpseq
Fixe le num<75>ro de s<>quence TCP.
.TP
.I -L --tcpack
Fixe le drapeau TCP ack.
.TP
.I -Q --seqnum
Cette option peut <20>tre utilis<69>e afin de collecter les num<75>ros de s<>quence
g<EFBFBD>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 :
.B #hping2 win98 --seqnum -p 139 -S -i u1 -I eth0
.nf
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
.fi
La premi<6D>re colonne reporte les num<75>ros de s<>quence, la seconde la
diff<EFBFBD>rence entre le num<75>ro de s<>quence courant et le dernier. Comme vous
pouvez le voir les num<75>ros de s<>quence du syst<73>me cible sont pr<70>visibles.
.TP
.I -b --badcksum
Envoie des paquets avec une mauvaise somme de contr<74>le UDP/TCP
.TP
.I --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.
.TP
.I -F --fin
Fixe le drapeau TCP FIN.
.TP
.I -S --syn
Fixe le drapeau TCP SYN.
.TP
.I -R --rst
Fixe le drapeau TCP RST.
.TP
.I -P --push
Fixe le drapeau TCP PUSH.
.TP
.I -A --ack
Fixe le drapeau TCP ACK.
.TP
.I -U --urg
Fixe le drapeau TCP URG.
.TP
.I -X --xmas
Fixe le drapeau TCP Xmas.
.TP
.I -Y --ymas
Fixe le drapeau TCP Ymas.
.SH OPTIONS COMMUNES
.TP
.I -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 :
.B HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes
.TP
.I -E --file filename
Utilise le contenu du fichier
.B filename
pour remplir les donn<6E>es du paquet.
.TP
.I -e --sign signature
Remplit d'abord
.I longueur de signature
octets de donn<6E>es avec
.IR signature .
Si
.I longueur de signature
est plus grand que la taille des donn<6E>es alors un message d'erreur sera
affich<EFBFBD>.
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
.IR "--file filename" ,
l'espace de donn<6E>es restant sera rempli en utilisant le fichier
.IR filename .
.TP
.I -j --dump
Affiche les paquets en hexad<61>cimal.
.TP
.I -J --print
Affiche les caract<63>res imprimables des paquets re<72>us.
.TP
.I -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 :
.nf
.I [host_a]
.B # hping2 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
.I [host_b]
.B # hping2 host_a --listen signature --safe --icmp
.fi
.TP
.I -u --end
Si vous utilisez l'option
.IR "--file filename" ,
cela vous dit quand la fin du fichier a <20>t<EFBFBD> atteinte. D'ailleurs cela
pr<EFBFBD>vient que l'autre c<>t<EFBFBD> accepte plus de paquets. S'il vous pla<6C>t, pour
plus d'informations voir le fichier
.BR HPING2-HOWTO .
.TP
.I -T --traceroute
Mode traceroute. En utilisant cette option hping2 incr<63>mentera le ttl pour
chaque paquet
.B ICMP time to live 0 during transit
re<EFBFBD>u. Essayez
.BR "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.
.I --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
.BR "hping2 host --traceroute --ttl 5 --tr-keep-ttl" .
.TP
.I --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.
.TP
.I --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.
.TP
.I --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>.
.SH 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
.B len
est la taille, en octets, des donn<6E>es captur<75>es dans la couche liaison de
donn<EFBFBD>es en excluant la taille de l'ent<6E>te de liaison de donn<6E>es. Ceci peut
ne pas correspondre <20> la taille du datagramme IP <20> cause du rembourrage bas
niveau de la couche liaison de donn<6E>es.
.B ip
est l'adresse ip source.
.B 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
.B DF
l'ent<6E>te IP poss<73>de le bit don't fragment (ndt : ne pas fragmenter)
positionn<EFBFBD>.
.B seq
est le num<75>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.
.B id
est le champ IP ID.
.B win
est la taille de la fen<65>tre TCP
.B rtt
est le "round trip time" (ndt : temps aller-retour) en millisecondes.
Si vous ex<65>cutez hping en utilisant l'option
.B -V
de la ligne de commande il affichera des informations suppl<70>mentaires <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
.B tos
est le champ type de service de l'ent<6E>te IP.
.B iplen
est le champ IP longueur totale.
.B seq et ack
sont les num<75>ros de s<>quence et d'acquittement sur 32 bits dans l'ent<6E>te
TCP.
.B sum
est la valeur de la somme de contr<74>le de l'ent<6E>te TCP.
.B urp
est la valeur du pointeur urgent TCP.
.SH 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.
.SH FORMAT DE SORTIE ICMP
Un exemple de sortie ICMP est :
ICMP Port Unreachable from ip=192.168.1.1 name=nano.marmoc.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 accessible). 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<EFBFBD>solue en un nom (une requ<71>te dns PTR) ou UNKNOWN si la r<>solution a
<EFBFBD>chou<EFBFBD>.
Le format ICMP de Time exceeded during ou de reassembly est un peu
diff<EFBFBD>rent :
TTL 0 during transit from ip=192.168.1.1 name=nano.marmoc.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.
.SH AUTEUR
Salvatore Sanfilippo <antirez@invece.org>, avec l'aide des personnes
mentionn<EFBFBD>es dans le fichier AUTHORS et sur http://www.hping.org/authors.html
.SH BOGUES
M<EFBFBD>me en utilisant les options --end et --safe pour transf<73>rer des fichiers,
le paquet final sera rembourr<72> avec des octets 0x00.
.PP
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<EFBFBD>tes TCP/IP sont naturellement 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<EFBFBD>s quelque part dans le code (aucun avec un peu de chance).
.PP
Sur Solaris hping ne fonctionne pas sur l'interface loopback. Ceci semble
<EFBFBD>tre un probl<62>me solaris, comme expos<6F> dans la liste de diffusion
tcpdump-workers, ainsi la libpcap ne peut rien faire pour la supporter
correctement.
.SH VOIR AUSSI
ping(8), traceroute(8), ifconfig(8), nmap(1)
.SH TRADUCTEUR
Denis Ducamp <Denis.Ducamp@groar.org>