Linux
Réseau
TCPdump
Ecouter et capturer des paquets IP sur le réseau
Pour : Linux, Windows, Mac
TCPdump est un outil pour écouter tous ce qui ce passe sur vos interface réseau et permet de capturer les paquets IP.
Commande de base
Il est préférable de lancer TCPdump avec les droits du compte root, pour permêtre à votre interface réseau d'accepter tous les paquets IP, même ceux qui ne lui sont pas destinés.
La commande de base pour écouter tous ce qui ce passe sur votre interface avec les options par défault:
# 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
# nano /etc/services
# grep nom_ou_ip_du_port /etc/services
# grep ftp /etc/services ftp 21/tcp
tcpdump -D 1.eth1 2.any (Pseudo-device that captures on all interfaces) 3.lo
# tcpdump -i eth1
# tcpdump -n 08:50:38.741674 IP 192.168.1.42 > 8.8.8.8: ICMP echo request, id 10871, seq 8, length 64 08:50:38.789402 IP 8.8.8.8 > 192.168.1.42: ICMP echo reply, id 10871, seq 8, length 64 08:50:39.742845 IP 192.168.1.42 > 8.8.8.8: ICMP echo request, id 10871, seq 9, length 64 08:50:39.789252 IP 8.8.8.8 > 192.168.1.42: ICMP echo reply, id 10871, seq 9, length 64
# tcpdump -v
# 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
# 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
ou# tcpdump port ftp
# tcpdump port 21
# tcpdump host 192.168.1.144
# tcpdump dst 192.168.1.144
# tcpdump src 192.168.1.144
# tcpdump host 192.168.1.55 and port ftp
# tcpdump src host 192.168.1.144 and dst host 192.168.20.32 and port 21 and tcp
# tcpdump -x -X -s 0 src host 192.168.1.144 and dst host 192.168.20.32 and port 21 and tcp
# tcpdump -w nom_du_fichier
# tcpdump -w capture.tcpdump
# tcpdump -v -r capture.tcpdump
# tcpdump >> capture.txt