1: .TH HPING2 8 "2001 Aug 14"
2: .\" french translation by Denis Ducamp <Denis.Ducamp@groar.org>
3: .SH NOM
4: hping2 \- envoie des paquets TCP/IP (presque) arbitraires à des systèmes réseaux
5: .SH RESUME
6: .B hping2
7: [
8: .B \-hvnqVDzZ012WrfxykQbFSRPAUXYjJBuTG
9: ] [
10: .B \-c
11: .I count
12: ] [
13: .B \-i
14: .I wait
15: ] [
16: .B \-\-fast
17: ] [
18: .B \-I
19: .I interface
20: ] [
21: .B \-9
22: .I signature
23: ] [
24: .B \-a
25: .I host
26: ] [
27: .B \-t
28: .I ttl
29: ] [
30: .B \-N
31: .I ip id
32: ] [
33: .B \-H
34: .I ip protocol
35: ] [
36: .B \-g
37: .I fragoff
38: ] [
39: .B \-m
40: .I mtu
41: ] [
42: .B \-o
43: .I tos
44: ] [
45: .B \-C
46: .I icmp type
47: ] [
48: .B \-K
49: .I icmp code
50: ] [
51: .B \-s
52: .I source port
53: ] [
54: .B \-p[+][+]
55: .I dest port
56: ] [
57: .B \-w
58: .I tcp window
59: ] [
60: .B \-O
61: .I tcp offset
62: ] [
63: .B \-M
64: .I tcp sequence number
65: ] [
66: .B \-L
67: .I tcp ack
68: ] [
69: .B \-d
70: .I data size
71: ] [
72: .B \-E
73: .I filename
74: ] [
75: .B \-e
76: .I signature
77: ] [
78: .B \-\-icmp\-ipver
79: .I version
80: ] [
81: .B \-\-icmp\-iphlen
82: .I length
83: ] [
84: .B \-\-icmp\-iplen
85: .I length
86: ] [
87: .B \-\-icmp\-ipid
88: .I id
89: ] [
90: .B \-\-icmp\-ipproto
91: .I protocol
92: ] [
93: .B \-\-icmp\-cksum
94: .I checksum
95: ] [
96: .B \-\-icmp\-ts
97: ] [
98: .B \-\-icmp\-addr
99: ] [
100: .B \-\-tcpexitcode
101: ] [
102: .B \-\-tcp-timestamp
103: ] [
104: .B \-\-tr-stop
105: ] [
106: .B \-\-tr-keep-ttl
107: ] [
108: .B \-\-tr-no-rtt
109: ] [
110: .B \-\-rand-dest
111: ] [
112: .B \-\-rand-source
113: ]
114: hostname
115: .br
116: .ad
117: .SH DESCRIPTION
118: hping2 est un outil réseau capable d'envoyer des paquets TCP/IP sur
119: commande et d'afficher les réponses de la cible comme le programme ping le
120: fait avec les réponses ICMP. hping2 traite la fragmentation, les contenus de
121: paquets et les tailles arbitraires, et peut être utilisé dans le but de
122: transférer des fichiers encapsulés dans les protocoles supportés. En
123: utilisant hping2 vous êtes capable d'effectuer au moins les tâches
124: suivantes :
125:
126: - Tester les règles d'un firewall
127: - Scanner des ports de façon avancée
128: - Tester les performances réseau en utilisant différents protocoles, tailles de paquets, TOS (type de service) et fragmentation.
129: - Découverte de "Path MTU"
130: - Transférer des fichiers même au travers de règles de firewall vraiment fascistes.
131: - Comme traceroute avec différents protocoles.
132: - Utilisation comme Firewalk.
133: - Détermination d'OS à distance.
134: - Audit de pile TCP/IP.
135: - Beaucoup d'autres.
136:
137: .I C'est également un bon outil didactique pour apprendre TCP/IP.
138: hping2 est développé et maintenu par antirez@invece.org et est sous la
139: version 2 de la licence GPL. Le développement est ouvert donc vous pouvez
140: m'envoyer des patches, suggestions et affronts sans inhibition.
141: .SH SITE DE HPING
142: site primaire sur
143: .BR http://www.hping.org .
144: Vous pouvez trouver à la fois la version stable et
145: les instructions pour télécharger le dernier code source sur
146: http://www.hping.org/download.html
147: .SH OPTIONS DE BASE
148: .TP
149: .I -h --help
150: Montre l'écran d'aide sur la sortie standard, donc vous pouvez rediriger
151: vers less.
152: .TP
153: .I -v --version
154: Montre l'information de version et l'API utilisée pour accéder au niveau
155: données (data link layer),
156: .I linux sock packet
157: ou
158: .IR libpcap .
159: .TP
160: .I -c --count count
161: Arrête après avoir envoyé (et reçu)
162: .I count
163: paquets réponse. Après que le dernier paquet a été envoyé hping2 attend
164: COUNTREACHED_TIMEOUT secondes les réponses du système cible. Vous avez la
165: possibilité de régler COUNTREACHED_TIMEOUT en éditant hping2.h
166: .TP
167: .I -i --interval
168: Attend le nombre spécifié de secondes ou de micro secondes entre l'envoie de
169: chaque paquet.
170: --interval X fixe
171: .I wait
172: à X secondes, --interval uX fixe
173: .I wait
174: à X micro secondes. Le défaut est d'attendre une seconde entre chaque
175: paquet. En utilisant hping2 pour transférer des fichiers fixer cette option
176: est très important pour augmenter le taux de transfert. Même en utilisant
177: hping2 pour effectuer des scans passifs/avec usurpation d'adresse vous
178: devriez fixer cette option, voir
179: .B HPING2-HOWTO
180: pour plus d'informations.
181: .TP
182: .I --fast
183: Alias pour -i u10000. Hping enverra 10 paquets par seconde.
184: .TP
185: .I --faster
186: Alias pour -i u1. Plus rapide que --fast ;) (mais pas aussi rapide que votre
187: ordinateur peut envoyer des paquets à cause de la conception basée sur les
188: signaux).
189: .TP
190: .I -n --numeric
191: Sortie numérique seulement, aucune tentative ne sera faite pour chercher les
192: noms symboliques pour les adresses système.
193: .TP
194: .I -q --quiet
195: Sortie silencieuse. Rien n'est affiche excepté les lignes de résume au
196: moment du démarrage et quand c'est fini.
197: .TP
198: .I -I --interface interface name
199: Par défaut sur les systèmes linux et BSD hping2 utilise l'interface de
200: routage par défaut. Sur d'autres systèmes ou quand il n'y a pas d'interface
201: de routage par défaut hping2 utilise la première interface non loopback.
202: Quoi qu'il en soit vous avez la possibilité de forcer hping2 à utiliser
203: l'interface dont vous avez besoin en utilisant cette option. Note : vous
204: n'avez pas besoin de spécifier le nom complet, par exemple -I et va
205: correspondre à eth0 ethernet0 myet1 et cetera. Si aucune interface ne
206: correspond hping2 essayera d'utiliser lo.
207: .TP
208: .I -V --verbose
209: Active la sortie verbeuse. Les réponses TCP seront affichées comme suit :
210:
211: len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms
212: tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0
213: .TP
214: .I -D --debug
215: Active le mode de débogage, c'est utile quand vous rencontrez quelques
216: problèmes avec hping2. Quand le mode de débogage est activé vous obtiendrez
217: plus d'informations à propos
218: .B de la détection des interfaces, de l'accès au niveau données, du
219: .B réglage des interfaces, des options d'analyse, de la fragmentation, du
220: .B protocole HCMP
221: et d'autres choses.
222: .TP
223: .I -z --bind
224: Lie CTRL+Z au
225: .B time to live (TTL)
226: ainsi vous serez capable d'incrémenter/décrémenter le ttl des paquets
227: sortant en pressant CTRL+Z une ou deux fois.
228: .TP
229: .I -Z --unbind
230: Dé-lie CTRL+Z ainsi vous serez capable d'arrêter hping2
231: .SH SELECTION DE PROTOCOLE
232: Le protocole par défaut est TCP, par défaut hping2 enverra des entêtes TCP
233: sur le port 0 du système cible avec une winsize (ndt : taille de fenêtre) de
234: 64 sans aucun drapeau TCP activé. Souvent c'est la meilleure manière de
235: faire un 'ping caché', utile quand la cible est derrière un firewall qui
236: jette ICMP. De plus un paquet TCP null-flag (ndt : sans drapeau) vers le port
237: 0 a de bonnes probabilités de ne pas être journalisé.
238: .TP
239: .I -0 --rawip
240: Mode RAW IP, dans ce mode hping2 enverra une entête IP avec les données
241: ajoutées avec --signature et/ou --file, voir également --ipproto qui vous
242: autorise à fixer le champ protocole IP.
243: .TP
244: .I -1 --icmp
245: Mode ICMP, par défaut hping2 enverra un paquet ICMP echo-request, vous
246: pouvez fixer un autre type/code ICMP en utilisant les options
247: .B --icmptype --icmpcode
248: .TP
249: .I -2 --udp
250: Mode UDP, par défaut hping2 enverra des paquets UDP vers le port 0 du
251: système cible. Les options réglables des entêtes UDP sont les suivantes :
252: .B --baseport, --destport, --keep.
253: .TP
254: .I -8 --scan
255: Mode scan, l'option attend un argument qui décrit des groupes de ports à
256: scanner. Les groupes de ports sont séparés par des virgules : un nombre
257: décrit seulement un port unique, donc 1,2,3 signifie ports 1, 2 et 3. Les
258: intervalles sont spécifiés en utilisant une notation début-fin, comme
259: 1-1000, qui dit à hping de scanner les ports entre 1 et 1000 (inclus). Le
260: mot spécial
261: .B all
262: est un alors pour 0-65535, pendant que le mot spécial
263: .B known
264: inclut tous les ports listés dans /etc/services.
265: .br
266: Les groupes peuvent être combinés, donc la commande suivante scannera les
267: ports entre 1 et 1000 ET le port 8888 ET les ports listés dans
268: /etc/services:
269: .B hping --scan 1-1000,8888,known -S target.host.com
270: .br
271: Les groupes peuvent être niés (soustraits) en utilisant un caractère ! comme
272: préfix, donc la ligne de commande suivante scannera tous les ports NON
273: listés dans /etc/services dans l'intervalle 1-1024 :
274: .B hping --scan '1-1024,!known' -S target.host.com
275: .br
276: Gardez à l'esprit que pendant que hping apparaît beaucoup plus comme un
277: scanneur de ports dans ce mode, la plupart des options sont toujours
278: honorées, donc pour effectuer par exemple un scan SYN vous avez besoin de
279: spécifier l'option
280: .BR -S ,
281: vous pouvez changer la taille de la fenêtre TCP, le TTL, contrôler la
282: fragmentation IP comme habituellement, et ainsi de suite. La seule
283: différence réelle est que le comportement standard de hping est encapsulé
284: dans un algorithme de scan.
285: .br
286: .B Note technique
287: : Le mode scan utilise une conception basée sur deux
288: processus, avec de la mémoire partagée pour la synchronisation.
289: L'algorithlme de scan n'est toujours pas optimal, mais déjà assez rapide.
290: .br
291: .B Conseil
292: : à la différence de la plupart des scanneurs, hping montre quelques
293: informations intéressantes à propos des paquets reçus, les champs IP ID, TCP
294: win, TTL, et ainsi de suite, n'oubliez pas de regarder ces informations
295: additionnelles quand vous effectuez un scan! Quelques fois elles montrent des
296: détails intéressants.
297: .TP
298: .I -9 --listen signature
299: Mode d'écoute de HPING2, en utilisant cette option hping2 attend les paquets
300: qui contiennent
301: .I signature
302: et exporte de la fin de la
303: .I signature
304: à la fin du paquet. Par exemple si hping2 --listen TEST lit un paquet qui
305: contient
306: .B 234-09sdflkjs45-TESThello_world
307: il affichera
308: .BR hello_world .
309: .SH OPTIONS IP
310: .TP
311: .I -a --spoof hostname
312: Utiliser cette option dans le but de fixer une fausse adresse source, cette
313: option assure que le système cible n'obtiendra pas votre adresse réelle.
314: Quoi qu'il en soit les réponses seront envoyées à l'adresse usurpée, ainsi
315: vous ne serez pas capable de les voir. Afin de voir comment il est possible
316: d'effectuer des scans avec des adresses usurpées/passifs voir le fichier
317: .BR HPING2-HOWTO .
318:
319: .TP
320: .I --rand-source
321: Cette option active le
322: .BR "mode source aléatoire" .
323: hping enverra des paquets avec des adresses sources aléatoires. Il est
324: intéressant d'utiliser cette option pour stresser les tables d'étât d'un
325: firewall, et d'autres tables dynamiques basées sur les IP dans les piles
326: TCP/IP et les firewall logiciels.
327: .TP
328: .I --rand-dest
329: Cette option active le
330: .BR "mode destination aléatoire" .
331: hping enverra des paquets à des adresses aléatoires obtenues en suivant la
332: règle que vous avez spécifiée comme système cible. Vous avez besoin de
333: spécifier une adresse IP numérique en tant que système cible comme
334: .BR "10.0.0.x" .
335: Toutes les occurrences de
336: .B x
337: seront remplacées avec un nombre aléatoire dans l'intervalle 0-255. Ainsi
338: pour obtenir des adresses IP internet dans l'espace IPv4 complet utilisez
339: quelque chose comme
340: .BR "hping x.x.x.x --rand-dest" .
341: Si vous n'êtes pas sûrs du genre d'adresses que votre règle génère essayez
342: d'utiliser l'option
343: .B --debug
344: pour afficher chaque nouvelle adresse destination générée.
345: .br
346: .B Attention
347: : quand cette option est activée hping ne peut pas détecter la bonne
348: interface
349: de sortie pour les paquets, ainsi vous devez utiliser l'option
350: .B --interface
351: pour sélectionner l'interface de sortie.
352: .TP
353: .I -t --ttl time to live
354: En utilisant cette option vous pouvez fixer le
355: .B TTL (time to live)
356: des paquets sortant, il est vraisemblable que vous utiliserez ceci avec les
357: options
358: .B --traceroute
359: ou
360: .B --bind
361: Dans le doute essayez
362: .BR "" "`" "hping2 some.host.com -t 1 --traceroute" "'."
363: .TP
364: .I -N --id
365: Fixe le champ ip->id . La valeur du champ id par défaut est aléatoire mais
366: si la fragmentation est activée et que le champ id n'est pas spécifié alors
367: il sera égal à
368: .BR "getpid() & 0xFF" ,
369: mettre en oeuvre une meilleure solution est dans la liste TODO (ndt : à faire).
370: .TP
371: .I -H --ipproto
372: Fixe le protocole IP dans le mode RAW IP.
373: .TP
374: .I -W --winid
375: Le champ id des systèmes Windows* avant Win2k ont un byte ordering (ndt :
376: ordre des
377: octets) différent, si cette option est activée hping2 affichera proprement
378: les champs id des réponses de ces Windows.
379: .TP
380: .I -r --rel
381: Affiche les incréments du champ id au lieu du champ id. Voir le fichier
382: .B HPING2-HOWTO
383: pour plus d'informations. Les incréments ne sont pas calculés comme
384: id[N]-id[N-1] mais en utilisant une compensation de pertes de paquets. Voir
385: le fichier relid.c pour plus d'informations.
386: .TP
387: .I -f --frag
388: Découpe les paquets en fragments, ceci peut être utile afin de tester les
389: performances de la fragmentation des piles IP et de tester si certains
390: filtres de paquets sont si faibles qu'ils peuvent être passés en utilisant
391: de petits fragments (anachronique). Par défaut le 'mtu virtuel' (ndt :
392: taille des fragments) est de 16 octets. Voir également l'option
393: .IR --mtu .
394: .TP
395: .I -x --morefrag
396: Fixe le drapeau IP "more fragments" (ndt : d'autres fragments), utilisez
397: cette option si vous voulez que le système cible envoie un paquet
398: .B ICMP time-exceeded during reassembly
399: (ndt : délai dépassé durant le ré-assemblage).
400: .TP
401: .I -y --dontfrag
402: Fixe le drapeau IP "don't fragment" (ndt : ne pas fragmenter), ceci peut
403: être utilisé pour effectuer un
404: .B MTU path discovery
405: (ndt : découverte de la valeur minimale de la "taille maximale des paquets"
406: sur le chemin).
407: .TP
408: .I -g --fragoff fragment offset value
409: Fixe l'offset du fragment.
410: .TP
411: .I -m --mtu mtu value
412: Fixe un 'mtu virtuel' différent de 16 quand la fragmentation est activée. Si
413: la taille des paquets est supérieure au 'mtu virtuel' alors la fragmentation
414: est automatiquement activée.
415: .TP
416: .I -o --tos hex_tos
417: Fixe
418: .B Type Of Service (TOS)
419: (ndt : le type de service), pour plus d'informations essayez
420: .BR "--tos help" .
421: .TP
422: .I -G --rroute
423: Enregistrer la route. Inclut l'option RECORD_ROUTE dans chaque paquet envoyé
424: et affiche la route présente dans le tampon du paquet retourné. Notez que
425: l'entête IP n'est suffisamment large que pour neuf routes. Beaucoup de
426: systèmes ignorent ou suppriment cette option. Notez également qu'en
427: utilisant hping vous êtes capable d'utiliser l'enregistrement de la route
428: même si le système cible filtre ICMP. Enregistrer la route est une option
429: IP, non pas une option ICMP, ainsi vous pouvez utiliser l'option
430: d'enregistrement de la route même dans les modes TCP et UDP.
431: .SH OPTIONS ICMP
432: .TP
433: .I -C --icmptype type
434: Fixe le type ICMP, le défaut est
435: .BR "ICMP echo request" .
436: .TP
437: .I -K --icmpcode code
438: Fixe le code ICMP, le défaut est 0 (implique --icmp).
439: .TP
440: .I --icmp-ipver
441: Fixe la version IP de l'entête IP contenue dans les données ICMP, le défaut
442: est 4.
443: .TP
444: .I --icmp-iphlen
445: Fixe la longueur de l'entête IP contenue dans les données ICMP, le défaut
446: est 5 (5 mots de 32 bits).
447: .TP
448: .I --icmp-iplen
449: Fixe la longueur du paquet IP de l'entête IP contenue dans les données ICMP,
450: le défaut est la taille réelle.
451: .TP
452: .I --icmp-ipid
453: Fixe le champ IP id de l'entête IP contenue dans les données ICMP, le défaut
454: est aléatoire.
455: .TP
456: .I --icmp-ipproto
457: Fixe le protocole IP de l'entête IP contenue dans les données ICMP, le
458: défaut est TCP.
459: .TP
460: .I --icmp-cksum
461: Fixe la somme de contrôle ICMP, le défaut est la somme de contrôle valide.
462: .TP
463: .I --icmp-ts
464: Alias pour --icmptype 13 (pour envoyer des requêtes ICMP timestamp).
465: .TP
466: .I --icmp-addr
467: Alias pour --icmptype 17 (pour envoyer des requêtes ICMP masque réseau).
468: .SH OPTIONS TCP/UDP
469: .TP
470: .I -s --baseport source port
471: hping2 utilise le port source afin de deviner les numéros de séquence des
472: réponses. Il commence avec un numéro de port source de base, et incrémente
473: ce numéro pour chaque paquet envoyé. Quand un paquet est reçu alors le
474: numéro de séquence peut être calculé comme
475: .IR "port.source.réponse - port.source.de.base" .
476: Le port source de base par défaut est aléatoire, en utilisant cette option
477: vous êtes capable de fixer un numéro différent. Si vous avez besoin que le
478: port source ne soit pas incrémenté pour chaque paquet envoyé utilisez
479: l'option
480: .IR "-k --keep" .
481: .TP
482: .I -p --destport [+][+]dest port
483: Fixe le port destination, le défaut est 0. Si le caractère '+' précède le
484: numéro de port destination (i.e. +1024) le port destination sera incrémenté
485: pour chaque paquet reçu. Si deux '+' précèdent le numéro de port destination
486: (i.e. ++1024), le port destination sera incrémenté pour chaque paquet
487: envoyé.
488: Par défaut le port destination peut être modifié interactivement en
489: utilisant
490: .B CTRL+z.
491: .TP
492: .I --keep
493: Garde constant le port source, voir
494: .I --baseport
495: pour plus d'informations.
496: .TP
497: .I -w --win
498: Fixe la taille de la fenêtre TCP. Le défaut est 64.
499: .TP
500: .I -O --tcpoff
501: Fixe un faux offset (ndt : décalage) des données TCP. L'offset normal des
502: données est tcphdrlen / 4.
503: .TP
504: .I -M --tcpseq
505: Fixe le numéro de séquence TCP.
506: .TP
507: .I -L --tcpack
508: Fixe le drapeau TCP ack.
509: .TP
510: .I -Q --seqnum
511: Cette option peut être utilisée afin de collecter les numéros de séquence
512: générés par le système cible. Ceci peut être utile quand vous avez besoin
513: d'analyser si les numéros de séquence TCP sont prévisibles. Exemple de
514: sortie :
515:
516: .B #hping2 win98 --seqnum -p 139 -S -i u1 -I eth0
517: .nf
518: HPING uaz (eth0 192.168.4.41): S set, 40 headers + 0 data bytes
519: 2361294848 +2361294848
520: 2411626496 +50331648
521: 2545844224 +134217728
522: 2713616384 +167772160
523: 2881388544 +167772160
524: 3049160704 +167772160
525: 3216932864 +167772160
526: 3384705024 +167772160
527: 3552477184 +167772160
528: 3720249344 +167772160
529: 3888021504 +167772160
530: 4055793664 +167772160
531: 4223565824 +167772160
532: .fi
533:
534: La première colonne reporte les numéros de séquence, la seconde la
535: différence entre le numéro de séquence courant et le dernier. Comme vous
536: pouvez le voir les numéros de séquence du système cible sont prévisibles.
537: .TP
538: .I -b --badcksum
539: Envoie des paquets avec une mauvaise somme de contrôle UDP/TCP
540: .TP
541: .I --tcp-timestamp
542: Active l'option TCP timestamp, et essaye de deviner la fréquence de mise à
543: jour du timestamp et l'uptime du système distant.
544: .TP
545: .I -F --fin
546: Fixe le drapeau TCP FIN.
547: .TP
548: .I -S --syn
549: Fixe le drapeau TCP SYN.
550: .TP
551: .I -R --rst
552: Fixe le drapeau TCP RST.
553: .TP
554: .I -P --push
555: Fixe le drapeau TCP PUSH.
556: .TP
557: .I -A --ack
558: Fixe le drapeau TCP ACK.
559: .TP
560: .I -U --urg
561: Fixe le drapeau TCP URG.
562: .TP
563: .I -X --xmas
564: Fixe le drapeau TCP Xmas.
565: .TP
566: .I -Y --ymas
567: Fixe le drapeau TCP Ymas.
568: .SH OPTIONS COMMUNES
569: .TP
570: .I -d --data data size
571: Fixe la taille du corps du paquet. Attention, en utilisant --data 40 hping2
572: ne générera pas des paquets de 0 octet mais de entête_de_protocole+40
573: octets. hping2 affichera en information la taille des paquets comme première
574: ligne de sortie, comme ceci :
575: .B HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes
576: .TP
577: .I -E --file filename
578: Utilise le contenu du fichier
579: .B filename
580: pour remplir les données du paquet.
581: .TP
582: .I -e --sign signature
583: Remplit d'abord
584: .I longueur de signature
585: octets de données avec
586: .IR signature .
587: Si
588: .I longueur de signature
589: est plus grand que la taille des données alors un message d'erreur sera
590: affiché.
591: Si vous ne spécifiez pas la taille des données hping utilisera la taille de
592: la signature comme taille des données.
593: Cette option peut être utilisée sans risque avec l'option
594: .IR "--file filename" ,
595: l'espace de données restant sera rempli en utilisant le fichier
596: .IR filename .
597: .TP
598: .I -j --dump
599: Affiche les paquets en hexadécimal.
600: .TP
601: .I -J --print
602: Affiche les caractères imprimables des paquets reçus.
603: .TP
604: .I -B --safe
605: Active le protocole safe, en utilisant cette option les paquets perdus dans
606: un transfert de fichier seront renvoyés. Par exemple afin d'envoyer le
607: fichier /etc/passwd depuis le système A au système B vous pouvez utiliser ce
608: qui suit :
609: .nf
610: .I [host_a]
611: .B # hping2 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
612: .I [host_b]
613: .B # hping2 host_a --listen signature --safe --icmp
614: .fi
615: .TP
616: .I -u --end
617: Si vous utilisez l'option
618: .IR "--file filename" ,
619: cela vous dit quand la fin du fichier a été atteinte. D'ailleurs cela
620: prévient que l'autre côté accepte plus de paquets. S'il vous plaît, pour
621: plus d'informations voir le fichier
622: .BR HPING2-HOWTO .
623: .TP
624: .I -T --traceroute
625: Mode traceroute. En utilisant cette option hping2 incrémentera le ttl pour
626: chaque paquet
627: .B ICMP time to live 0 during transit
628: reçu. Essayez
629: .BR "hping2 host --traceroute" .
630: Cette option implique --bind et --ttl 1. Vous pouvez l'emporter sur le ttl à
631: 1 en utilisant l'option --ttl. Depuis 2.0.0 stable il affiche les
632: informations de RTT.
633: .I --tr-keep-ttl
634: garde le ttl fixe en mode traceroute, ainsi vous pouvez contrôler simplement
635: un noeud sur la route. Par exemple, pour contrôler comment le 5ème noeud
636: change ou comment son RTT change vous pouvez essayer
637: .BR "hping2 host --traceroute --ttl 5 --tr-keep-ttl" .
638: .TP
639: .I --tr-stop
640: Si cette option est spécifiée hping quittera dès que le premier paquet qui
641: n'est pas un ICMP time exceeded est reçu. Ceci émule mieux le comportement
642: de traceroute.
643: .TP
644: .I --tr-no-rtt
645: Ne montre pas l'information RTT en mode traceroute. L'information du RTT des
646: ICMP time exceeded n'est même pas calculée si cette option est positionnée.
647: .TP
648: .I --tcpexitcode
649: Quitte avec le champ tcp->th_flag du dernier paquet reçu comme code de
650: retour. Utile pour les scripts qui ont besoin, par exemple, de savoir si le
651: port 999 de quelque système répond avec SYN/ACK ou avec RST en réponse à un
652: SYN, i.e. le service est lancé ou arrêté.
653: .SH FORMAT DE SORTIE TCP
654: Le format standard de sortie TCP est le suivant :
655:
656: len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms
657:
658: .B len
659: est la taille, en octets, des données capturées dans la couche liaison de
660: données en excluant la taille de l'entête de liaison de données. Ceci peut
661: ne pas correspondre à la taille du datagramme IP à cause du rembourrage bas
662: niveau de la couche liaison de données.
663:
664: .B ip
665: est l'adresse ip source.
666:
667: .B flags
668: sont les drapeaux TCP, R pour RESET, S pour SYN, A pour ACK, F pour FIN, P
669: pour PUSH, U pour URGENT, X pour 0x40 non standard, Y pour 0x80 non
670: standard.
671:
672: Si la réponse contient
673: .B DF
674: l'entête IP possède le bit don't fragment (ndt : ne pas fragmenter)
675: positionné.
676:
677: .B seq
678: est le numéro de séquence du paquet, obtenu en utilisant le port source pour
679: les paquets TCP/UDP, le champ séquence pour les paquets ICMP.
680:
681: .B id
682: est le champ IP ID.
683:
684: .B win
685: est la taille de la fenêtre TCP
686:
687: .B rtt
688: est le "round trip time" (ndt : temps aller-retour) en millisecondes.
689:
690: Si vous exécutez hping en utilisant l'option
691: .B -V
692: de la ligne de commande il affichera des informations supplémentaires à
693: propos du paquet, par exemple :
694:
695: len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms
696: tos=0 iplen=40 seq=0 ack=1223672061 sum=e61d urp=0
697:
698: .B tos
699: est le champ type de service de l'entête IP.
700:
701: .B iplen
702: est le champ IP longueur totale.
703:
704: .B seq et ack
705: sont les numéros de séquence et d'acquittement sur 32 bits dans l'entête
706: TCP.
707:
708: .B sum
709: est la valeur de la somme de contrôle de l'entête TCP.
710:
711: .B urp
712: est la valeur du pointeur urgent TCP.
713:
714: .SH FORMAT DE SORTIE UDP
715:
716: Le format standard de sortie est :
717:
718: len=46 ip=192.168.1.1 seq=0 ttl=64 id=0 rtt=6.0 ms
719:
720: La signification des champs est la même que celle de la sortie TCP pour les
721: champs de même nom.
722:
723: .SH FORMAT DE SORTIE ICMP
724:
725: Un exemple de sortie ICMP est :
726:
727: ICMP Port Unreachable from ip=192.168.1.1 name=nano.marmoc.net
728:
729: Il est très facile à comprendre. Il commence avec la chaîne "ICMP" suivie
730: par la description de l'erreur ICMP, dans l'exemple Port Unreachable (ndt :
731: port non accessible). Le champ ip est l'adresse IP source du datagramme IP
732: contenant l'erreur ICMP, le champ name est simplement l'adresse numérique
733: résolue en un nom (une requête dns PTR) ou UNKNOWN si la résolution a
734: échoué.
735:
736: Le format ICMP de Time exceeded during ou de reassembly est un peu
737: différent :
738:
739: TTL 0 during transit from ip=192.168.1.1 name=nano.marmoc.net
740:
741: TTL 0 during reassembly from ip=192.70.106.25 name=UNKNOWN
742:
743: La seule différence est la description de l'erreur, elle commence avec TTL
744: 0.
745:
746: .SH AUTEUR
747: Salvatore Sanfilippo <antirez@invece.org>, avec l'aide des personnes
748: mentionnées dans le fichier AUTHORS et sur http://www.hping.org/authors.html
749: .SH BOGUES
750: Même en utilisant les options --end et --safe pour transférer des fichiers,
751: le paquet final sera rembourré avec des octets 0x00.
752: .PP
753: Les données sont lues sans tenir compte de l'alignement, mais l'alignement
754: est imposé dans les structures de données.
755: Ceci ne sera pas un problème sous i386 mais, alors que normalement les
756: entêtes TCP/IP sont naturellement alignées, cela peut créer des problèmes
757: avec divers processeurs et des paquets mal-formés si il y a des accès non
758: alignés quelque part dans le code (aucun avec un peu de chance).
759: .PP
760: Sur Solaris hping ne fonctionne pas sur l'interface loopback. Ceci semble
761: être un problème solaris, comme exposé dans la liste de diffusion
762: tcpdump-workers, ainsi la libpcap ne peut rien faire pour la supporter
763: correctement.
764: .SH VOIR AUSSI
765: ping(8), traceroute(8), ifconfig(8), nmap(1)
766: .SH TRADUCTEUR
767: Denis Ducamp <Denis.Ducamp@groar.org>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>