tcpdump(8)

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

tcpdump(8) – fånga och visa nätverkstrafik

Namn

tcpdump – dumpar (beskriver/fångar) paket på ett nätverksgränssnitt.

Synopsis

tcpdump [flaggor] [uttryck]

Exempel (kort): tcpdump -nn -i eth0 -w filer.pcap 'port 53'

Beskrivning

tcpdump skriver en människoläsbar beskrivning av paket som matchar ett BPF-filter (”uttryck”). Med -w sparar du råpaket till fil; med -r läser du från fil i stället för live. Utan -c kör den tills du avbryter (Ctrl-C). Vid avslut skrivs räkningar för fångade, filtrerade och (ev.) av kärnan tappade paket.

Flaggor

Flagga Argument Beskrivning Noteringar
-A Skriv nyttolast i ASCII Praktiskt för t.ex. HTTP-text
-B buffer_size OS-buffert för fångst (KiB) Större kan minska tapp
-c count Avsluta efter N paket Kombineras ofta med -w
-C file_size Rotera utfil när storlek nås (MB som standard) Används med -w
-d Dumpa kompilerat filter (läsbart) och avsluta Felsök filter
-dd Dumpa filter som C-array
-ddd Dumpa filter som decimaltal
-D Lista fångstbara gränssnitt Använd index med -i
-e Skriv länk-header (MAC m.m.) Ethernet/802.11
-E spi@ip algo:hemlighet Dekryptera IPv4 ESP (debug) Risk: nyckel syns i ps
-f Skriv ”utländska” IPv4-adresser numeriskt Undvik DNS-häng
-F fil Läs filter från fil Ignorerar uttryck på CLI
-G sekunder Rotera -w-fil varje N sekunder Lägg gärna tidsformat i filnamn
-i interface Välj gränssnitt any = alla (ej promisc)
-I Monitor-läge (802.11) Kan koppla ned Wi-Fi
-K Verifiera ej IP/TCP/UDP-checksummor Nödvändigt vid hw-offload
-l Radbuffra stdout Bra med tee/tail -f
-L Lista länktyper för -i (ev. beroende av -I)
-m modul Ladda SMI MIB-modul(er) SNMP-tolkning
-M secret TCP-MD5 verifiering (RFC 2385)
-n Inga namnuppslag (hosts) Snabbare, mindre brus
-nn Inga namn alls (hosts/portar/protokoll) Rekommenderas vid felsökning
-N Ta bort domändel vid namn ”nic” i st. f. ”nic.ddn.mil”
-O Stäng av filteroptimering Endast om du misstänker bugg
-p Sätt inte promisc-läge Gränssnitt kan ändå vara promisc
-q Kortare, tystare utskrift
-R Tolka ESP/AH som äldre RFC1825-1829 Legacy
-r fil Läs paket från fil (-) = stdin pcap/pcapng
-S Visa absoluta TCP-sekvensnummer Standard visar relativa
-s snaplen Snaplängd (default 262144 el. 65535) proto]”
-T typ Tvinga tolkning som viss protokolltyp t.ex. dns, snmp, tftp
-t Ingen tidsstämpel
-tt Rå epoksekunder
-ttt Delta mot föregående rad μs/ns beroende på bygg
-tttt Datum + klockslag
-ttttt Delta mot första rad
-u Skriv NFS-handles odekod.
-U Paketbuffra ut (flusha per paket) Gäller -w eller utskrift
-v Mer verbos TTL, ID, options; checksumkontroller
-vv Ännu mer verbos Mer NFS/SMB-fält
-vvv Max verbos Fulla telnet-options, m.m.
-w fil Skriv råpaket till fil (-)=stdout Öppna i Wireshark
-W count Begränsa antal roterade filer Cyklar/överskriver
-x Dumpa nyttolast (utan länk-hdr) i hex
-xx Dumpa inkl. länk-hdr i hex
-X Hex + ASCII (utan länk-hdr) Bra för textprotokoll
-XX Hex + ASCII inkl. länk-hdr
-y typ Välj datalänktyp (se -L)
-z kommando Kör kommando på roterad fil t.ex. -z gzip
-Z user Släpp rootprivilegier till user Ofta default -Z tcpdump

Uttryck (BPF-filter): välj vilka paket som fångas. Exempel: host 192.0.2.10, port 443, tcp[tcpflags] & (tcp-syn|tcp-fin) != 0. Se även pcap-filter(7).

Snabba exempel

  • Alla paket till/från värd: tcpdump -nn host 192.168.1.10
  • DNS (UDP 53): tcpdump -nn udp port 53
  • HTTP: tcpdump -nn tcp port 80
  • HTTPS-handshake: tcpdump -nn tcp port 443
  • Endast datasändande HTTP (ej SYN/FIN/ACK-only): tcpdump 'tcp port 80 and (((ip[2:2]-((ip[0]&0xf)<<2))-((tcp[12]&0xf0)>>2)) != 0)'
  • ICMP (ping m.m.): tcpdump -nn icmp
  • DHCP: tcpdump -nn -v udp port 67 or port 68
  • SYN-floodindikator: tcpdump -nn 'tcp[tcpflags] & (tcp-syn|tcp-ack) = tcp-syn'
  • Fånga allt till fil: tcpdump -s0 -w capture.pcap
  • Läs från fil: tcpdump -nn -r capture.pcap

Utdata (kortfattat)

  • -e visar länk-hdr (t.ex. MAC-adresser).
  • IPv4-rader börjar ofta med IP (om länk-hdr ej skrivs).
  • TCP-rad: src > dst: Flags [SFP.RWE.] seq a:b ack n win w len L (+ ev. options).
  • Fragment visas som (frag id:size@offset[+]).
  • Tidsstämplar styrs av -t/-tt*.

Tips

  • Kör nästan alltid med -nn (snabbare, mindre brus).
  • Öka snaplen med -s0 om du saknar nyttolast i pcap.
  • Vid hårdvaru-checksummor som ”ser trasiga ut”: använd -K.
  • Rotera stora fångster: -G (tid) eller -C (storlek) + -W.

Se även

pcap(3PCAP), pcap-savefile(5), pcap-filter(7)

Sidslut

Orginalhemsidan på Engelska :https://linux.die.net/man/8/tcpdump Det här är en maskinöversättning av Linux man sidor 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 webbhotell.