Cal excloure el flux SSH d'una captura remota?
Una captura remota enregistra la connexió que transporta la seva pròpia sortida. Decidiu quant n'heu d'excloure i no uniu mai dos tests negatius d'amfitrió amb or.
Capturar en una màquina remota mentre observeu la sortida per la mateixa connexió és un mesurament autoreferencial i distorsiona allò que mesureu. Cada paquet que imprimiu torna per la sessió que s'està capturant. Excloure aquest flux sol ser correcte, però la mida de l'exclusió és una decisió real. Massa estret i la captura s'inunda a si mateixa; massa ample i les proves desapareixen.
Per què la captura s'enregistra a si mateixa
La captura veu el camí de tornada de la seva pròpia sortida. Cada línia impresa al vostre terminal es converteix en un o més paquets a la connexió de gestió, que el filtre després coincideix i torna a imprimir. El resultat és un bucle que creix fins que el búfer o l'enllaç cedeixen.
Per això una captura escrita en un fitxer sembla correcta i la mateixa captura emesa en directe es torna inutilitzable. El trànsit no és nou; l'heu creat vosaltres. Una captura de deu segons pot produir més sortida del que l'enllaç pot suportar un cop comença el bucle.
Construïu l'exclusió com un sol grup
Comenceu per com l'amfitrió remot veu la vostra sessió, no per l'adreça del vostre terminal local. Un amfitrió de salt o un dispositiu NAT poden fer que la contrapart sigui una cosa que mai no heu escrit, així que llegiu l'adreça des de la visió pròpia del costat remot. Després agrupeu l'amfitrió i el port junts perquè la negació s'apliqui a la parella.
tcpdump -ni eth0 '(net 10.60.0.0/24) and not (host 203.0.113.77 and tcp port 2222)'Posar tota l'expressió entre cometes evita que l'intèrpret llegeixi els parèntesis com a sintaxi. Torneu a imprimir el filtre abans de confiar en el resultat.
El filtre que sembla correcte i ho conserva tot
El filtre equivocat és el que es llegeix de manera natural: l'origen no és la contrapart, o la destinació no és la contrapart. Per a un paquet de la vostra estació de treball el primer test és cert; per a la resposta, el segon. Unir-los amb or conserva totes dues direccions, que és exactament el que volíeu descartar.
La lògica del filtre pcap dona a and i or la mateixa precedència i avalua d'esquerra a dreta, així que els parèntesis no són opcionals quan els barregeu. Negueu una expressió agrupada en lloc de combinar dues negacions. Aquest sol canvi separa un filtre que funciona d'una captura plena de la vostra pròpia escriptura. referència del filtre pcap és prou curta per llegir-la al terminal i val la pena consultar-la sempre que un filtre es comporti de manera inesperada.
Decidiu segons què ha de demostrar la captura
Decidiu quant n'heu d'excloure preguntant què ha de demostrar la captura. Si necessiteu veure trànsit d'aplicacions cap al mateix amfitrió, excloeu només el port SSH i accepteu el soroll d'altres sessions. Si l'amfitrió és irrellevant per a la pregunta, excloure'l del tot és més simple i elimina tota una classe de paquets autogenerats. Escriviu l'elecció al costat del fitxer de captura, perquè un filtre és una suposició sobre les proves.
L'elecció d'interfície decideix què podeu veure. Al túnel veieu el trànsit interior; a la interfície física veieu el transport xifrat. Si els paquets de gestió ja són absents al punt que heu triat, cap exclusió no arreglarà una captura adreçada a la capa equivocada.