Faut-il exclure le flux SSH d'une capture distante ?
Une capture distante enregistre la connexion qui transporte sa propre sortie. Décidez de la quantité à exclure, et ne combinez jamais deux tests d'hôte négatifs avec or.
Capturer sur une machine distante pendant que vous regardez la sortie par la même connexion est une mesure autoréférentielle, et elle déforme ce que vous mesurez. Chaque paquet que vous imprimez repasse par la session capturée. Exclure ce flux est généralement correct, mais la taille de l'exclusion est une vraie décision. Trop étroite et la capture s'inonde elle-même ; trop large et la preuve disparaît.
Pourquoi la capture s'enregistre elle-même
La capture voit le chemin de retour de sa propre sortie. Chaque ligne imprimée dans votre terminal devient un ou plusieurs paquets sur la connexion d'administration, que le filtre fait ensuite correspondre et imprime à nouveau. Le résultat est une boucle qui grandit jusqu'à ce que le tampon ou le lien cède.
C'est pourquoi une capture écrite dans un fichier semble correcte alors que la même capture diffusée en direct devient inutilisable. Le trafic n'est pas nouveau ; c'est vous qui l'avez créé. Une capture de dix secondes peut produire plus de sortie que le lien ne peut en porter une fois la boucle lancée.
Construisez l'exclusion comme un seul groupe
Partez de la façon dont l'hôte distant voit votre session, pas de l'adresse de votre terminal local. Un hôte de rebond ou un appareil NAT peuvent faire du pair quelque chose que vous n'avez jamais saisi, alors lisez l'adresse du point de vue du côté distant lui-même. Regroupez ensuite l'hôte et le port ensemble pour que la négation s'applique au couple.
tcpdump -ni eth0 '(net 10.60.0.0/24) and not (host 203.0.113.77 and tcp port 2222)'Citer toute l'expression empêche le shell de lire les parenthèses comme de la syntaxe. Réimprimez le filtre avant de faire confiance au résultat.
Le filtre qui semble correct et conserve tout
Le mauvais filtre est celui qui se lit naturellement : la source n'est pas le pair, ou la destination n'est pas le pair. Pour un paquet de votre poste de travail, le premier test est vrai ; pour la réponse, le second. Les joindre avec or conserve les deux directions, ce qui est exactement ce que vous vouliez supprimer.
La logique de filtre pcap donne à and et or la même priorité et évalue de gauche à droite, donc les parenthèses ne sont pas facultatives quand vous les mélangez. Niez une expression groupée au lieu de combiner deux négations. Ce seul changement sépare un filtre qui fonctionne d'une capture pleine de votre propre frappe. référence du filtre pcap est assez courte pour être lue dans le terminal et mérite un coup d'œil chaque fois qu'un filtre se comporte de façon inattendue.
Décidez selon ce que la capture doit prouver
Décidez de la quantité à exclure en demandant ce que la capture doit prouver. Si vous devez voir le trafic applicatif vers le même hôte, excluez uniquement le port SSH et acceptez le bruit des autres sessions. Si l'hôte est sans rapport avec la question, l'exclure entièrement est plus simple et supprime toute une classe de paquets auto-générés. Écrivez le choix à côté du fichier de capture, car un filtre est une hypothèse sur la preuve.
Le choix de l'interface décide de ce que vous pouvez voir. Sur le tunnel, vous voyez le trafic interne ; sur l'interface physique, vous voyez le transport chiffré. Si les paquets d'administration sont déjà absents à l'endroit choisi, aucune exclusion ne corrigera une capture visant la mauvaise couche.