tcpdump

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

TCPDUMP(1) – Linux manual sida

NAMN

tcpdump - dumpa trafik på ett nätverk

SYNOPSIS

tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffertstorlek ]

       [ -c antal ] [ --count ] [ -C filstorlek ]
       [ -E spi@ipaddr algo:hemlighet,... ]
       [ -F fil ] [ -G rotera_sekunder ] [ -i gränssnitt ]
       [ --immediate-mode ] [ -j tstamp_typ ]
       [ --lengths ] [ -m modul ]
       [ -M hemlighet ] [ --number ] [ --print ]
       [ --print-sampling nth ] [ -Q in|out|inout ] [ -r fil ]
       [ -s snaplen ] [ -T typ ] [ --version ] [ -V fil ]
       [ -w fil ] [ -W filantal ] [ -y datalänktyp ]
       [ -z efterrotera-kommandot ] [ -Z användare ]
       [ --time-stamp-precision=tstamp_precision ]
       [ --micro ] [ --nano ]
       [ uttryck ]

BESKRIVNING

tcpdump skriver ut en beskrivning av innehållet i paket på ett nätverksgränssnitt som matchar det booleska uttrycket (se pcap-filter(@MAN_MISC_INFO@) för uttryckssyntax); beskrivningen föregås av en tidsstämpel som, som standard, skrivs ut som timmar, minuter, sekunder och fraktioner av en sekund sedan midnatt. Det kan också köras med flaggan -w, vilket får det att spara paketdata till en fil för senare analys, och/eller med flaggan -r, vilket får det att läsa från en sparad paketfil snarare än att läsa paket från ett nätverksgränssnitt. Det kan också köras med flaggan -V, vilket får det att läsa en lista över sparade paketfiler. I alla fall bearbetas endast paket som matchar uttrycket av tcpdump.

tcpdump kommer, om det inte körs med flaggan -c, att fortsätta att fånga paket tills det avbryts av en SIGINT-signal (genererad till exempel genom att skriva din avbrottstecken, vanligtvis control-C) eller en SIGTERM-signal (vanligtvis genererad med kommandot kill(1)); om det körs med flaggan -c kommer det att fånga paket tills det avbryts av en SIGINT- eller SIGTERM-signal eller tills det angivna antalet paket har bearbetats.

När tcpdump avslutar fångningen av paket kommer det att rapportera räkningar av:

  • paket "fångade" (detta är antalet paket som tcpdump har mottagit och bearbetat);
  • paket "mottagna av filtret" (innebörden av detta beror på operativsystemet där tcpdump körs, och eventuellt på hur operativsystemet är konfigurerat - om ett filter specificerades på kommandoraden, räknar det på vissa operativsystem paket oavsett om de matchades av filteruttrycket och, även om de matchades av filteruttrycket, oavsett om tcpdump har läst och bearbetat dem ännu, på andra operativsystem räknar det bara paket som matchades av filteruttrycket oavsett om tcpdump har läst och bearbetat dem ännu, och på andra operativsystem räknar det bara paket som matchades av filteruttrycket och bearbetades av tcpdump);
  • paket "bortkastade av kärnan" (detta är antalet paket som bortkastades på grund av brist på buffertutrymme av paketfångningsmekanismen i operativsystemet där tcpdump körs, om operativsystemet rapporterar den informationen till applikationer; om inte, kommer det att rapporteras som 0).

På plattformar som stöder SIGINFO-signalen, som de flesta BSD-system (inklusive macOS), kommer det att rapportera dessa räkningar när det tar emot en SIGINFO-signal (genererad till exempel genom att skriva ditt "status"-tecken, vanligtvis control-T, även om på vissa plattformar, såsom macOS, är "status"-tecknet inte satt som standard, så du måste sätta det med stty(1) för att använda det) och kommer att fortsätta att fånga paket. På plattformar som inte stöder SIGINFO-signalen kan samma sak uppnås genom att använda SIGUSR1-signalen.

Genom att använda SIGUSR2-signalen tillsammans med -w-flaggan kommer att tvinga fram att paketbufferten spolas till utdatafilen.

Att läsa paket från ett nätverksgränssnitt kan kräva att du har särskilda privilegier; se man-sidan för pcap(3PCAP) för detaljer. Att läsa en sparad paketfil kräver inte särskilda privilegier.

ALTERNATIV

- Det finns många alternativ att använda i tcpdump, som att skriva ut varje paket i ASCII, specificera antalet paket att fånga, sätta buffertstorlek, och mycket mer. Se manualen för fullständig information om alla alternativ.

EXEMPEL

- För att skriva ut alla paket som anländer till eller avgår från värden "sundown":

 `tcpdump host sundown`

- För att skriva ut trafik mellan "helios" och antingen "hot" eller "ace":

 `tcpdump host helios and \( hot or ace \)`

- För att skriva ut alla IP-paket mellan "ace" och någon värd utom "helios":

 `tcpdump ip host ace and not helios`

- För att skriva ut all trafik mellan lokala värdar och värdar vid Berkeley:

 `tcpdump net ucb-ether`

- För att skriva ut all FTP-trafik genom internet-gatewayn "snup":

 `tcpdump 'gateway snup and (port ftp or ftp-data)'`

- För att skriva ut start- och slutpaket (SYN och FIN-paket) för varje TCP-konversation som involverar en icke-lokal värd:

 `tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'`

- För att skriva ut alla TCP-paket med flaggorna RST och ACK båda satta:

 `tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'`

- För att skriva ut alla IPv4 HTTP-paket till och från port 80:

 `tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'`

UTGÅNGSFORMAT

- Tcpdump's utdata är protokollberoende. Denna sektion beskriver kort de olika formaten och ger exempel på dessa.

SE ÄVEN

- IANA: application/vnd.tcpdump.pcap - pcap(3PCAP), pcap-savefile(@MAN_FILE_FORMATS@), pcap-filter(@MAN_MISC_INFO@), pcap-tstamp(@MAN_MISC_INFO@)

FÖRFATTARE

- De ursprungliga författarna är Van Jacobson, Craig Leres och Steven McCanne, alla från Lawrence Berkeley National Laboratory, University of California, Berkeley, CA.

BUGGAR

- För att rapportera ett säkerhetsproblem, vänligen skicka ett e-postmeddelande till security@tcpdump.org. - För att rapportera buggar och andra problem, bidra med patchar, begära en funktion, ge generell feedback osv., se filen CONTRIBUTING.md i tcpdump's källkodsträd.

COLOPHON

- Denna sida är en del av tcpdump-projektet (en kommandoradsbaserad nätverks-paketanalysator). Information om projektet finns på tcpdump.org.

- Om du upptäcker några renderingproblem i denna HTML-version av sidan, eller om du tror att det finns en bättre eller mer uppdaterad källa för sidan, eller om du har korrigeringar eller förbättringar av informationen i denna COLOPHON (som inte är en del av den ursprungliga manualen), skicka ett mail till man-pages@man7.org.

Exempel på hur man använder tcpdump

1. Fånga och visa alla paket som anländer till eller avgår från en specifik värd

 tcpdump host 192.168.1.1
 

Detta kommando fångar upp och visar alla paket som antingen skickas till eller från IP-adressen 192.168.1.1.

2. Fånga HTTP-trafik till och från en viss port

 tcpdump tcp port 80
 

Detta kommando fångar all trafik som skickas via port 80 (vanligtvis HTTP-trafik).

3. Spara alla fångade paket till en fil för senare analys

 tcpdump -w capture.pcap
 

Detta kommando fångar upp alla paket och sparar dem i filen capture.pcap, som kan analyseras senare med till exempel Wireshark.

4. Visa paket för ett specifikt nätverksgränssnitt

 tcpdump -i eth0
 

Detta kommando fångar och visar all trafik på nätverksgränssnittet eth0.

5. Fånga och visa alla DNS-frågor och svar

 tcpdump -n -i eth0 port 53
 

Detta kommando fångar upp och visar all DNS-trafik (port 53) på nätverksgränssnittet eth0, och med flaggan -n undviks att översätta IP-adresser till domännamn för att göra utdata lättare att läsa.

Sidslut


Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.