informatique:logiciels:tcpdump
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:logiciels:tcpdump [2011/06/20 09:36] – Analyse avancée des entêtes pteu | informatique:logiciels:tcpdump [2013/10/14 20:45] – modification externe 127.0.0.1 | ||
---|---|---|---|
Line 82: | Line 82: | ||
proto[x:y] | proto[x:y] | ||
</ | </ | ||
+ | On analyse à partir de l' | ||
- | C'est important de connaitre le format des entêtes du protocle | + | C'est important de connaitre le format des entêtes du protocole |
< | < | ||
0 | 0 | ||
Line 186: | Line 187: | ||
D' | D' | ||
- | | + | <code bash> |
+ | tcpdump -i eth0 not host toto | ||
+ | tcpdump -i eth0 host toto and net 192.168.0.0/ | ||
+ | </ | ||
- | | + | 2 équivalents qui permettent d' |
+ | <code bash> | ||
+ | tcpdump -i eth0 'ip[9] = 1' | ||
+ | tcpdump -i eth0 icmp | ||
+ | </code> | ||
- | tcpdump -i eth0 'ip[9] = 1' | + | 2 équivalents pour filtrer les //jumbo frame// (les paquets de taille supérieure à 1518 octet, le standard Ethernet) |
- | qui permet d' | + | <code bash> |
- | tcpdump -i eth0 icmp | + | tcpdump -i eth1 'len > 1518' |
- | + | tcpdump -i eth1 ' | |
- | | + | </ |
- | permet de filtrer les //jumbo frame// (les paquets de taille supérieure à 1518 octet, le standard Ethernet) | + | |
====Filtrer les paquets fragmentés==== | ====Filtrer les paquets fragmentés==== | ||
- | L' | + | L' |
- | tcmpdump 'ip[6] & 0x20' = 32 | + | < |
+ | tcmpdump 'ip[6] & 0x20' = 32 | ||
+ | </ | ||
Le résultat de cette addition logique peut être soit 0 soit 32 : en effet le masque ajouté avec un " | Le résultat de cette addition logique peut être soit 0 soit 32 : en effet le masque ajouté avec un " | ||
- | ====Paquet | + | Cependant cette méthode ne tient pas compte des derniers paquets fragmentés qui ont le bit MF = 0. En revanche ceux-ci possèdent un champ //fragment offset// non nul : |
+ | < | ||
+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
+ | |Flags| | ||
+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
+ | |||
+ | Bit 0: reserved, must be zero | ||
+ | Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment. | ||
+ | Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments. | ||
+ | </ | ||
- | Pour filtrer | + | Une autre façon de faire est donc de chercher |
<code bash> | <code bash> | ||
- | tcpdump -nnv 'ip[6] = 64' | + | tcpdump -i eth1 '((ip[6:2] > 0) and (not ip[6] = 64))' |
</ | </ | ||
- | En effet on regarde le 7e octet de l' | + | ====Paquet DF==== |
- | < | + | |
- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | |
- | |Flags| | + | |
- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | |
- | Bit 0: reserved, must be zero | + | Pour filtrer les paquets "non fragmentables" |
- | Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment. | + | <code bash> |
- | Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments. | + | tcpdump -nnv 'ip[6] = 64' |
- | + | ||
- | The fragment offset field is only used when fragmentation occurs. | + | |
</ | </ | ||
+ | |||
+ | En effet on regarde le 7e octet de l' | ||
Donc, les paquets non fragmentables doivent avoir cet octet égal à " | Donc, les paquets non fragmentables doivent avoir cet octet égal à " |
informatique/logiciels/tcpdump.txt · Last modified: 2023/02/07 10:46 by pteu