Przechwytywanie na zdalnej maszynie, gdy obserwujesz wyjście przez to samo połączenie, jest pomiarem odnoszącym się do samego siebie i zniekształca to, co mierzysz. Każdy pakiet, który wypiszesz, wraca przez przechwytywaną sesję. Wykluczenie tego przepływu jest zwykle słuszne, ale rozmiar wykluczenia to prawdziwa decyzja. Zbyt wąskie i przechwytywanie zalewa samo siebie; zbyt szerokie i dowody znikają.

Dlaczego przechwytywanie rejestruje siebie

Przechwytywanie widzi drogę powrotną własnego wyjścia. Każda linia wypisana w twoim terminalu staje się jednym lub kilkoma pakietami na połączeniu zarządzającym, które filtr następnie dopasowuje i wypisuje ponownie. Wynikiem jest pętla, która rośnie, aż bufor lub łącze się poddadzą.

Dlatego przechwytywanie zapisane do pliku wygląda dobrze, a to samo przechwytywanie przesyłane na żywo staje się bezużyteczne. Ruch nie jest nowy; to ty go stworzyłeś. Dziesięciosekundowe przechwytywanie może wygenerować więcej wyjścia, niż łącze jest w stanie przenieść, gdy tylko zacznie się pętla.

Zbuduj wykluczenie jako jedną grupę

Zacznij od tego, jak zdalny host widzi twoją sesję, a nie od adresu w twoim lokalnym terminalu. Host przeskoku lub urządzenie NAT mogą sprawić, że druga strona będzie czymś, czego nigdy nie wpisałeś, więc odczytaj adres z perspektywy samej strony zdalnej. Następnie zgrupuj host i port razem, aby negacja dotyczyła pary.

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

Ujęcie całego wyrażenia w cudzysłowie powstrzymuje powłokę przed czytaniem nawiasów jako składni. Wypisz filtr ponownie, zanim zaufasz wynikowi.

Filtr, który wygląda dobrze i zatrzymuje wszystko

Zły filtr to ten, który czyta się naturalnie: źródło nie jest drugą stroną albo cel nie jest drugą stroną. Dla pakietu z twojej stacji roboczej pierwszy test jest prawdziwy; dla odpowiedzi drugi. Połączenie ich przez or zachowuje oba kierunki, czyli dokładnie to, co chciałeś odrzucić.

Logika filtra pcap daje and i or równy priorytet i ocenia od lewej do prawej, więc nawiasy nie są opcjonalne, gdy je mieszasz. Zaneguj jedno zgrupowane wyrażenie zamiast łączyć dwie negacje. Ta jedna zmiana oddziela działający filtr od przechwytywania pełnego własnego pisania. odniesienie do filtra pcap jest dość krótkie, by przeczytać je w terminalu, i warto je sprawdzić, gdy filtr zachowuje się nieoczekiwanie.

Decyduj według tego, co przechwytywanie musi udowodnić

Zdecyduj, ile wykluczyć, pytając, co przechwytywanie musi udowodnić. Jeśli musisz widzieć ruch aplikacji do tego samego hosta, wyklucz tylko port SSH i zaakceptuj szum innych sesji. Jeśli host jest nieistotny dla pytania, jego całkowite wykluczenie jest prostsze i usuwa całą klasę samogenerowanych pakietów. Zapisz wybór obok pliku przechwytywania, ponieważ filtr jest założeniem o dowodach.

Wybór interfejsu decyduje, co w ogóle możesz zobaczyć. W tunelu widzisz ruch wewnętrzny; na interfejsie fizycznym widzisz transport szyfrowany. Jeśli pakiety zarządzające już nie występują w wybranym punkcie, żadne wykluczenie nie naprawi przechwytywania wymierzonego w niewłaściwą warstwę.

Powiązane artykuły