« Tshark » : différence entre les versions
Aucun résumé des modifications |
|||
| (8 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
=== Commandes de bases === | === Commandes de bases === | ||
| Ligne 36 : | 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 | 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" | ||
|- | |- | ||
! | ! 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>''' | ||
| | | <code>-i wlan0</code> (pour le Wi-Fi) | ||
| Capture le trafic sur l’interface <code>eth0</code>. | |||
| Cible une interface spécifique. | |||
|- | |- | ||
| '''<code>-f "not port 22"</code>''' | | '''<code>-f "not port 22"</code>''' | ||
| Filtre BPF (noyau) : | | <code>-f "port 53"</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 "not ssh"</code>''' | | '''<code>-Y "not ssh"</code>''' | ||
| Filtre d’affichage : | | <code>-Y "http"</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>''' | ||
| | | - | ||
| 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>192.168.1.77</code> | |||
| Adresse IP source. | |||
| Identifie l’origine du trafic. | |||
|- | |- | ||
| '''<code>-e ip. | | '''<code>-e ip.dst</code>''' | ||
| | | <code>8.8.8.8</code> | ||
| Adresse IP destination. | |||
| Identifie la cible du trafic. | |||
|- | |- | ||
| '''<code>-e | | '''<code>-e frame.protocols</code>''' | ||
| | | <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. | | '''<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>''' | ||
| | | <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>''' | ||
| | | <code>google.com</code> | ||
| Nom de domaine interrogé en DNS. | |||
| Surveiller les requêtes DNS. | |||
|- | |- | ||
| '''<code>-E separator="|"</code>''' | | '''<code>-E separator="|"</code>''' | ||
| | | <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 | | - | ||
| 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| | <pre>frame.time|ip.src|ip.dst|frame.protocols|tcp.srcport|udp.srcport|http.host|dns.qry.name | ||
2025-05-20 | 2025-05-20 14:30:00|192.168.1.77|8.8.8.8|eth:ip:udp:dns| |53| |google.com | ||
2025-05-20 | 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 106 : | Ligne 146 : | ||
==== '''1. Analyse HTTP/HTTPS''' ==== | ==== '''1. Analyse HTTP/HTTPS''' ==== | ||
<syntaxhighlight lang="bash">sudo tshark -i eth0 -Y "http || | <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 "dns"</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> | ||
<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 186 : | 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]] | ||