Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tcpdump [2025/12/15 11:42] – [8. Règle d’or] huracan | tcpdump [2025/12/16 09:00] (Version actuelle) – [4. Fermeture de connexion] huracan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ===== Cheat Sheet – Lecture rapide des flags TCP (tcpdump) ===== | ||
| + | Objectif : **diagnostic immédiat** d’un problème réseau ou applicatif en regardant uniquement les **flags TCP**. | ||
| + | ==== 1. Flags essentiels ==== | ||
| + | ^ Flag ^ Signification ^ | ||
| + | | S | Demande de connexion | | ||
| + | | . | ACK (accusé de réception) | | ||
| + | | P | Données applicatives | | ||
| + | | F | Fermeture propre | | ||
| + | | R | Coupure / refus | | ||
| + | ==== 2. Connexion TCP ==== | ||
| + | |||
| + | ^ Séquence observée ^ Interprétation ^ | ||
| + | | [S] → [S.] → [.] | Connexion OK | | ||
| + | | [S] répétés | Service inaccessible / filtrage | | ||
| + | | [S] → [R] | Port fermé | | ||
| + | | [S.] sans [.] | Retour bloqué / client défaillant | | ||
| + | |||
| + | ==== 3. Échange de données ==== | ||
| + | |||
| + | ^ Flags ^ Lecture rapide ^ | ||
| + | | [P.] | Données envoyées | | ||
| + | | [.] | Données reçues | | ||
| + | | [.] répétés | Perte de paquets / MTU / congestion | | ||
| + | |||
| + | ==== 4. Fermeture ==== | ||
| + | |||
| + | ^ Séquence ^ Interprétation ^ | ||
| + | | [F.] → [.] → [F.] → [.] | Fermeture normale | | ||
| + | | [F.] → [R] | Fermeture anormale | | ||
| + | | [R] direct | Coupure brutale | | ||
| + | |||
| + | ==== 5. Diagnostic express ==== | ||
| + | |||
| + | ^ Ce que vous voyez ^ Conclusion probable ^ | ||
| + | | SYN sans réponse | Filtrage / service down | | ||
| + | | RST immédiat | Port fermé | | ||
| + | | Connexion OK, pas de données | Problème applicatif | | ||
| + | | Coupure après quelques secondes | Timeout | | ||
| + | | ACK en boucle | Perte réseau / MTU | | ||
| + | |||
| + | ==== 6. Commandes utiles ==== | ||
| + | |||
| + | Tout le TCP : < | ||
| + | tcpdump -nn -i eth0 tcp </ | ||
| + | |||
| + | Voir les erreurs (RST) : < | ||
| + | tcpdump -nn ' | ||
| + | |||
| + | Voir les tentatives de connexion : < | ||
| + | tcpdump -nn ' | ||
| + | |||
| + | ==== 7. Règle d’or ==== | ||
| + | |||
| + | * **SYN sans SYN-ACK** → réseau ou filtrage | ||
| + | * **RST** → refus ou coupure | ||
| + | * **Handshake OK sans trafic** → applicatif | ||
| + | |||
| + | **À utiliser comme fiche réflexe lors d’une analyse tcpdump en production.** | ||
| Ligne 265: | Ligne 323: | ||
| Lecture des flags TCP dans tcpdump – résumé | Lecture des flags TCP dans tcpdump – résumé | ||
| + | |||
| 1. Connexion | 1. Connexion | ||
| - | [S] → tentative de connexion | + | |
| - | + | [S.] → serveur OK | |
| - | [S.] → serveur OK | + | [.] → connexion établie |
| - | + | ||
| - | [.] → connexion établie | + | ✔ [S] → [S.] → [.] = connexion normale |
| - | + | ||
| - | ✔ [S] → [S.] → [.] = connexion normale | + | |
| 2. Données | 2. Données | ||
| - | [P.] → données envoyées | + | |
| - | + | [.] → données reçues (ACK) | |
| - | [.] → données reçues (ACK) | + | |
| - | + | ✔ Échange fluide = fonctionnement normal | |
| - | ✔ Échange fluide = fonctionnement normal | + | |
| 3. Fermeture | 3. Fermeture | ||
| - | [F.] → fermeture propre | + | |
| - | + | [.] → ACK de fermeture | |
| - | [.] → ACK de fermeture | + | |
| - | + | ✔ Fermeture propre = fin normale | |
| - | ✔ Fermeture propre = fin normale | + | |
| 4. Erreurs / anomalies | 4. Erreurs / anomalies | ||
| - | [R] / [R.] → connexion refusée ou coupée | + | |
| - | + | [S] répétés → service inaccessible / filtrage | |
| - | [S] répétés → service inaccessible / filtrage | + | [S.] sans [.] → problème côté client ou retour bloqué |
| - | + | ACK répétés ([.]) → perte de paquets / MTU / congestion | |
| - | [S.] sans [.] → problème côté client ou retour bloqué | + | |
| - | + | ||
| - | ACK répétés ([.]) → perte de paquets / MTU / congestion | + | |
| 5. Règle d’or | 5. Règle d’or | ||
| Ligne 310: | Ligne 362: | ||
| 6. Diagnostic express | 6. Diagnostic express | ||
| - | Ce que vous voyez Conclusion probable | + | |
| - | SYN → pas de réponse Filtrage / service down | + | | |
| - | SYN → RST Port fermé | + | |
| - | Connexion OK puis RST Timeout / crash applicatif | + | |
| - | ACK en boucle Perte réseau / MTU | + | |
| + | | ||
| ---- | ---- | ||
| + | ==== PLUS PRECISEMENT ==== | ||
| 1. Rappel des principaux drapeaux TCP | 1. Rappel des principaux drapeaux TCP | ||
| Ligne 380: | Ligne 434: | ||
| Flags [.] | Flags [.] | ||
| | | ||
| - | Fermeture TCP ordonnée | + | * Fermeture TCP ordonnée |
| - | Comportement attendu en fin de session | + | |
| 3.4 Réinitialisation (RST) | 3.4 Réinitialisation (RST) | ||
| Ligne 391: | Ligne 445: | ||
| Interprétation possible : | Interprétation possible : | ||
| - | Port fermé | + | * Port fermé |
| - | + | | |
| - | Service non à l’écoute | + | |
| - | + | | |
| - | Timeout applicatif | + | |
| - | + | ||
| - | Pare-feu ou IPS qui coupe la connexion | + | |
| Très fréquent lors de problèmes applicatifs ou de filtrage. | Très fréquent lors de problèmes applicatifs ou de filtrage. | ||
| 3.5 SYN sans réponse (connexion impossible) | 3.5 SYN sans réponse (connexion impossible) | ||
| - | Flags [S] | ||
| - | Flags [S] | ||
| - | Flags [S] | ||
| - | + | Flags [S] | |
| - | SYN retransmis | + | Flags [S] |
| - | + | Flags [S] | |
| - | Pas de SYN-ACK | + | |
| + | * SYN retransmis | ||
| + | | ||
| Causes possibles : | Causes possibles : | ||
| - | Service | + | * Liste à puceService |
| - | + | | |
| - | Filtrage réseau | + | |
| - | + | ||
| - | Problème de routage | + | |
| 3.6 SYN-ACK sans ACK final | 3.6 SYN-ACK sans ACK final | ||
| - | Flags [S.] | ||
| - | Flags [S.] | ||
| - | + | Flags [S.] | |
| - | Le serveur répond | + | Flags [S.] |
| - | + | ||
| - | Le client ne confirme pas | + | * Liste à puceLe |
| + | * Liste à puceLe | ||
| Causes : | Causes : | ||
| - | Problème | + | * Liste à puceProblème |
| + | * Liste à puceFiltrage retour | ||
| + | * Liste à puceMTU / asymétrie réseau | ||
| - | Filtrage retour | + | 4. Analyse des problèmes fréquents via les flags |
| - | MTU / asymétrie réseau | ||
| - | |||
| - | 4. Analyse des problèmes fréquents via les flags | ||
| 4.1 Boucle de retransmission ACK | 4.1 Boucle de retransmission ACK | ||
| - | Flags [.] | ||
| - | Flags [.] | ||
| - | Flags [.] | ||
| + | Flags [.] | ||
| + | Flags [.] | ||
| + | Flags [.] | ||
| + | | ||
| + | ACK répétés | ||
| - | ACK répétés | + | * Liste à puceIndique |
| - | + | * Liste à pucePossiblement | |
| - | Indique | + | |
| - | + | ||
| - | Possiblement | + | |
| 4.2 Retransmissions SYN + RST | 4.2 Retransmissions SYN + RST | ||
| - | Flags [S] | ||
| - | Flags [R.] | ||
| + | Flags [S] | ||
| + | Flags [R.] | ||
| - | Connexion refusée immédiatement | ||
| - | Port fermé ou refus explicite | + | * Liste à puceConnexion refusée immédiatement |
| + | * Liste à pucePort | ||
| 4.3 FIN suivi d’un RST | 4.3 FIN suivi d’un RST | ||
| - | Flags [F.] | ||
| - | Flags [R.] | ||
| + | Flags [F.] | ||
| + | Flags [R.] | ||
| - | Fermeture | + | * Liste à puceFermeture |
| - | + | * Liste à puceSouvent | |
| - | Souvent | + | |
| 5. Indices complémentaires à regarder avec les flags | 5. Indices complémentaires à regarder avec les flags | ||
| Ligne 471: | Ligne 515: | ||
| Les flags seuls ne suffisent pas toujours. À corréler avec : | Les flags seuls ne suffisent pas toujours. À corréler avec : | ||
| - | Numéros | + | * Liste à puceNuméros |
| - | + | * Liste à puceFenêtre | |
| - | Fenêtre | + | * Liste à puceOptions |
| - | + | * Liste à puceRetransmissions | |
| - | Options | + | * Liste à puceTemps |
| - | + | ||
| - | Retransmissions | + | |
| - | + | ||
| - | Temps entre paquets | + | |
| 6. Commandes tcpdump utiles pour l’analyse des flags | 6. Commandes tcpdump utiles pour l’analyse des flags | ||
| Ligne 485: | Ligne 525: | ||
| Afficher uniquement les flags : | Afficher uniquement les flags : | ||
| - | tcpdump -nn -tt -i eth0 ' | + | |
| Voir le détail TCP : | Voir le détail TCP : | ||
| - | tcpdump -nn -vvv -i eth0 tcp | + | |
| Filtrer les RST : | Filtrer les RST : | ||
| - | tcpdump -nn ' | + | |
| Filtrer les SYN : | Filtrer les SYN : | ||
| - | tcpdump -nn ' | + | |
| 7. Méthode d’analyse recommandée | 7. Méthode d’analyse recommandée | ||
| - | Identifier le handshake | + | |
| - | Vérifier la continuité des ACK | + | Vérifier la continuité des ACK |
| - | Repérer les RST / retransmissions | + | Repérer les RST / retransmissions |
| - | Vérifier la fermeture | + | Vérifier la fermeture |
| - | Corréler avec le contexte applicatif | + | Corréler avec le contexte applicatif |
| Ligne 514: | Ligne 554: | ||
| - | ====== | + | ====== |
| Cette page fournit une **méthode synthétique et opérationnelle** pour interpréter les résultats d’un `tcpdump` en se basant sur les **drapeaux TCP (flags)**, dans un objectif de **diagnostic réseau rapide**. | Cette page fournit une **méthode synthétique et opérationnelle** pour interpréter les résultats d’un `tcpdump` en se basant sur les **drapeaux TCP (flags)**, dans un objectif de **diagnostic réseau rapide**. | ||
| Ligne 544: | Ligne 584: | ||
| **Interprétation** : | **Interprétation** : | ||
| - | * Connexion TCP établie correctement | + | Connexion TCP établie correctement |
| - | * Aucun problème réseau apparent | + | Aucun problème réseau apparent |
| --- | --- | ||
| Ligne 556: | Ligne 596: | ||
| </ | </ | ||
| - | * **[P.]** : données envoyées | + | **[P.]** : données envoyées |
| - | * **[.]** : accusé de réception | + | |
| - | **Interprétation** : flux normal, application fonctionnelle. | + | **[.]** : accusé de réception |
| + | |||
| + | **Interprétation** : | ||
| + | |||
| + | flux normal, application fonctionnelle. | ||
| --- | --- | ||
| Ligne 574: | Ligne 617: | ||
| **Interprétation** : | **Interprétation** : | ||
| - | * Fermeture TCP propre et ordonnée | + | Fermeture TCP propre et ordonnée |
| - | * Comportement attendu en fin de session | + | |
| + | Comportement attendu en fin de session | ||
| --- | --- | ||