80 lines
1.6 KiB
Markdown
80 lines
1.6 KiB
Markdown
---
|
|
title: Howto Tcpdump
|
|
categories: sysadmin network
|
|
...
|
|
|
|
Tcpdump est un outil permettant d'analyser en détail le trafic visible sur une interface réseau.
|
|
|
|
Il est disponible sur les distributions GNU/Linux et systèmes d'exploitation FreeBSD, NetBSD, OpenBSD, Mac OS X et dépend de la bibliothèque libpcap.
|
|
|
|
<http://www.tcpdump.org/tcpdump_man.html>
|
|
|
|
## Installation
|
|
|
|
Sous Debian :
|
|
|
|
~~~
|
|
# apt install tcpdump
|
|
~~~
|
|
|
|
Sous OpenBSD, tcpdump fait partie du système de base.
|
|
|
|
## Utilisation de base
|
|
|
|
Écouter tout le trafic d'une interface :
|
|
|
|
~~~
|
|
# tcpdump -i <int>
|
|
~~~
|
|
|
|
Écouter le trafic d'une interface pour un port particulier :
|
|
|
|
~~~
|
|
# tcpdump -i <int> port XXXX
|
|
~~~
|
|
|
|
Écouter le trafic d'une interface pour un intervalle de ports particuliers :
|
|
|
|
~~~
|
|
# tcpdump -i <int> portrange XXXX-XXXX
|
|
~~~
|
|
|
|
Écouter le trafic d'une interface pour un hôte particulier :
|
|
|
|
~~~
|
|
# tcpdump -i <int> host 192.0.2.1
|
|
~~~
|
|
|
|
|
|
Écouter le trafic d'une interface pour un réseau particulier :
|
|
|
|
~~~
|
|
# tcpdump -i <int> net 192.0.2.0/24
|
|
~~~
|
|
|
|
Écouter le trafic d'une interface pour un hôte et un port particulier :
|
|
|
|
~~~
|
|
# tcpdump -i <int> host 192.0.2.1 and port XXXX
|
|
~~~
|
|
|
|
Écouter le trafic UDP d'une interface pour un port particulier :
|
|
|
|
~~~
|
|
# tcpdump -i <int> udp port XXXX
|
|
~~~
|
|
|
|
## Utilisation avancée
|
|
|
|
Écouter le trafic HTTP sur une interface et afficher les headers :
|
|
|
|
~~~
|
|
# tcpdump -A tcp port 80 or port 443 | egrep --line-buffered '^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: ' | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\n\1/g'
|
|
~~~
|
|
|
|
Analyser les logs PF (l'attribut « log » doit être présent sur les règles) :
|
|
|
|
~~~
|
|
# tcpdump -n -ttt -r /var/log/pflog
|
|
~~~
|