Przejdz do tresci
Avanet

Bezpieczne używanie tcpdump na Sophos Firewall

tcpdump to odpowiednie narzędzie, gdy na Sophos Firewall trzeba dokładniej zobaczyć, jakie pakiety rzeczywiście docierają, przez które interfejsy przechodzą i czy problem występuje przed, na, czy za firewallem. Uzupełnia Log Viewer, WebAdmin Packet Capture i Service Logs, ale ich nie zastępuje.

Do szybkich analiz w przeglądarce często wygodniejsze jest użycie Sophos Firewall Packet Capture w WebAdmin. Do dłuższych przechwyceń, bardzo dokładnych filtrów, plików PCAP lub przypadków wsparcia tcpdump przez SSH jest zazwyczaj lepszym wyborem.

⚠️ Ważne: Przechwytywanie pakietów może zawierać wrażliwe dane: wewnętrzne adresy IP, nazwy hostów, nazwy użytkowników, zapytania DNS, szczegóły certyfikatów albo nieszyfrowane dane użytkowe. Dlatego powinno być ściśle filtrowane, rejestrowane tylko tak długo, jak to konieczne, dokumentowane i przekazywane wyłącznie bezpiecznymi kanałami. Nieprzefiltrowany capture na any może na produkcyjnych firewallach wygenerować bardzo dużo danych.

Wybór narzędzia i wymagania wstępne

Przed uruchomieniem tcpdump powinno być jasne, czy naprawdę potrzebny jest capture z CLI. Wiele pytań szybciej odpowiada Log Viewer albo Packet Capture w WebAdmin. tcpdump staje się wartościowy wtedy, gdy potrzebny jest dłuższy capture, bardzo dokładny filtr albo plik PCAP.

Który artykuł jest odpowiedni?

tcpdump nie jest pierwszym krokiem do każdej analizy. W zależności od pytania, inny punkt startowy może być szybszy:

SytuacjaLepszy punkt startowy
Chcesz szybko zobaczyć w WebAdmin, czy pakiety docierają, są przekazywane lub odrzucaneUżycie Sophos Firewall Packet Capture w WebAdmin
Reguła firewalla ma być zweryfikowana za pomocą Log Viewer, Policy tester i Packet CaptureTestowanie reguł Sophos Firewall za pomocą Log Viewer, Policy tester i Packet Capture
Skupiasz się na Drop, Violation, Rule ID, NAT ID lub powodach odrzuceniaAnaliza odrzuconych pakietów na Sophos Firewall
Nie jest jasne, który lokalny plik dziennika dotyczy VPN, Web, IPS, GUI lub usług systemowychRozwiązywanie problemów z usługami i dziennikami na Sophos Firewall
SSH lub Advanced Shell nie są jeszcze poprawnie przygotowaneŁączenie się z Sophos Firewall przez SSH
Przypadek wsparcia wymaga dodatkowo archiwum /log, danych IPsec lub dzienników debugowaniaZabezpieczanie dzienników Sophos Firewall dla wsparcia i analizy
Potrzebujesz pliku PCAP, długiego przechwytywania lub bardzo dokładnych filtrów CLITen artykuł

To rozróżnienie oszczędza czas i zmniejsza ryzyko. tcpdump dostarcza silne dane o pakietach, ale nie decyzje polityki specyficzne dla Sophos. Rule ID, NAT ID, Web Policy, IPS lub inspekcja SSL/TLS muszą być równolegle sprawdzane w Log Viewer, WebAdmin Packet Capture lub odpowiednich plikach dziennika.

Wymagania

Do tej instrukcji potrzebujesz:

  • Administracyjnego dostępu do Sophos Firewall.
  • Dostępu SSH do firewalla lub dostępu do Advanced Shell.
  • Znajomości adresu źródłowego IP, docelowego IP, portu docelowego i protokołu.
  • Wystarczającej ilości wolnego miejsca, jeśli ma być zapisany plik PCAP.
  • Wireshark lub innego narzędzia analitycznego na komputerze administratora, jeśli plik PCAP ma być analizowany.

Jak bezpiecznie przygotować SSH, opisano w Łączenie się z Sophos Firewall przez SSH. Dla ogólnych podstaw CLI odpowiedni jest również Rozwiązywanie problemów z CLI na Sophos Firewall: ważne polecenia.

Kiedy tcpdump jest właściwym kolejnym krokiem

tcpdump nie powinien być automatycznie pierwszym krokiem. Jeśli chcesz tylko wiedzieć, która reguła firewalla, reguła NAT, polityka Web lub reguła inspekcji SSL/TLS podjęła decyzję, Log Viewer jest szybszy i bardziej czytelny. Jeśli chcesz zobaczyć w przeglądarce, czy pojedyncze pakiety docierają, są przekazywane lub odrzucane, często wystarcza Packet Capture w WebAdmin.

tcpdump jest szczególnie przydatny, gdy spełniony jest jeden z poniższych punktów:

  • Przechwytywanie ma być analizowane jako plik PCAP w Wireshark lub przez wsparcie.
  • Przechwytywanie w WebAdmin jest zbyt krótkie, zbyt nieczytelne lub bufor się zapełnia.
  • Test musi trwać dłużej podczas okna konserwacyjnego, rozmowy telefonicznej lub powtarzalnego błędu użytkownika.
  • Potrzebne są precyzyjne filtry CLI, na przykład dla VoIP, DNS, IPsec, wielu hostów lub zakresów portów.
  • Istotny ruch ma być porównany na any, a następnie na konkretnym interfejsie.

Ważne jest oczekiwanie: tcpdump pokazuje pakiety, ale nie decyzje polityki specyficzne dla Sophos, takie jak Rule ID, NAT ID czy decyzje polityki Web. Te informacje muszą być równolegle sprawdzane w Log Viewer, WebAdmin Packet Capture lub odpowiednich plikach dziennika.

Advanced Shell czy Device Console?

tcpdump może występować na Sophos Firewall w dwóch kontekstach CLI. Sophos Device Console zawiera własne polecenie tcpdump ze składnią Sophos i opcjami takimi jak filedump. Advanced Shell udostępnia dodatkowo bardziej linuksowy tcpdump, który w przypadkach supportowych bywa praktyczniejszy, ponieważ można używać zarządzania procesami, scp, /tmp i innych narzędzi shell.

To rozróżnienie jest ważne:

  • Device Console: odpowiednia dla polecenia Sophos CLI tcpdump. Przed wykonaniem należy sprawdzić składnię za pomocą Tab lub ?. Według Sophos wyjście utworzone przez filedump trafia do /tmp.
  • Advanced Shell: odpowiednia dla klasycznych workflow shell z tcpdump, ps, df, grep, scp, dostępem do plików i świadomym zatrzymywaniem działających procesów.

Ten artykuł celowo używa Advanced Shell, ponieważ pliki PCAP, procesy w tle, scp i sprzątanie po analizie są tam bardziej zrozumiałe jako jeden przepływ pracy. Jeśli tcpdump jest używany w Device Console, obowiązują te same zasady: wąskie filtry, krótki czas przechwytywania, kontrola wolnego miejsca i porównanie wyniku z Log Viewer albo WebAdmin Packet Capture.

Jeśli nie jest jasne, w której konsoli się znajdujesz, pomocna jest Rozwiązywanie problemów z usługami i dziennikami na Sophos Firewall.

Przygotowanie przechwytywania

Ograniczenie przed rozpoczęciem

Przed przechwytywaniem należy zanotować parametry analizy:

PolePrzykład
Source IP172.16.10.25
Destination IP198.51.100.20
ProtokółTCP
Destination Port443
Oczekiwany interfejsLAN, WAN lub VPN-Interface
Czas testudokładny czas z strefą czasową
Oczekiwany wynikPołączenie dozwolone, zablokowane, DNAT, SNAT, VPN lub Drop
Kontrola równoległaLog Viewer, Packet Capture, Service Log albo ticket supportowy

Im bardziej precyzyjny filtr, tym lepszy wynik. Przechwytywanie bez filtra jest zazwyczaj sensowne tylko na bardzo spokojnych firewallach.

Test powinien być powtarzalny. Jeśli kilka osób jednocześnie zmienia ustawienia lub testuje kilku klientów, przechwytywanie staje się trudne do interpretacji. Lepiej jest użyć jednego klienta testowego, wąskiego przedziału czasowego i jasnego pytania: Czy pakiet dociera? Czy wychodzi? Czy odpowiedź wraca? Która reguła, reguła NAT albo Policy była równolegle widoczna?

Do testów reguł odpowiedni jest również Testowanie reguł Sophos Firewall za pomocą Log Viewer i Packet Capture. Jeśli chodzi głównie o Drop, Violation, Rule ID lub NAT ID, lepszym artykułem jest Analiza odrzuconych pakietów na Sophos Firewall.

Uruchomienie tcpdump

Wykonanie tcpdump na żywo

Do pierwszego sprawdzenia na żywo często wystarcza filtr hosta:

tcpdump -i any -nn host 198.51.100.20

Parametry:

ParametrZnaczenie
-i anyprzechwytywanie na wszystkich interfejsach
-nnbrak rozwiązywania nazw DNS lub portów
host 198.51.100.20wyświetlanie tylko pakietów od lub do tego IP

Do testu webowego przydatny jest dodatkowy filtr portu:

tcpdump -i any -nn 'host 198.51.100.20 and port 443'

Wyrażenia filtrujące z and, or lub not powinny być umieszczone w pojedynczych cudzysłowach. Dzięki temu wyrażenie pozostaje spójne i nie jest rozdzielane przez powłokę.

Częste przykłady filtrów

CelPolecenie
Określony hosttcpdump -i any -nn 'host 198.51.100.20'
Określone źródło IPtcpdump -i any -nn 'src host 172.16.10.25'
Określony cel IPtcpdump -i any -nn 'dst host 198.51.100.20'
Określona siećtcpdump -i any -nn 'net 172.16.10.0/24'
Określony porttcpdump -i any -nn 'port 443'
Host i porttcpdump -i any -nn 'host 198.51.100.20 and port 443'
ICMP / Pingtcpdump -i any -nn 'proto ICMP'
DNStcpdump -i any -nn 'port 53'
Wszystkie porty oprócz SSHtcpdump -i any -nn 'host 198.51.100.20 and port not 22'

W przypadku problemów z VPN, VLAN lub routingu może być sensowne ograniczenie nie do any, ale do konkretnego interfejsu. Nazwy interfejsów muszą pasować do odpowiedniego firewalla. Praktyczna jest często taka kolejność:

  1. Krótko sprawdzić na any, czy oczekiwany host albo port w ogóle jest widoczny.
  2. Następnie nagrywać na przypuszczalnym interfejsie wejściowym.
  3. Następnie nagrywać na przypuszczalnym interfejsie wyjściowym.
  4. Trzy obserwacje porównać z Log Viewer, NAT ID, Rule ID albo Drop Reason.

W ten sposób szybciej widać, czy traffic nie dociera do firewalla, zostaje zatrzymany na firewallu albo odpowiedź ginie w drodze powrotnej.

Ograniczenie przechwytywania

Przechwytywanie powinno być ograniczone, aby nie trwało niepotrzebnie długo.

Za pomocą -c tcpdump zatrzymuje się po określonej liczbie pakietów:

tcpdump -i any -nn -c 100 'host 198.51.100.20 and port 443'

Do krótkich testów jest to często czystsze niż proces w tle. Rozpoczynasz przechwytywanie, odtwarzasz problem i automatycznie otrzymujesz wynik.

Zapis pliku PCAP

Jeśli przechwytywanie ma być później analizowane w Wireshark lub przez wsparcie, zapisujesz plik PCAP do /tmp.

tcpdump -i any -nn -s 0 -w /tmp/sophos-capture.pcap 'host 198.51.100.20 and port 443'

Ważne parametry:

ParametrZnaczenie
-s 0przechwytywanie pełnych pakietów
-w /tmp/sophos-capture.pcapzapis do pliku PCAP
-nnwyłączenie rozwiązywania nazw

-s 0 jest przydatne, gdy potrzebne jest pełne przechwytywanie. Jednocześnie zwiększa to ryzyko dla ochrony danych, ponieważ więcej zawartości pakietów jest rejestrowanych. Do czysto przepływowych lub nagłówkowych pytań często wystarcza przechwytywanie na żywo bez pliku PCAP lub krótkie przechwytywanie z wąskim filtrem.

Przed większymi przechwytywaniami należy sprawdzić wolne miejsce:

df -h /tmp
df -h /var

Jeśli problem musi być odtworzony tylko krótko, można również dodać -c:

tcpdump -i any -nn -s 0 -c 500 -w /tmp/sophos-capture.pcap 'host 198.51.100.20 and port 443'

Po rozpoczęciu należy natychmiast odtworzyć test i nie pozwalać na niepotrzebne dalsze działanie przechwytywania. PCAP, który zawiera pięć minut za dużo, nie tylko jest większy, ale często zawiera więcej wrażliwych informacji pobocznych.

W przypadkach supportowych nazwa pliku powinna zawierać neutralny kontekst, ale nie nazwy klienta, nazwy użytkownika ani poufnych nazw hostów. Lepsze są nazwy takie jak /tmp/ticket-12345-wan-443.pcap albo /tmp/vpn-test-20260629.pcap.

Uruchamianie i zatrzymywanie procesu w tle

Czasami przechwytywanie musi działać, podczas gdy wykonywany jest inny test. Wtedy tcpdump można uruchomić w tle.

tcpdump -i any -nn -s 0 -w /tmp/voip-test.pcap 'host 192.0.2.50 and portrange 5060-5090' &

Wyświetlanie bieżących zadań:

jobs

Zakończenie zadania:

kill %1

Jeśli działa kilka procesów tcpdump lub zadanie nie jest już widoczne w bieżącej powłoce, najpierw sprawdź procesy:

ps | grep tcpdump

Następnie zakończ odpowiedni proces. killall tcpdump powinno być używane tylko wtedy, gdy jest jasne, że nie działają inne ważne przechwytywania.

Po zatrzymaniu należy sprawdzić, czy plik PCAP został zapisany i ma wiarygodny rozmiar:

ls -lh /tmp/*.pcap

Jeśli capture w tle jest planowany na termin z supportem, wcześniej powinno być ustalone, kto go uruchamia, kto zatrzymuje i gdzie później trafia plik. Zapomniany capture nie jest rzadkim problemem troubleshooting, lecz możliwym do uniknięcia ryzykiem operacyjnym.

Przykład: Analiza VoIP lub 3CX

W przypadku problemów z VoIP, sygnalizacja SIP i strumień mediów RTP często muszą być rozpatrywane oddzielnie. Pojedyncze przechwytywanie na port 5060 pokazuje tylko część problemu.

Do pierwszego testu 3CX można przechwytywać hosta PBX:

tcpdump -i any -nn -s 0 -w /tmp/3cx-test.pcap 'host 192.0.2.50'

Jeśli ruch jest zbyt szeroki, można bardziej precyzyjnie ograniczyć się do SIP:

tcpdump -i any -nn -s 0 -w /tmp/3cx-sip.pcap 'host 192.0.2.50 and portrange 5060-5090'

W przypadku problemów z dźwiękiem należy dodatkowo sprawdzić rzeczywiście używany zakres portów RTP. Zależy to od centrali telefonicznej i jej konfiguracji.

W przypadku tematów VoIP na Sophos Firewall należy dodatkowo sprawdzić Optymalizowanie ustawień VoIP na Sophos Firewall.

Analiza i czyszczenie

Po capture chodzi o trzy rzeczy: bezpieczne przekazanie pliku, usunięcie danych tymczasowych i właściwą interpretację obserwacji. tcpdump pokazuje przepływ pakietów, ale nie kompletną decyzję Sophos Policy.

Pobieranie i czyszczenie pliku PCAP

Plik PCAP można skopiować na wewnętrzny serwer za pomocą scp:

scp /tmp/sophos-capture.pcap adminuser@192.0.2.10:/tmp/

W zależności od środowiska można również użyć innej bezpiecznej metody transferu. FTP z zapisanymi na stałe danymi dostępowymi powinien być unikany.

Po pomyślnym przesłaniu plik powinien zostać usunięty z firewalla:

rm /tmp/sophos-capture.pcap

Dla pełnych archiwów dzienników i przypadków wsparcia odpowiednia jest Zabezpieczanie dzienników Sophos Firewall dla wsparcia i analizy.

Kontekst dla supportu albo analizy zewnętrznej

Plik PCAP bez kontekstu trudno analizować. Dla Sophos Support, Avanet albo zewnętrznego partnera analitycznego należy przekazać co najmniej te informacje:

  • Okno czasowe: na przykład 2026-06-29, 14:05-14:08 Europe/Zurich.
  • Oczekiwany Flow: na przykład klient 172.16.10.25 do serwera 198.51.100.20:443.
  • Dotknięta funkcja: DNAT, IPsec, SSL VPN, Webfilter, VoIP, DNS albo Routing.
  • Obserwacja: na przykład SYN widoczny, brak SYN-ACK, Drop w Log Viewer albo brak odpowiedzi z celu.
  • Sprawdzono równolegle: Rule ID, NAT ID, Packet Capture i istotne Service Logs.
  • Zmiana przed błędem: firmware, zmiana reguły, zmiana providera, certyfikat albo SD-WAN route.

Przed przekazaniem należy sprawdzić, czy plik zawiera wewnętrzne nazwy, prywatne adresy, publiczne adresy IP klientów albo nieszyfrowane treści. Jeśli zawartości nie da się zanonimizować, odbiorcy, kanał przekazania i przechowywanie muszą być świadomie ustalone.

Prawidłowa analiza tcpdump

Podczas analizy nie chodzi tylko o to, czy pakiety są widoczne. Kluczowe jest, co brakuje.

ObserwacjaTypowe znaczenie
Brak widocznych pakietów od klientaProblem leży przed firewallem: sprawdź klienta, VLAN, bramę, przełącznik lub routing do firewalla
Pakiety wchodzą, ale nie wychodząSprawdź regułę firewalla, NAT, routing, funkcję bezpieczeństwa lub politykę
Pakiety wychodzą, ale brak odpowiedziSprawdź system docelowy, trasę zwrotną, przeciwfirewall, NAT lub dostawcę
Tylko SYN, brak SYN-ACKCel lub trasa zwrotna nie odpowiada
Widoczny ICMP Request, brak odpowiedziSprawdź trasę zwrotną, firewall docelowy lub przeciwstawną stronę
Widoczna prośba DNS, brak odpowiedziSprawdź serwer DNS, trasę, regułę lub upstream
Pakiet widoczny tylko na any, ale nie na oczekiwanym interfejsieSprawdź założenie interfejsu, strefę, trasę albo przypisanie tunelu
Pakiet widoczny na interfejsie wejściowym, ale nie na wyjściowymSprawdź regułę, NAT, trasę, Security Feature albo Drop Reason

tcpdump pokazuje przepływ pakietów. Decyzję polityki sprawdza się równolegle w Log Viewer. W przypadku problemów z firewallem i NAT często najszybsza jest kombinacja Log Viewer, Packet Capture i tcpdump.

W przypadku błędów NAT należy dodatkowo zrozumieć, że NAT tylko tłumaczy ruch, ale go nie pozwala. Odpowiednią podstawą jest Zrozumienie NAT na Sophos Firewall: SNAT, DNAT, MASQ, PAT. W przypadku tuneli IPsec pomocne są równolegle Rozwiązywanie problemów z IPsec VPN na Sophos Firewall i odpowiednie dzienniki VPN.

Typowe błędy i lista kontrolna

Typowe błędy

BłądSkutekLepsze podejście
Przechwytywanie bez filtrazbyt wiele danych, trudne do analizyzawsze ograniczaj do hosta, sieci, portu lub protokołu
Przechwytywanie nie zatrzymanemogą ucierpieć miejsce na dysku i wydajnośćużyj -c lub zakończ proces w tle poprawnie
Oceniono tylko anyproblem interfejsu albo tunelu pozostaje ukrytypo pierwszym trafieniu porównaj celowo interfejs wejściowy i wyjściowy
Sprawdzono tylko kierunek wyjściowyproblem z trasą zwrotną zostanie przeoczonyrozważ oba kierunki
Wybrano niewłaściwy interfejsbrak istotnych pakietównajpierw any, potem ogranicz do konkretnego interfejsu
PCAP udostępniony bez szyfrowaniawrażliwe dane mogą zostać ujawnionebezpieczny transfer i minimalna grupa odbiorców
Plik pozostawiony po przypadku wsparcianiepotrzebne zużycie miejsca i ryzyko danychusuń PCAP po przesłaniu

Lista kontrolna

  • Znane adresy IP źródłowy, docelowy, port i protokół.
  • Bezpiecznie skonfigurowany dostęp SSH do firewalla.
  • Wcześniej zdecydowano, czy Log Viewer lub WebAdmin Packet Capture wystarczą.
  • Filtr wybrany tak wąsko, jak to możliwe.
  • Przechwytywanie ograniczone za pomocą -c lub jasnego procesu zatrzymania.
  • Plik PCAP zapisany tylko w razie potrzeby.
  • Przy pytaniach o interfejs najpierw porównano any, potem interfejs wejściowy i wyjściowy.
  • Problem celowo odtworzony podczas przechwytywania.
  • Udokumentowany czas testu.
  • Równolegle sprawdzono Log Viewer.
  • Zanotowano Rule ID, NAT ID, Drop Reason albo Service Log, jeśli były widoczne.
  • PCAP bezpiecznie przesłany.
  • Tymczasowy plik PCAP usunięty z firewalla.

FAQ

Co jest lepsze: WebAdmin Packet Capture czy tcpdump?

Do szybkich analiz bezpośrednio w przeglądarce idealne jest WebAdmin Packet Capture. Do dłuższych przechwyceń, plików PCAP, dokładniejszych filtrów lub przypadków wsparcia lepszy jest tcpdump.

Czy tcpdump powinien być uruchamiany na any czy na interfejsie?

Do pierwszego ograniczenia any jest praktyczne, ponieważ nie przegapisz pakietów z powodu błędnego filtra interfejsu. Gdy tylko będzie jasne, który interfejs jest istotny, powinieneś filtrować bardziej precyzyjnie.

Dlaczego powinno się używać -nn?

-nn zapobiega rozwiązywaniu nazw DNS i portów. Dzięki temu wyjście uruchamia się szybciej i jest mniej zniekształcone przez rozwiązywanie nazw.

Czy zawsze trzeba używać -s 0 przy plikach PCAP?

Nie. -s 0 rejestruje pełne pakiety i jest przydatne do szczegółowych analiz. Jednak do wielu pierwszych testów wystarczą informacje nagłówkowe lub krótki przechwytywanie na żywo. Im więcej treści jest rejestrowane, tym ważniejsza jest ochrona danych i bezpieczne przekazywanie.

Gdzie powinny być przechowywane pliki PCAP?

Do tymczasowych przechwyceń /tmp jest zwykle używane. Plik powinien być usunięty po przesłaniu.

Dlaczego tcpdump nie pokazuje Rule ID ani NAT ID?

tcpdump pokazuje pakiety na poziomie systemu operacyjnego i interfejsów. Sophos-specyficzne decyzje, takie jak Rule ID, NAT ID, Web Policy, IPS Policy albo Drop Reason, widać w Log Viewer, WebAdmin Packet Capture albo w pasujących plikach logów.