At optage på en fjern maskine, mens du ser outputtet gennem den samme forbindelse, er en selvrefererende måling, og den forvrænger det, du måler. Hver pakke, du udskriver, rejser tilbage gennem den session, der optages. At udelukke det flow er normalt rigtigt, men størrelsen af udelukkelsen er en reel beslutning. For snæver, og optagelsen oversvømmer sig selv; for bred, og beviserne forsvinder.

Hvorfor optagelsen registrerer sig selv

Optagelsen ser returvejen for sin egen output. Hver linje, der udskrives i din terminal, bliver en eller flere pakker på administrationsforbindelsen, som filteret derefter matcher og udskriver igen. Resultatet er en løkke, der vokser, indtil bufferen eller forbindelsen giver op.

Derfor ser en optagelse, der skrives til en fil, fin ud, mens den samme optagelse streamet live bliver ubrugelig. Trafikken er ikke ny; du skabte den. En optagelse på ti sekunder kan producere mere output, end forbindelsen kan bære, når løkken først er startet.

Byg udelukkelsen som én gruppe

Start med, hvordan fjernværten ser din session, ikke med adressen i din lokale terminal. En springvært eller en NAT-enhed kan gøre modparten til noget, du aldrig har skrevet, så læs adressen fra fjernsidens eget syn. Gruppér derefter værten og porten sammen, så negationen gælder for parret.

tcpdump -ni eth0 '(net 10.60.0.0/24) and not (host 203.0.113.77 and tcp port 2222)'

At sætte hele udtrykket i anførselstegn forhindrer skallen i at læse parenteserne som syntaks. Udskriv filteret igen, før du stoler på resultatet.

Filteret, der ser rigtigt ud og beholder alt

Det forkerte filter er det, der læses naturligt: kilden er ikke modparten, eller destinationen er ikke modparten. For en pakke fra din arbejdsstation er den første test sand; for svaret er den anden sand. At forbinde dem med or beholder begge retninger, hvilket er præcis det, du ville droppe.

pcap-filterlogik giver and og or samme prioritet og evaluerer fra venstre mod højre, så parenteser er ikke valgfrie, når du blander dem. Negér ét grupperet udtryk i stedet for at kombinere to negationer. Den ene ændring adskiller et fungerende filter fra en optagelse fuld af din egen tastning. pcap-filterreferencen er kort nok til at læse i terminalen og værd at tjekke, når et filter opfører sig uventet.

Beslut ud fra, hvad optagelsen skal bevise

Beslut, hvor meget der skal udelukkes, ved at spørge, hvad optagelsen skal bevise. Hvis du skal se applikationstrafik til den samme vært, skal du kun udelukke SSH-porten og acceptere støj fra andre sessioner. Hvis værten er irrelevant for spørgsmålet, er det enklere at udelukke den helt, og det fjerner en hel klasse af selvgenererede pakker. Skriv valget ved siden af optagelsesfilen, fordi et filter er en antagelse om beviserne.

Valget af interface afgør, hvad du overhovedet kan se. På tunnelen ser du den indre trafik; på det fysiske interface ser du den krypterede transport. Hvis administrationspakkerne allerede mangler på det punkt, du valgte, vil ingen udelukkelse rette en optagelse rettet mod det forkerte lag.

Relaterede artikler