« Tshark » : différence entre les versions

Page créée avec « Pour analyser efficacement le trafic réseau sur votre machine avec '''TShark''', voici une commande optimisée et expliquée en détail : == tshark == === Commandes de bases === Version en ligne de commande de Wireshark. Il est plus léger que l'interface graphique complète et peut être utilisé pour capturer et analyser le trafic réseau. <syntaxhighlight lang="bash" line copy> sudo apt-get install tshark </syntaxhighlight> <syntaxhighlight lang="bash" lin... »
 
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
Pour analyser efficacement le trafic réseau sur votre machine avec '''TShark''', voici une commande optimisée et expliquée en détail :
== tshark ==
=== Commandes de bases ===
=== Commandes de bases ===


Ligne 38 : Ligne 34 :


-----
-----
 
Pour analyser efficacement le trafic réseau sur votre machine avec '''TShark''', voici une commande optimisée et expliquée en détail :
<span id="commande-recommandée-analyse-complète"></span>
<span id="commande-recommandée-analyse-complète"></span>
=== '''Commande recommandée (analyse complète)''' ===
=== '''Commande recommandée (analyse complète)''' ===


<syntaxhighlight lang="bash">sudo tshark -i eth0 -f "not port 22" -Y "not ssh" -T fields \
<syntaxhighlight lang="bash">
   -e frame.time -e ip.src -e ip.dst -e proto -e tcp.port -e udp.port -e http.host -e dns.qry.name \
sudo tshark -i eth0 -f "not port 22" -Y "not ssh" -T fields \
   -E separator="|" -E header=y</syntaxhighlight>
   -e frame.time -e ip.src -e ip.dst -e frame.protocols -e tcp.srcport -e udp.srcport -e http.host -e dns.qry.name \
   -E separator="|" -E header=y
</syntaxhighlight>
<span id="explications-des-options"></span>
<span id="explications-des-options"></span>
==== '''Explications des options :''' ====
==== '''Explications des options :''' ====
{| class="wikitable"
{| class="wikitable"
|-
|-
! Option
! Composant
! Exemple/Format
! Description
! Description
! Pourquoi l’utiliser ?
|-
| '''<code>tshark</code>'''
| -
| Outil de capture et analyse de trafic (version CLI de Wireshark).
| Alternative puissante à <code>tcpdump</code>.
|-
|-
| '''<code>-i eth0</code>'''
| '''<code>-i eth0</code>'''
| Capture sur l’interface réseau (remplacez par <code>wlan0</code> pour le Wi-Fi).
| <code>-i wlan0</code> (pour le Wi-Fi)
| Capture le trafic sur l’interface <code>eth0</code>.
| Cible une interface spécifique.
|-
|-
| '''<code>-f &quot;not port 22&quot;</code>'''
| '''<code>-f &quot;not port 22&quot;</code>'''
| Filtre BPF (noyau) : exclut le trafic SSH pour réduire le bruit.
| <code>-f &quot;port 53&quot;</code>
| '''Filtre BPF (noyau)''' : Exclut le trafic SSH (port 22).
| Réduit le bruit en ignorant les paquets non pertinents dès la capture.
|-
|-
| '''<code>-Y &quot;not ssh&quot;</code>'''
| '''<code>-Y &quot;not ssh&quot;</code>'''
| Filtre d’affichage : supprime les paquets SSH résiduels.
| <code>-Y &quot;http&quot;</code>
| '''Filtre d’affichage''' : Supprime les paquets SSH résiduels.
| Affine les résultats après capture.
|-
|-
| '''<code>-T fields</code>'''
| '''<code>-T fields</code>'''
| Format de sortie en colonnes personnalisées.
| -
| Spécifie un format de sortie en colonnes personnalisées.
| Permet de choisir les champs à afficher.
|-
|-
| '''<code>-e frame.time</code>'''
| '''<code>-e frame.time</code>'''
| <code>2025-05-20 14:30:00.123456</code>
| Horodatage du paquet.
| Horodatage du paquet.
| Pour tracer l’heure exacte des événements.
|-
|-
| '''<code>-e ip.src</code> / <code>-e ip.dst</code>'''
| '''<code>-e ip.src</code>'''
| Adresses IP source et destination.
| <code>192.168.1.77</code>
| Adresse IP source.
| Identifie l’origine du trafic.
|-
|-
| '''<code>-e proto</code>'''
| '''<code>-e ip.dst</code>'''
| Protocole (TCP/UDP/ICMP, etc.).
| <code>8.8.8.8</code>
| Adresse IP destination.
| Identifie la cible du trafic.
|-
|-
| '''<code>-e tcp.port</code> / <code>-e udp.port</code>'''
| '''<code>-e frame.protocols</code>'''
| Ports source/destination.
| <code>eth:ip:tcp:http</code>
| Liste des protocoles utilisés (par couche).
| Comprendre la structure des paquets (ex: TCP vs UDP, HTTP vs DNS).
|-
| '''<code>-e tcp.srcport</code>'''
| <code>443</code> (HTTPS)
| Port source TCP (si applicable).
| Identifier les services TCP (ex: 443 = HTTPS, 80 = HTTP).
|-
| '''<code>-e udp.srcport</code>'''
| <code>53</code> (DNS)
| Port source UDP (si applicable).
| Identifier les services UDP (ex: 53 = DNS, 67 = DHCP).
|-
|-
| '''<code>-e http.host</code>'''
| '''<code>-e http.host</code>'''
| Affiche les hôtes HTTP (si trafic web).
| <code>example.com</code>
| Hôte HTTP (si trafic web).
| Voir les sites web visités.
|-
|-
| '''<code>-e dns.qry.name</code>'''
| '''<code>-e dns.qry.name</code>'''
| Affiche les requêtes DNS.
| <code>google.com</code>
| Nom de domaine interrogé en DNS.
| Surveiller les requêtes DNS.
|-
|-
| '''<code>-E separator=&quot;|&quot;</code>'''
| '''<code>-E separator=&quot;|&quot;</code>'''
| Séparateur de colonnes (lisible).
| <code>ip.src|ip.dst</code>
| Définit <code>|</code> comme séparateur de colonnes.
| Rend la sortie plus lisible (CSV-friendly).
|-
|-
| '''<code>-E header=y</code>'''
| '''<code>-E header=y</code>'''
| Affiche les en-têtes des colonnes.
| -
| Affiche les en-têtes de colonnes.
| Comprendre facilement ce que représente chaque champ.
|}
|}


-----
-----


<span id="exemple-de-sortie"></span>
<span id="exemple-de-sortie"></span>
=== '''Exemple de sortie''' ===
=== '''Exemple de sortie''' ===


<pre>frame.time|ip.src|ip.dst|proto|tcp.port|udp.port|http.host|dns.qry.name
<pre>frame.time|ip.src|ip.dst|frame.protocols|tcp.srcport|udp.srcport|http.host|dns.qry.name
2025-05-20 12:34:56|192.168.1.77|8.8.8.8|UDP| |53| |google.com
2025-05-20 14:30:00|192.168.1.77|8.8.8.8|eth:ip:udp:dns| |53| |google.com
2025-05-20 12:34:57|192.168.1.77|151.101.1.69|TCP|443| |example.org| </pre>
2025-05-20 14:30:01|192.168.1.77|151.101.1.69|eth:ip:tcp:http|49234| |example.org|</pre>
 
-----
-----


<span id="variantes-selon-lanalyse-souhaitée"></span>
<span id="variantes-selon-lanalyse-souhaitée"></span>
=== '''Variantes selon l’analyse souhaitée''' ===
=== '''Variantes selon l’analyse souhaitée''' ===


Ligne 108 : Ligne 146 :
==== '''1. Analyse HTTP/HTTPS''' ====
==== '''1. Analyse HTTP/HTTPS''' ====


<syntaxhighlight lang="bash">sudo tshark -i eth0 -Y "http || ssl" -T fields -e ip.src -e http.host -e http.request.uri -e ssl.handshake.extensions_server_name</syntaxhighlight>
<syntaxhighlight lang="bash">
sudo tshark -i eth0 -Y "http || tls" -T fields \
  -e ip.src -e http.host -e http.request.uri -e tls.handshake.extensions_server_name
</syntaxhighlight>
{| class="wikitable"
|-
! Composant
! Exemple/Valeur
! Description
! Utilité
|-
| '''<code>sudo</code>'''
| -
| Exécute avec les privilèges root
| Accès à l’interface réseau
|-
| '''<code>tshark</code>'''
| -
| Outil de capture réseau (CLI Wireshark)
| Alternative puissante à tcpdump
|-
| '''<code>-i eth0</code>'''
| <code>-i wlan0</code>
| Capture sur l’interface ethernet
| Cibler une interface spécifique
|-
| <pre>-Y "http || tls"</pre>
| <code>-Y &quot;dns&quot;</code>
| Filtre d’affichage :<br>• HTTP (non chiffré)<br>• TLS (HTTPS)
| Isoler le trafic web
|-
| '''<code>-T fields</code>'''
| -
| Format de sortie en colonnes
| Personnaliser l’affichage
|-
| '''<code>-e ip.src</code>'''
| <code>192.168.1.77</code>
| Adresse IP source
| Identifier l’appareil émetteur
|-
| '''<code>-e http.host</code>'''
| <code>example.com</code>
| Domaine HTTP (Header Host)
| Voir les sites visités (HTTP)
|-
| '''<code>-e http.request.uri</code>'''
| <code>/search?q=test</code>
| URI complète de la requête
| Analyser les pages/requêtes
|-
| '''<code>-e tls.handshake.extensions_server_name</code>'''
| <code>google.com</code>
| SNI (Server Name Indication)
| Voir les domaines HTTPS
|}
 
----
 
<span id="surveillance-dns"></span>
<span id="surveillance-dns"></span>
==== '''2. Surveillance DNS''' ====


<syntaxhighlight lang="bash">sudo tshark -i eth0 -f "port 53" -Y "dns" -T fields -e frame.time -e ip.src -e dns.qry.name -e dns.flags.response</syntaxhighlight>
<span id="détection-de-connexions-suspectes"></span>
<span id="détection-de-connexions-suspectes"></span>
==== '''3. Détection de connexions suspectes''' ====
==== '''3. Détection de connexions suspectes''' ====


Ligne 188 : Ligne 283 :
Cette commande vous donne une '''vision complète et organisée''' du trafic sur votre machine. Utilisez les filtres (<code>-Y</code>) pour cibler des protocoles spécifiques selon vos besoins !
Cette commande vous donne une '''vision complète et organisée''' du trafic sur votre machine. Utilisez les filtres (<code>-Y</code>) pour cibler des protocoles spécifiques selon vos besoins !


[[Catégorie:Tools]] [[Catégorie:Linux]] [[Catégorie:Debian]] [[Catégorie:Softz]]
[[Catégorie:Tools]] [[Catégorie:Linux]] [[Catégorie:Debian]] [[Catégorie:Softz]] [[Catégorie: Terminal Tools]]