Vous êtes sur la page 1sur 3

TCPdump - Ecouter et capturer des paquets IP sur le rseau - www.octetmalin.

net

Accueil

Windows

Linux

Hardware

Web

Page 1 sur 3

Jeux

Dimanche 14
Dcembre
2014
Linux

Rseau
Liens populaires

TCPdump
Ecouter et capturer des paquets IP
sur le rseau

Cracker un point
d'accs wifi

Pour : Linux, Windows, Mac

Naviguer en
toute scurit

TCPdump est un outil pour couter tous ce qui ce passe sur vos interface rseau et permet de capturer les paquets IP.

Acclerer le
dmarrage de
Windows

Prendre le control
du compte root
Horloge en temps
rel par internet

Commande de base
Il est prfrable de lancer TCPdump avec les droits du compte root, pour permtre votre interface rseau d'accepter tous les
paquets IP, mme ceux qui ne lui sont pas destins.
La commande de base pour couter tous ce qui ce passe sur votre interface avec les options par dfault:
# tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
07:52:18.994930 IP octetmalin > google-public-dns-a.google.com: ICMP echo request, id 10714, seq 1, length 64
07:52:18.995320 IP octetmalin.54085 > neufbox.domain: 2274+ PTR? 8.8.8.8.in-addr.arpa. (38)
07:52:18.997254 IP neufbox.domain > octetmalin.54085: 2274 1/0/0 PTR google-public-dns-a.google.com. (82)
07:52:18.997418 IP octetmalin.54475 > neufbox.domain: 37556+ PTR? 1.1.168.192.in-addr.arpa. (42)
07:52:18.998588 IP neufbox.domain > octetmalin.54475: 37556* 1/0/0 PTR neufbox. (63)
07:52:19.041883 IP google-public-dns-a.google.com > octetmalin: ICMP echo reply, id 10714, seq 1, length 64
07:52:19.995006 IP octetmalin > google-public-dns-a.google.com: ICMP echo request, id 10714, seq 2, length 64
07:52:20.041359 IP google-public-dns-a.google.com > octetmalin: ICMP echo reply, id 10714, seq 2, length 64
07:52:20.995942 IP octetmalin > google-public-dns-a.google.com: ICMP echo request, id 10714, seq 3, length 64
07:52:21.042651 IP google-public-dns-a.google.com > octetmalin: ICMP echo reply, id 10714, seq 3, length 64
07:52:21.995985 IP octetmalin > google-public-dns-a.google.com: ICMP echo request, id 10714, seq 4, length 64
07:52:22.042926 IP google-public-dns-a.google.com > octetmalin: ICMP echo reply, id 10714, seq 4, length 64
07:52:22.995828 IP octetmalin > google-public-dns-a.google.com: ICMP echo request, id 10714, seq 5, length 64

Comme vous pouvez le voir, chaque ligne reprsente une transmission d'un paquet IP.
Les dernires lignes reprsente un ping que j'ai fait vers un serveur DNS de Google, le 8.8.8.8.
On peut voir que l'envoi est suivie de la rception et ainsi de suite.
Voici le dtail d'une transmission:
Heure d'arrive du paquet sur l'interface rseau
Type de protocole TCP, UDP, IGMP, ARP, ...
Adresse-rseau-source
Port-rseau-source
>
Adresse-rseau-destination
Port-rseau-destination
Requte ping, DNS, HTTP, FTp ...

Pour vous aidez vous disposez de la liste des numro de port correspondant au nom du port dans le fichier /etc/services.
# nano /etc/services

Ou vous pouvez filtrer une demande:


# grep nom_ou_ip_du_port /etc/services

Par exemple:
# grep ftp /etc/services
ftp
21/tcp

http://www.octetmalin.net/linux/tutoriels/tcpdump-ecouter-capturer-paquet-ip-reseau.... 14/12/2014

TCPdump - Ecouter et capturer des paquets IP sur le rseau - www.octetmalin.net

Page 2 sur 3

L'optin "-D" permet d'afficher les interfaces rseaux disponibles pour la capture:
tcpdump -D
1.eth1
2.any (Pseudo-device that captures on all interfaces)
3.lo

L'option "-i" permet de forcer l'utiliser d'une interface rseau:


# tcpdump -i eth1

L'option "-n" permet de ne pas faire de rsolution des nom et ainsi voir les IP.
# tcpdump -n
08:50:38.741674
08:50:38.789402
08:50:39.742845
08:50:39.789252

IP
IP
IP
IP

192.168.1.42 > 8.8.8.8:


8.8.8.8 > 192.168.1.42:
192.168.1.42 > 8.8.8.8:
8.8.8.8 > 192.168.1.42:

ICMP
ICMP
ICMP
ICMP

echo
echo
echo
echo

request, id 10871, seq 8, length 64


reply, id 10871, seq 8, length 64
request, id 10871, seq 9, length 64
reply, id 10871, seq 9, length 64

L'option "-v" permet d'avoir plus d'information (v comme verbose, en Franais bavard):
# tcpdump -v

L'option "-X" permet d'afficher les paquets en hexadcimal


# tcpdump -X
13:15:47.083173 IP pc-sport > google-public-dns-a.google.com: ICMP echo request, id 13364, seq 17, length 64
0x0000: 4500 0054 0000 4000 4001 68a4 c0a8 014d E..T..@.@.h....M
0x0010: 0808 0808 0800 aad6 3434 0011 634e f34d ........44..cN.M
0x0020: d644 0100 0809 0a0b 0c0d 0e0f 1011 1213 .D..............
0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!"#
0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&'()*+,-./0123
0x0050: 3435 3637
4567
13:15:47.131557 IP google-public-dns-a.google.com > pc-sport: ICMP echo reply, id 13364, seq 17, length 64
0x0000: 4500 0054 30ea 0000 3301 84ba 0808 0808 E..T0...3.......
0x0010: c0a8 014d 0000 b2d6 3434 0011 634e f34d ...M....44..cN.M
0x0020: d644 0100 0809 0a0b 0c0d 0e0f 1011 1213 .D..............
0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!"#
0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&'()*+,-./0123
0x0050: 3435 3637
4567

Voir le contenu d'un paquet IP


L'option "-A" permet de faire un dump du contenu de chaque paquet (de voir son contenu):
# tcpdump -v -A
07:49:31.403589 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
octetmalin > google-public-dns-a.google.com: ICMP echo request, id 10706, seq 4, length 64
E..T..@.@.h....M........)......Mw(...
.................. !"#$%&'()*+,-./01234567
07:49:31.450033 IP (tos 0x0, ttl 53, id 45040, offset 0, flags [none], proto ICMP (1), length 84)
google-public-dns-a.google.com > octetmalin: ICMP echo reply, id 10706, seq 4, length 64
E..T....5..........M....)......Mw(...
.................. !"#$%&'()*+,-./01234567

Ces paquets correspondent un ping vers un serveur DNS public de Google.

Filtrage
Permet d'afficher uniquement les paquets ftp du port 21
# tcpdump port ftp
ou
# tcpdump port 21

Permet d'afficher les paquets qui ont pour adresse de destination et/ou sources 192.168.1.144
# tcpdump host 192.168.1.144

Permet d'afficher les paquets qui ont pour adresse de destination 192.168.1.144
# tcpdump dst 192.168.1.144

Permet d'afficher les paquets qui ont pour adresse source 192.168.1.144
# tcpdump src 192.168.1.144

http://www.octetmalin.net/linux/tutoriels/tcpdump-ecouter-capturer-paquet-ip-reseau.... 14/12/2014

TCPdump - Ecouter et capturer des paquets IP sur le rseau - www.octetmalin.net

Page 3 sur 3

Cumulation des filtres


Voici des exemples:
Permet d'afficher tous les paquets ftp destination ou de sources de l'IP 192.168.1.55
# tcpdump host 192.168.1.55 and port ftp

Affiche tous les paquets en provenance de 192.168.1.144 vers 192.168.20.32 sur le port 21 en tcp.
# tcpdump src host 192.168.1.144 and dst host 192.168.20.32 and port 21 and tcp
Affiche tous les paquets en provenance de 192.168.1.144 vers 192.168.20.32 sur le port 21 en tcp.
# tcpdump -x -X -s 0 src host 192.168.1.144 and dst host 192.168.20.32 and port 21 and tcp

Capturer un paquet IP
L'option "-w" permet de capturer des paquets dans un fichier qui pourra tre analys plus tard:
# tcpdump -w nom_du_fichier

Exemple:
# tcpdump -w capture.tcpdump

L'option "-r" permet de lire les paquets capturs


# tcpdump -v -r capture.tcpdump
Les donnes captures ne sont pas lisible avec un diteur de texte, il est donc uniquement possible de les lire avec un outil
compatible comme TCPdump ou Wireshark qui dispose d'une interface graphique.
Mais si vous voulez que les donnes captur puissent tre lu par un diteur de texte:
Par exemple:
# tcpdump >> capture.txt

Par O.Cdric
Sur www.octetmalin.net
Article publi le:
11/06/2011 18:21

Cette page vous plus?


Dtes que vous l'aimez en cliquant sur le bouton Facebook.

Contact - Informations -

http://www.octetmalin.net/linux/tutoriels/tcpdump-ecouter-capturer-paquet-ip-reseau.... 14/12/2014