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
anymoż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:
| Sytuacja | Lepszy punkt startowy |
|---|---|
| Chcesz szybko zobaczyć w WebAdmin, czy pakiety docierają, są przekazywane lub odrzucane | Użycie Sophos Firewall Packet Capture w WebAdmin |
| Reguła firewalla ma być zweryfikowana za pomocą Log Viewer, Policy tester i Packet Capture | Testowanie reguł Sophos Firewall za pomocą Log Viewer, Policy tester i Packet Capture |
Skupiasz się na Drop, Violation, Rule ID, NAT ID lub powodach odrzucenia | Analiza odrzuconych pakietów na Sophos Firewall |
| Nie jest jasne, który lokalny plik dziennika dotyczy VPN, Web, IPS, GUI lub usług systemowych | Rozwią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 debugowania | Zabezpieczanie dzienników Sophos Firewall dla wsparcia i analizy |
| Potrzebujesz pliku PCAP, długiego przechwytywania lub bardzo dokładnych filtrów CLI | Ten 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ąTablub?. Według Sophos wyjście utworzone przezfiledumptrafia 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:
| Pole | Przykład |
|---|---|
| Source IP | 172.16.10.25 |
| Destination IP | 198.51.100.20 |
| Protokół | TCP |
| Destination Port | 443 |
| Oczekiwany interfejs | LAN, WAN lub VPN-Interface |
| Czas testu | dokładny czas z strefą czasową |
| Oczekiwany wynik | Połączenie dozwolone, zablokowane, DNAT, SNAT, VPN lub Drop |
| Kontrola równoległa | Log 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:
| Parametr | Znaczenie |
|---|---|
-i any | przechwytywanie na wszystkich interfejsach |
-nn | brak rozwiązywania nazw DNS lub portów |
host 198.51.100.20 | wyś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
| Cel | Polecenie |
|---|---|
| Określony host | tcpdump -i any -nn 'host 198.51.100.20' |
| Określone źródło IP | tcpdump -i any -nn 'src host 172.16.10.25' |
| Określony cel IP | tcpdump -i any -nn 'dst host 198.51.100.20' |
| Określona sieć | tcpdump -i any -nn 'net 172.16.10.0/24' |
| Określony port | tcpdump -i any -nn 'port 443' |
| Host i port | tcpdump -i any -nn 'host 198.51.100.20 and port 443' |
| ICMP / Ping | tcpdump -i any -nn 'proto ICMP' |
| DNS | tcpdump -i any -nn 'port 53' |
| Wszystkie porty oprócz SSH | tcpdump -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ść:
- Krótko sprawdzić na
any, czy oczekiwany host albo port w ogóle jest widoczny. - Następnie nagrywać na przypuszczalnym interfejsie wejściowym.
- Następnie nagrywać na przypuszczalnym interfejsie wyjściowym.
- 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:
| Parametr | Znaczenie |
|---|---|
-s 0 | przechwytywanie pełnych pakietów |
-w /tmp/sophos-capture.pcap | zapis do pliku PCAP |
-nn | wyłą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.25do serwera198.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.
| Obserwacja | Typowe znaczenie |
|---|---|
| Brak widocznych pakietów od klienta | Problem 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 odpowiedzi | Sprawdź system docelowy, trasę zwrotną, przeciwfirewall, NAT lub dostawcę |
| Tylko SYN, brak SYN-ACK | Cel lub trasa zwrotna nie odpowiada |
| Widoczny ICMP Request, brak odpowiedzi | Sprawdź trasę zwrotną, firewall docelowy lub przeciwstawną stronę |
| Widoczna prośba DNS, brak odpowiedzi | Sprawdź serwer DNS, trasę, regułę lub upstream |
Pakiet widoczny tylko na any, ale nie na oczekiwanym interfejsie | Sprawdź założenie interfejsu, strefę, trasę albo przypisanie tunelu |
| Pakiet widoczny na interfejsie wejściowym, ale nie na wyjściowym | Sprawdź 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łąd | Skutek | Lepsze podejście |
|---|---|---|
| Przechwytywanie bez filtra | zbyt wiele danych, trudne do analizy | zawsze ograniczaj do hosta, sieci, portu lub protokołu |
| Przechwytywanie nie zatrzymane | mogą ucierpieć miejsce na dysku i wydajność | użyj -c lub zakończ proces w tle poprawnie |
Oceniono tylko any | problem interfejsu albo tunelu pozostaje ukryty | po pierwszym trafieniu porównaj celowo interfejs wejściowy i wyjściowy |
| Sprawdzono tylko kierunek wyjściowy | problem z trasą zwrotną zostanie przeoczony | rozważ oba kierunki |
| Wybrano niewłaściwy interfejs | brak istotnych pakietów | najpierw any, potem ogranicz do konkretnego interfejsu |
| PCAP udostępniony bez szyfrowania | wrażliwe dane mogą zostać ujawnione | bezpieczny transfer i minimalna grupa odbiorców |
| Plik pozostawiony po przypadku wsparcia | niepotrzebne zużycie miejsca i ryzyko danych | usuń 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ą
-club 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?
tcpdump.Czy tcpdump powinien być uruchamiany na any czy na interfejsie?
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?
-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?
/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.