tcpdump(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== 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 ] [ -...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
| (3 mellanliggande sidversioner av samma användare visas inte) | |||
| Rad 1: | Rad 1: | ||
= | = tcpdump(1) = | ||
== NAMN == | |||
tcpdump – dumpa/visa nätverkstrafik | |||
== SYNOPSIS == | |||
<pre> | |||
tcpdump [ -AbdDefghHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ] [ -c count ] [ --count ] | |||
[ -C file_size ] [ -E spi@ip algo:secret,... ] [ -F file ] [ -G rotate_seconds ] | |||
[ -i interface ] [ --immediate-mode ] [ -j tstamp_type ] [ --lengths ] | |||
[ -m module ] [ -M secret ] [ --number ] [ --print ] [ --print-sampling nth ] | |||
[ -Q in|out|inout ] [ -r file ] [ -s snaplen ] [ --skip count ] | |||
[ -T type ] [ --version ] [ -V filelist ] [ -w file ] [ -W filecount ] | |||
[ -y datalinktype ] [ -z postrotate-cmd ] [ -Z user ] | |||
[ --time-stamp-precision micro|nano | --micro | --nano ] | |||
[ expression ] | |||
</pre> | |||
== BESKRIVNING == | |||
'''tcpdump''' skriver en textbeskrivning av paket som matchar ett BPF-filter (se [[pcap-filter(7)]]). | |||
Det kan också spara råpaket till fil ('''-w''') och/eller läsa från tidigare inspelning ('''-r'''/'''-V'''). | |||
Kräver ofta särskilda rättigheter för att läsa från nätverksinterface. | |||
== FLAGGOR == | |||
{| class="wikitable" | |||
! Flagga !! Beskrivning | |||
|- | |||
| '''-i''' ''iface'' || Välj interface (''any'' för alla). '''-D''' listar tillgängliga; '''-L''' listar länktyper; '''-J''' listar tidsstämpeltyper. | |||
|- | |||
| '''--immediate-mode''' || Leverera paket omedelbart (mindre buffring – bra för interaktiv visning). | |||
|- | |||
| '''-c''' ''n'' / '''--count''' || Stoppa efter ''n'' paket / skriv endast antal vid läsning av fil(er). | |||
|- | |||
| '''-s''' ''snaplen''' || Snapshottlängd (standard 262144). För liten längd kan trunkera nyttolast. | |||
|- | |||
| '''-w''' ''fil'' / '''-r''' ''fil'' / '''-V''' ''lista'' || Skriv råpcap/pcapng till fil, läs från fil, eller läs filnamn från lista/STDIN. | |||
|- | |||
| '''-C''' ''MB'' / '''-G''' ''sek'' / '''-W''' ''antal'' || Roterande inspelningsfiler: efter storlek, tid eller begränsat antal. Kombineras med '''-w'''. | |||
|- | |||
| '''-z''' ''kommando'' || Kör post-rotationskommando (t.ex. ''gzip'') på stängd fil (ej Windows). | |||
|- | |||
| '''-B''' ''KiB'' || Ställ OS-fångstbuffertstorlek. | |||
|- | |||
| '''-p''' || Sätt '''inte''' interfacet i promiscuous-läge (kan redan vara promisc av annan orsak). | |||
|- | |||
| '''-nn''' / '''-n''' / '''-N''' || Ingen namnuppslagning (host/port/proto). '''-N''' tar bort domändel vid värdnamn. | |||
|- | |||
| '''-e''' || Skriv länklagerhuvud (t.ex. MAC-adresser). | |||
|- | |||
| '''-y''' ''linktype'' || Välj datalänktyp (se '''-L'''). | |||
|- | |||
| '''-Q''' ''in|out|inout'' || Välj riktning (ej på alla plattformar). | |||
|- | |||
| '''-t''' / '''-tt''' / '''-ttt''' / '''-tttt''' / '''-ttttt''' || Kontroll av tidsstämpelutskrift (ingen; epoch; delta; datum+tid; delta mot första). | |||
|- | |||
| '''--time-stamp-precision''' ''micro|nano'' / '''--micro''' / '''--nano''' || Precision i utskrift och fångst (beroende av plattform/hårdvara). | |||
|- | |||
| '''-j''' ''tstype'' || Sätt tidsstämpeltyp (se [[pcap-tstamp(7)]]). | |||
|- | |||
| '''-U''' / '''-l''' || Paketbuffrad ('''-U''') / radbuffrad ('''-l''') utskrift. '''--print''' tvingar tolkad utskrift även vid '''-w'''. | |||
|- | |||
| '''--print-sampling''' ''n''' || Tolka/skriv endast vart ''n'':te paket (snabbare parsing). Aktiverar '''--print''' och '''-S'''. | |||
|- | |||
| '''--skip''' ''n''' || Hoppa över ''n'' paket innan skriv/visning. | |||
|- | |||
| '''-v''' / '''-vv''' / '''-vvv''' || Mer detaljerad tolkning (protokollfält, checksummor, extra felkontroller). | |||
|- | |||
| '''-x''' / '''-xx''' / '''-X''' / '''-XX''' || Skriv nyttolast: hex (utan/med länkhuvud) / hex+ASCII (utan/med länkhuvud). | |||
|- | |||
| '''-A''' || Visa nyttolast som ren ASCII (praktiskt för HTTP). | |||
|- | |||
| '''-O''' || Inaktivera BPF-optimering (felsökning). | |||
|- | |||
| '''-F''' ''fil'' || Läs filteruttryck från fil (kommandoradsfilter ignoreras då). | |||
|- | |||
| '''-T''' ''typ'' || Tvinga tolkning som viss applikation (t.ex. '''dns''', '''snmp''', '''rpc''', '''quic''', '''vxlan''' m.fl.). | |||
|- | |||
| '''-E''' ''spi@ip algo:secret'' || Dekryptera IPsec ESP (debug; synlig nyckel på kommandorad – varning). | |||
|- | |||
| '''-M''' ''secret'' || Validera TCP-MD5 (RFC 2385) med delad hemlighet. | |||
|- | |||
| '''-K''' || Verifiera inte IP/TCP/UDP-checksummor (användbart om NIC offloadar checksummor). | |||
|- | |||
| '''-S''' || Använd absoluta TCP-sekvensnummer (ej relativa). | |||
|- | |||
| '''-g''' / '''--ip-oneline''' || Ingen radbrytning efter IP-huvud i verbosläge. | |||
|- | |||
| '''--lengths''' || Skriv fångad/ursprunglig paketlängd i början av raden. | |||
|- | |||
| '''-Z''' ''user'' || Släpp root-rättigheter till användare efter öppning av input/output. | |||
|- | |||
| '''--version''' / '''-h''' / '''--help''' || Versionsinfo / hjälptext. | |||
|} | |||
''Tips:'' Kombinationen '''-nnvvXS''' är ofta nyttig för djup felsökning; '''-i any -nn -s0 -w cap.pcap''' för bred inspelning. | |||
== EXEMPEL == | |||
* Alla paket till/från värden ''sundown'': | |||
<code>tcpdump host sundown</code> | |||
* Endast initiala SYN (etableringar): | |||
<code>tcpdump 'tcp[13] & 2 == 2'</code> | |||
* HTTP-data (port 80) med nyttolast, ej rena ACK/SYN/FIN: | |||
<code>tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'</code> | |||
* Spara roterande filer om 100 MB, max 10 st: | |||
<code>tcpdump -i any -w web.pcap -C 100 -W 10 'tcp port 80'</code> | |||
* Läs flera filer listade i en textfil: | |||
<code>tcpdump -V filelist.txt -nn --count</code> | |||
== FILTER == | |||
Filteruttryck följer [[pcap-filter(7)]]. Du kan ge uttrycket som ett enda citerat argument eller flera argument (konkateneras med mellanslag). | |||
== SE ÄVEN == | |||
[[pcap(3PCAP)]], [[pcap-savefile(5)]], [[pcap-filter(7)]], [[pcap-tstamp(7)]], | |||
[[tcpkill(8)]], [[tcpnice(8)]], [[dsniff(8)]] | |||
== ANMÄRKNINGAR == | |||
* Högprecisionsstämplar (nano) beror på OS/NIC-stöd. | |||
* Inspelning under hög last kan tappa paket utan tillräckliga buffertar (se '''-B''', '''-s''', '''--immediate-mode'''). | |||
* På '''any'''-interface fångas inte promiscuous-läge och fler protokolltyper kan förekomma än väntat. | |||
== Vanliga tcpdump-recept == | |||
=== DNS === | |||
* Alla DNS (UDP/TCP 53), utan namnuppslagning: | |||
: <code>tcpdump -nn port 53</code> | |||
* Endast DNS-frågor (QR=0): | |||
: <code>tcpdump -nn 'udp port 53 and udp[10] & 0x80 = 0'</code> | |||
* Endast DNS-svar (QR=1): | |||
: <code>tcpdump -nn 'udp port 53 and udp[10] & 0x80 != 0'</code> | |||
* DNS över TCP: | |||
: <code>tcpdump -nn tcp port 53</code> | |||
* DNS över TLS (DoT, port 853): | |||
: <code>tcpdump -nn tcp port 853</code> | |||
* DNS över HTTPS (DoH, port 443 + filter): | |||
: <code>tcpdump -nn 'tcp port 443 and (dst port 443 and (tcp[((tcp[12]&0xf0)>>2)] = 0x16))'</code> | |||
=== DHCP / BOOTP === | |||
* Klient/Server (67/68): | |||
: <code>tcpdump -nn port 67 or port 68</code> | |||
* DHCPv6 (546/547): | |||
: <code>tcpdump -nn 'udp port 546 or udp port 547'</code> | |||
=== mDNS & LLMNR === | |||
* mDNS (224.0.0.251:5353 / ff02::fb:5353): | |||
: <code>tcpdump -nn port 5353</code> | |||
* LLMNR (UDP 5355): | |||
: <code>tcpdump -nn port 5355</code> | |||
=== HTTP / HTTPS (TLS) === | |||
* HTTP (80) med payload i ASCII: | |||
: <code>tcpdump -nnA tcp port 80</code> | |||
* HTTP(S) data (uteslut rena ACK/SYN/FIN): | |||
: <code>tcpdump -nn 'tcp port 80 or 443 and (((ip[2:2]-((ip[0]&0xf)<<2))-((tcp[12]&0xf0)>>2)) > 0)'</code> | |||
* TLS ClientHello + försök extrahera SNI: | |||
: <code>tcpdump -nn -s0 -A 'tcp port 443 and tcp[((tcp[12]&0xf0)>>2)] = 0x16'</code> | |||
=== QUIC (HTTP/3) === | |||
* Standardport 443/UDP: | |||
: <code>tcpdump -nn udp port 443</code> | |||
* Tolka som QUIC: | |||
: <code>tcpdump -nn -T quic udp port 443</code> | |||
=== ICMP / ICMPv6 === | |||
* Ping (ICMP echo/echo-reply): | |||
: <code>tcpdump -nn 'icmp and (icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply)'</code> | |||
* All ICMPv6: | |||
: <code>tcpdump -nn icmp6</code> | |||
* NDP (Neighbor Solicitation/Advertisement): = Sidslut = | |||
Orginalhemsidan på Engelska :https://linux.die.net/man/1/wipe | |||
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/ | |||
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsrat [https://www.linux.se Linux.se] med webbhotell. | |||
[[Kategori:Linuxmanual grupp 1]] | |||
[[Kategori:Linuxmanual]] | |||
: <code>tcpdump -nn 'icmp6 and (ip6[40] = 135 or ip6[40] = 136)'</code> | |||
=== ARP === | |||
* Alla ARP: | |||
: <code>tcpdump -nn arp</code> | |||
* ”Vem har …”: | |||
: <code>tcpdump -nn 'arp[7] = 1'</code> | |||
=== TCP-handskakning och flaggor === | |||
* Endast initiala SYN (utan ACK): | |||
: <code>tcpdump -nn 'tcp[13] & 2 = 2 and tcp[13] & 16 = 0'</code> | |||
* SYN+ACK: | |||
: <code>tcpdump -nn 'tcp[13] & 18 = 18'</code> | |||
* RST: | |||
: <code>tcpdump -nn 'tcp[13] & 4 != 0'</code> | |||
* PSH: | |||
: <code>tcpdump -nn 'tcp[13] & 8 != 0'</code> | |||
=== TCP-prestanda === | |||
* Paket med nyttolast: | |||
: <code>tcpdump -nn 'tcp[((tcp[12]&0xf0)>>2):1] != 0'</code> | |||
* Retransmissions (heuristik): | |||
: <code>tcpdump -nnvv 'tcp[tcpflags] & (tcp-ack|tcp-rst) = tcp-ack and tcp[13] & 0x3F = 0'</code> | |||
=== E-postprotokoll === | |||
* SMTP / IMAP / POP3 (klartext före STARTTLS): | |||
: <code>tcpdump -nnA 'tcp port 25 or 110 or 143'</code> | |||
=== SSH === | |||
* Handshake/nyckelutbyte (för analys av latens, ej innehåll): | |||
: <code>tcpdump -nn tcp port 22</code> | |||
=== NTP === | |||
* NTP (UDP 123): | |||
: <code>tcpdump -nn udp port 123</code> | |||
=== SMB/CIFS === | |||
* SMBv1/v2/v3 (137/138/139/445): | |||
: <code>tcpdump -nn 'port 137 or port 138 or port 139 or port 445'</code> | |||
=== VPN / IPsec / WireGuard === | |||
* ESP: | |||
: <code>tcpdump -nn proto 50</code> | |||
* IKEv2: | |||
: <code>tcpdump -nn 'udp port 500 or udp port 4500'</code> | |||
* WireGuard (UDP 51820): | |||
: <code>tcpdump -nn udp port 51820</code> | |||
* OpenVPN (UDP 1194): | |||
: <code>tcpdump -nn udp port 1194</code> | |||
=== Multicast / IGMP === | |||
* IGMP: | |||
: <code>tcpdump -nn igmp</code> | |||
=== Kubernetes / etcd === | |||
* etcd (2379-2380): | |||
: <code>tcpdump -nn port 2379 or port 2380</code> | |||
* Kube-apiserver (6443): | |||
: <code>tcpdump -nn port 6443</code> | |||
=== Trådlöst (802.11) === | |||
* Monitorläge + radiotagg (om stöds): | |||
: <code>tcpdump -I -i wlan0 -y IEEE802_11_RADIO</code> | |||
* Assoc/beacon/probe (management): | |||
: <code>tcpdump -nn -I -i wlan0 'type mgt'</code> | |||
=== Spara till fil === | |||
* Spara till cap.pcap: | |||
: <code>tcpdump -i any -s0 -w cap.pcap</code> | |||
* Rotera filer, 200 MB, max 20, med gzip: | |||
: <code>tcpdump -i any -s0 -w cap.pcap -C 200 -W 20 -z gzip</code> | |||
== Tcpdump – snabböversikt == | |||
{| class="wikitable sortable" | |||
! Protokoll / Tjänst !! Port(ar) !! Exempelkommando | |||
|- | |||
| DNS || 53 (UDP/TCP) || <code>tcpdump -nn port 53</code> | |||
|- | |||
| DHCP / BOOTP || 67–68 (UDP) || <code>tcpdump -nn port 67 or port 68</code> | |||
|- | |||
| DHCPv6 || 546–547 (UDP) || <code>tcpdump -nn 'udp port 546 or udp port 547'</code> | |||
|- | |||
| mDNS || 5353 (UDP) || <code>tcpdump -nn port 5353</code> | |||
|- | |||
| LLMNR || 5355 (UDP) || <code>tcpdump -nn port 5355</code> | |||
|- | |||
| HTTP || 80 (TCP) || <code>tcpdump -nnA tcp port 80</code> | |||
|- | |||
| HTTPS / TLS || 443 (TCP) || <code>tcpdump -nn tcp port 443</code> | |||
|- | |||
| QUIC / HTTP/3 || 443 (UDP) || <code>tcpdump -nn udp port 443</code> | |||
|- | |||
| ICMP (ping) || – || <code>tcpdump -nn icmp</code> | |||
|- | |||
| ICMPv6 || – || <code>tcpdump -nn icmp6</code> | |||
|- | |||
| ARP || – || <code>tcpdump -nn arp</code> | |||
|- | |||
| SMTP / E-post || 25 (TCP) || <code>tcpdump -nnA tcp port 25</code> | |||
|- | |||
| POP3 || 110 (TCP) || <code>tcpdump -nnA tcp port 110</code> | |||
|- | |||
| IMAP || 143 (TCP) || <code>tcpdump -nnA tcp port 143</code> | |||
|- | |||
| SSH || 22 (TCP) || <code>tcpdump -nn tcp port 22</code> | |||
|- | |||
| NTP || 123 (UDP) || <code>tcpdump -nn udp port 123</code> | |||
|- | |||
| SMB/CIFS || 137–139, 445 (TCP/UDP) || <code>tcpdump -nn 'port 137 or 138 or 139 or 445'</code> | |||
|- | |||
| IPsec ESP || – (proto 50) || <code>tcpdump -nn proto 50</code> | |||
|- | |||
| IPsec IKEv2 || 500, 4500 (UDP) || <code>tcpdump -nn 'udp port 500 or 4500'</code> | |||
|- | |||
| WireGuard || 51820 (UDP) || <code>tcpdump -nn udp port 51820</code> | |||
|- | |||
| OpenVPN || 1194 (UDP) || <code>tcpdump -nn udp port 1194</code> | |||
|- | |||
| IGMP || – || <code>tcpdump -nn igmp</code> | |||
|- | |||
| etcd (Kubernetes) || 2379–2380 (TCP) || <code>tcpdump -nn port 2379 or port 2380</code> | |||
|- | |||
| Kube-apiserver || 6443 (TCP) || <code>tcpdump -nn port 6443</code> | |||
|- | |||
| Wi-Fi (802.11) || – (monitorläge) || <code>tcpdump -I -i wlan0 -y IEEE802_11_RADIO</code> | |||
|- | |||
| Spara till fil || – || <code>tcpdump -i any -s0 -w cap.pcap</code> | |||
|} | |||
== Tcpdump – avancerade filter == | |||
{| class="wikitable sortable" | |||
! Scenario !! Exempelkommando !! Förklaring | |||
|- | |||
| Endast TCP SYN (nya anslutningar) || <code>tcpdump 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0'</code> || Matchar bara första SYN (inte SYN/ACK). | |||
|- | |||
| Endast TCP RST || <code>tcpdump 'tcp[tcpflags] & tcp-rst != 0'</code> || Fångar återställningspaket (anslutningar som avslås). | |||
|- | |||
| Endast TCP FIN || <code>tcpdump 'tcp[tcpflags] & tcp-fin != 0'</code> || Matchar stängning av anslutningar. | |||
|- | |||
| DNS-frågor (UDP) || <code>tcpdump -nn -s0 -v udp port 53 and 'udp[10] & 0x80 = 0'</code> || Filtrerar enbart frågor (inte svar). | |||
|- | |||
| DNS-svar (UDP) || <code>tcpdump -nn -s0 -v udp port 53 and 'udp[10] & 0x80 != 0'</code> || Filtrerar enbart svar. | |||
|- | |||
| HTTP GET-förfrågningar || <code>tcpdump -nnA -s0 tcp port 80 and 'tcp[((tcp[12]&0xf0)>>2):4] = 0x47455420'</code> || Söker efter strängen "GET " i nyttolasten. | |||
|- | |||
| HTTPS SNI (Client Hello) || <code>tcpdump -nn -s0 -v -A tcp port 443 and 'tcp[((tcp[12]&0xf0)>>2)] = 0x16'</code> || Matchar TLS handskakning (typ 0x16). | |||
|- | |||
| Endast ICMP Echo Request (ping) || <code>tcpdump 'icmp[icmptype] = icmp-echo'</code> || Matchar ping-förfrågningar. | |||
|- | |||
| Endast ICMP Echo Reply (pong) || <code>tcpdump 'icmp[icmptype] = icmp-echoreply'</code> || Matchar ping-svar. | |||
|- | |||
| IPv6 Neighbor Solicitation || <code>tcpdump 'icmp6 and ip6[40] = 135'</code> || ICMPv6 typ 135. | |||
|- | |||
| IPv6 Neighbor Advertisement || <code>tcpdump 'icmp6 and ip6[40] = 136'</code> || ICMPv6 typ 136. | |||
|- | |||
| DHCP Discover || <code>tcpdump -nn -v udp and (port 67 or port 68) and 'udp[242] = 1'</code> || Matchar DHCPDISCOVER (option 53 = 1). | |||
|- | |||
| DHCP Request || <code>tcpdump -nn -v udp and (port 67 or port 68) and 'udp[242] = 3'</code> || Matchar DHCPREQUEST (option 53 = 3). | |||
|- | |||
| SYN-flood detektering || <code>tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-ack) = tcp-syn'</code> || Visar många rena SYN kan tyda på attack. | |||
|- | |||
| Spåra endast ett IP || <code>tcpdump host 192.168.1.10</code> || All trafik till/från 192.168.1.10. | |||
|- | |||
| Uteslut ett IP || <code>tcpdump not host 192.168.1.1</code> || All trafik förutom till/från gateway. | |||
|- | |||
| Fångar endast ingress || <code>tcpdump inbound</code> || Trafik som anländer till maskinen. | |||
|- | |||
| Fångar endast egress || <code>tcpdump outbound</code> || Trafik som lämnar maskinen. | |||
|- | |||
| Spara rå dump för vidare analys || <code>tcpdump -s0 -w filnamn.pcap</code> || Full capture utan filtrering, för senare analys i Wireshark. | |||
|} | |||
== Tcpdump – felsökningsrecept == | |||
{| class="wikitable sortable" | |||
! Scenario !! Exempelkommando !! Vad du kan se | |||
|- | |||
| DNS fungerar inte || <code>tcpdump -nn -i eth0 udp port 53</code> || Ser om DNS-förfrågningar lämnar maskinen och om svar kommer tillbaka. | |||
|- | |||
| Kontrollera om HTTP-trafik blockeras || <code>tcpdump -nn -i eth0 tcp port 80</code> || Ser om paket till/från port 80 passerar brandväggen. | |||
|- | |||
| Felsöka HTTPS-anslutningar || <code>tcpdump -nn -i eth0 tcp port 443</code> || Ser om TLS-handshake sker och om klienten får svar. | |||
|- | |||
| Identifiera SYN flood || <code>tcpdump -nn -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack) = tcp-syn'</code> || Massor av rena SYN-paket utan svar kan tyda på SYN-flood. | |||
|- | |||
| Hitta paket till/från specifik server || <code>tcpdump -nn host 192.168.1.10</code> || All trafik till/från den servern. | |||
|- | |||
| Uteslut trafik till gateway || <code>tcpdump -nn not host 192.168.1.1</code> || All trafik förutom mot routern. | |||
|- | |||
| Kontrollera ICMP (ping) || <code>tcpdump -nn icmp</code> || Ser om pingförfrågningar och svar går igenom. | |||
|- | |||
| Spåra långsam SSH-inloggning || <code>tcpdump -nn tcp port 22</code> || Ser om paket utbyts och om det blir fördröjningar i handskakningen. | |||
|- | |||
| Debugga DHCP (får ingen IP) || <code>tcpdump -nn -v udp port 67 or port 68</code> || Ser DHCP Discover/Offer/Request/Ack mellan klient och server. | |||
|- | |||
| Upptäck ARP-problem || <code>tcpdump -nn arp</code> || Ser ARP-förfrågningar och svar (kan avslöja felaktig eller saknad ARP). | |||
|- | |||
| Misstänkt hög trafik från en klient || <code>tcpdump -nn src host 192.168.1.50</code> || All trafik som en specifik klient skickar ut. | |||
|- | |||
| Se om portscanning pågår || <code>tcpdump -nn and dst host 192.168.1.10</code> || Många anslutningsförsök till olika portar kan tyda på scanning. | |||
|- | |||
| Fånga all trafik för senare analys || <code>tcpdump -s0 -w capture.pcap</code> || Skriver full dump till fil som kan öppnas i Wireshark. | |||
|- | |||
| Kontrollera om brandvägg droppar svar || <code>tcpdump -nn tcp and src port 80</code> || Om du ser att svar skickas men klienten inte får dem, blockeras något på vägen. | |||
|- | |||
| Debugga NFS-problem || <code>tcpdump -nn port 2049</code> || Ser NFS-förfrågningar och svar. | |||
|- | |||
| Misstänkt SNMP-trafik || <code>tcpdump -nn udp port 161</code> || Visar SNMP-requests och ev. okända enheter som pollar. | |||
|- | |||
| Identifiera VPN-handshake (IKE) || <code>tcpdump -nn udp port 500</code> || Ser IPsec/IKE-förhandlingar. | |||
|- | |||
| Debugga SMTP (mejl skickas ej) || <code>tcpdump -nn tcp port 25</code> || Ser om klienten pratar med mailservern. | |||
|} | |||
= Sidslut = | = Sidslut = | ||
Orginalhemsidan på Engelska : https:// | Orginalhemsidan på Engelska :https://linux.die.net/man/1/wipe | ||
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å | 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/ | https://www.linux.se/kontaka-linux-se/ | ||
Nuvarande version från 7 september 2025 kl. 04.26
tcpdump(1)
NAMN
tcpdump – dumpa/visa nätverkstrafik
SYNOPSIS
tcpdump [ -AbdDefghHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ] [ -c count ] [ --count ]
[ -C file_size ] [ -E spi@ip algo:secret,... ] [ -F file ] [ -G rotate_seconds ]
[ -i interface ] [ --immediate-mode ] [ -j tstamp_type ] [ --lengths ]
[ -m module ] [ -M secret ] [ --number ] [ --print ] [ --print-sampling nth ]
[ -Q in|out|inout ] [ -r file ] [ -s snaplen ] [ --skip count ]
[ -T type ] [ --version ] [ -V filelist ] [ -w file ] [ -W filecount ]
[ -y datalinktype ] [ -z postrotate-cmd ] [ -Z user ]
[ --time-stamp-precision micro|nano | --micro | --nano ]
[ expression ]
BESKRIVNING
tcpdump skriver en textbeskrivning av paket som matchar ett BPF-filter (se pcap-filter(7)). Det kan också spara råpaket till fil (-w) och/eller läsa från tidigare inspelning (-r/-V). Kräver ofta särskilda rättigheter för att läsa från nätverksinterface.
FLAGGOR
| Flagga | Beskrivning |
|---|---|
| -i iface | Välj interface (any för alla). -D listar tillgängliga; -L listar länktyper; -J listar tidsstämpeltyper. |
| --immediate-mode | Leverera paket omedelbart (mindre buffring – bra för interaktiv visning). |
| -c n / --count | Stoppa efter n paket / skriv endast antal vid läsning av fil(er). |
| '-s snaplen | Snapshottlängd (standard 262144). För liten längd kan trunkera nyttolast. |
| -w fil / -r fil / -V lista | Skriv råpcap/pcapng till fil, läs från fil, eller läs filnamn från lista/STDIN. |
| -C MB / -G sek / -W antal | Roterande inspelningsfiler: efter storlek, tid eller begränsat antal. Kombineras med -w. |
| -z kommando | Kör post-rotationskommando (t.ex. gzip) på stängd fil (ej Windows). |
| -B KiB | Ställ OS-fångstbuffertstorlek. |
| -p | Sätt inte interfacet i promiscuous-läge (kan redan vara promisc av annan orsak). |
| -nn / -n / -N | Ingen namnuppslagning (host/port/proto). -N tar bort domändel vid värdnamn. |
| -e | Skriv länklagerhuvud (t.ex. MAC-adresser). |
| -y linktype | Välj datalänktyp (se -L). |
| out|inout | Välj riktning (ej på alla plattformar). |
| -t / -tt / -ttt / -tttt / -ttttt | Kontroll av tidsstämpelutskrift (ingen; epoch; delta; datum+tid; delta mot första). |
| nano / --micro / --nano | Precision i utskrift och fångst (beroende av plattform/hårdvara). |
| -j tstype | Sätt tidsstämpeltyp (se pcap-tstamp(7)). |
| -U / -l | Paketbuffrad (-U) / radbuffrad (-l) utskrift. --print tvingar tolkad utskrift även vid -w. |
| '--print-sampling n | Tolka/skriv endast vart n:te paket (snabbare parsing). Aktiverar --print och -S. |
| '--skip n | Hoppa över n paket innan skriv/visning. |
| -v / -vv / -vvv | Mer detaljerad tolkning (protokollfält, checksummor, extra felkontroller). |
| -x / -xx / -X / -XX | Skriv nyttolast: hex (utan/med länkhuvud) / hex+ASCII (utan/med länkhuvud). |
| -A | Visa nyttolast som ren ASCII (praktiskt för HTTP). |
| -O | Inaktivera BPF-optimering (felsökning). |
| -F fil | Läs filteruttryck från fil (kommandoradsfilter ignoreras då). |
| -T typ | Tvinga tolkning som viss applikation (t.ex. dns, snmp, rpc, quic, vxlan m.fl.). |
| -E spi@ip algo:secret | Dekryptera IPsec ESP (debug; synlig nyckel på kommandorad – varning). |
| -M secret | Validera TCP-MD5 (RFC 2385) med delad hemlighet. |
| -K | Verifiera inte IP/TCP/UDP-checksummor (användbart om NIC offloadar checksummor). |
| -S | Använd absoluta TCP-sekvensnummer (ej relativa). |
| -g / --ip-oneline | Ingen radbrytning efter IP-huvud i verbosläge. |
| --lengths | Skriv fångad/ursprunglig paketlängd i början av raden. |
| -Z user | Släpp root-rättigheter till användare efter öppning av input/output. |
| --version / -h / --help | Versionsinfo / hjälptext. |
Tips: Kombinationen -nnvvXS är ofta nyttig för djup felsökning; -i any -nn -s0 -w cap.pcap för bred inspelning.
EXEMPEL
- Alla paket till/från värden sundown:
tcpdump host sundown
- Endast initiala SYN (etableringar):
tcpdump 'tcp[13] & 2 == 2'
- HTTP-data (port 80) med nyttolast, ej rena ACK/SYN/FIN:
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
- Spara roterande filer om 100 MB, max 10 st:
tcpdump -i any -w web.pcap -C 100 -W 10 'tcp port 80'
- Läs flera filer listade i en textfil:
tcpdump -V filelist.txt -nn --count
FILTER
Filteruttryck följer pcap-filter(7). Du kan ge uttrycket som ett enda citerat argument eller flera argument (konkateneras med mellanslag).
SE ÄVEN
pcap(3PCAP), pcap-savefile(5), pcap-filter(7), pcap-tstamp(7), tcpkill(8), tcpnice(8), dsniff(8)
ANMÄRKNINGAR
- Högprecisionsstämplar (nano) beror på OS/NIC-stöd.
- Inspelning under hög last kan tappa paket utan tillräckliga buffertar (se -B, -s, --immediate-mode).
- På any-interface fångas inte promiscuous-läge och fler protokolltyper kan förekomma än väntat.
Vanliga tcpdump-recept
DNS
- Alla DNS (UDP/TCP 53), utan namnuppslagning:
tcpdump -nn port 53
- Endast DNS-frågor (QR=0):
tcpdump -nn 'udp port 53 and udp[10] & 0x80 = 0'
- Endast DNS-svar (QR=1):
tcpdump -nn 'udp port 53 and udp[10] & 0x80 != 0'
- DNS över TCP:
tcpdump -nn tcp port 53
- DNS över TLS (DoT, port 853):
tcpdump -nn tcp port 853
- DNS över HTTPS (DoH, port 443 + filter):
tcpdump -nn 'tcp port 443 and (dst port 443 and (tcp[((tcp[12]&0xf0)>>2)] = 0x16))'
DHCP / BOOTP
- Klient/Server (67/68):
tcpdump -nn port 67 or port 68
- DHCPv6 (546/547):
tcpdump -nn 'udp port 546 or udp port 547'
mDNS & LLMNR
- mDNS (224.0.0.251:5353 / ff02::fb:5353):
tcpdump -nn port 5353
- LLMNR (UDP 5355):
tcpdump -nn port 5355
HTTP / HTTPS (TLS)
- HTTP (80) med payload i ASCII:
tcpdump -nnA tcp port 80
- HTTP(S) data (uteslut rena ACK/SYN/FIN):
tcpdump -nn 'tcp port 80 or 443 and (((ip[2:2]-((ip[0]&0xf)<<2))-((tcp[12]&0xf0)>>2)) > 0)'
- TLS ClientHello + försök extrahera SNI:
tcpdump -nn -s0 -A 'tcp port 443 and tcp[((tcp[12]&0xf0)>>2)] = 0x16'
QUIC (HTTP/3)
- Standardport 443/UDP:
tcpdump -nn udp port 443
- Tolka som QUIC:
tcpdump -nn -T quic udp port 443
ICMP / ICMPv6
- Ping (ICMP echo/echo-reply):
tcpdump -nn 'icmp and (icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply)'
- All ICMPv6:
tcpdump -nn icmp6
- NDP (Neighbor Solicitation/Advertisement): = Sidslut =
Orginalhemsidan på Engelska :https://linux.die.net/man/1/wipe
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.
tcpdump -nn 'icmp6 and (ip6[40] = 135 or ip6[40] = 136)'
ARP
- Alla ARP:
tcpdump -nn arp
- ”Vem har …”:
tcpdump -nn 'arp[7] = 1'
TCP-handskakning och flaggor
- Endast initiala SYN (utan ACK):
tcpdump -nn 'tcp[13] & 2 = 2 and tcp[13] & 16 = 0'
- SYN+ACK:
tcpdump -nn 'tcp[13] & 18 = 18'
- RST:
tcpdump -nn 'tcp[13] & 4 != 0'
- PSH:
tcpdump -nn 'tcp[13] & 8 != 0'
TCP-prestanda
- Paket med nyttolast:
tcpdump -nn 'tcp[((tcp[12]&0xf0)>>2):1] != 0'
- Retransmissions (heuristik):
tcpdump -nnvv 'tcp[tcpflags] & (tcp-ack|tcp-rst) = tcp-ack and tcp[13] & 0x3F = 0'
E-postprotokoll
- SMTP / IMAP / POP3 (klartext före STARTTLS):
tcpdump -nnA 'tcp port 25 or 110 or 143'
SSH
- Handshake/nyckelutbyte (för analys av latens, ej innehåll):
tcpdump -nn tcp port 22
NTP
- NTP (UDP 123):
tcpdump -nn udp port 123
SMB/CIFS
- SMBv1/v2/v3 (137/138/139/445):
tcpdump -nn 'port 137 or port 138 or port 139 or port 445'
VPN / IPsec / WireGuard
- ESP:
tcpdump -nn proto 50
- IKEv2:
tcpdump -nn 'udp port 500 or udp port 4500'
- WireGuard (UDP 51820):
tcpdump -nn udp port 51820
- OpenVPN (UDP 1194):
tcpdump -nn udp port 1194
Multicast / IGMP
- IGMP:
tcpdump -nn igmp
Kubernetes / etcd
- etcd (2379-2380):
tcpdump -nn port 2379 or port 2380
- Kube-apiserver (6443):
tcpdump -nn port 6443
Trådlöst (802.11)
- Monitorläge + radiotagg (om stöds):
tcpdump -I -i wlan0 -y IEEE802_11_RADIO
- Assoc/beacon/probe (management):
tcpdump -nn -I -i wlan0 'type mgt'
Spara till fil
- Spara till cap.pcap:
tcpdump -i any -s0 -w cap.pcap
- Rotera filer, 200 MB, max 20, med gzip:
tcpdump -i any -s0 -w cap.pcap -C 200 -W 20 -z gzip
Tcpdump – snabböversikt
| Protokoll / Tjänst | Port(ar) | Exempelkommando |
|---|---|---|
| DNS | 53 (UDP/TCP) | tcpdump -nn port 53
|
| DHCP / BOOTP | 67–68 (UDP) | tcpdump -nn port 67 or port 68
|
| DHCPv6 | 546–547 (UDP) | tcpdump -nn 'udp port 546 or udp port 547'
|
| mDNS | 5353 (UDP) | tcpdump -nn port 5353
|
| LLMNR | 5355 (UDP) | tcpdump -nn port 5355
|
| HTTP | 80 (TCP) | tcpdump -nnA tcp port 80
|
| HTTPS / TLS | 443 (TCP) | tcpdump -nn tcp port 443
|
| QUIC / HTTP/3 | 443 (UDP) | tcpdump -nn udp port 443
|
| ICMP (ping) | – | tcpdump -nn icmp
|
| ICMPv6 | – | tcpdump -nn icmp6
|
| ARP | – | tcpdump -nn arp
|
| SMTP / E-post | 25 (TCP) | tcpdump -nnA tcp port 25
|
| POP3 | 110 (TCP) | tcpdump -nnA tcp port 110
|
| IMAP | 143 (TCP) | tcpdump -nnA tcp port 143
|
| SSH | 22 (TCP) | tcpdump -nn tcp port 22
|
| NTP | 123 (UDP) | tcpdump -nn udp port 123
|
| SMB/CIFS | 137–139, 445 (TCP/UDP) | tcpdump -nn 'port 137 or 138 or 139 or 445'
|
| IPsec ESP | – (proto 50) | tcpdump -nn proto 50
|
| IPsec IKEv2 | 500, 4500 (UDP) | tcpdump -nn 'udp port 500 or 4500'
|
| WireGuard | 51820 (UDP) | tcpdump -nn udp port 51820
|
| OpenVPN | 1194 (UDP) | tcpdump -nn udp port 1194
|
| IGMP | – | tcpdump -nn igmp
|
| etcd (Kubernetes) | 2379–2380 (TCP) | tcpdump -nn port 2379 or port 2380
|
| Kube-apiserver | 6443 (TCP) | tcpdump -nn port 6443
|
| Wi-Fi (802.11) | – (monitorläge) | tcpdump -I -i wlan0 -y IEEE802_11_RADIO
|
| Spara till fil | – | tcpdump -i any -s0 -w cap.pcap
|
Tcpdump – avancerade filter
| Scenario | Exempelkommando | Förklaring |
|---|---|---|
| Endast TCP SYN (nya anslutningar) | tcpdump 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0' |
Matchar bara första SYN (inte SYN/ACK). |
| Endast TCP RST | tcpdump 'tcp[tcpflags] & tcp-rst != 0' |
Fångar återställningspaket (anslutningar som avslås). |
| Endast TCP FIN | tcpdump 'tcp[tcpflags] & tcp-fin != 0' |
Matchar stängning av anslutningar. |
| DNS-frågor (UDP) | tcpdump -nn -s0 -v udp port 53 and 'udp[10] & 0x80 = 0' |
Filtrerar enbart frågor (inte svar). |
| DNS-svar (UDP) | tcpdump -nn -s0 -v udp port 53 and 'udp[10] & 0x80 != 0' |
Filtrerar enbart svar. |
| HTTP GET-förfrågningar | tcpdump -nnA -s0 tcp port 80 and 'tcp[((tcp[12]&0xf0)>>2):4] = 0x47455420' |
Söker efter strängen "GET " i nyttolasten. |
| HTTPS SNI (Client Hello) | tcpdump -nn -s0 -v -A tcp port 443 and 'tcp[((tcp[12]&0xf0)>>2)] = 0x16' |
Matchar TLS handskakning (typ 0x16). |
| Endast ICMP Echo Request (ping) | tcpdump 'icmp[icmptype] = icmp-echo' |
Matchar ping-förfrågningar. |
| Endast ICMP Echo Reply (pong) | tcpdump 'icmp[icmptype] = icmp-echoreply' |
Matchar ping-svar. |
| IPv6 Neighbor Solicitation | tcpdump 'icmp6 and ip6[40] = 135' |
ICMPv6 typ 135. |
| IPv6 Neighbor Advertisement | tcpdump 'icmp6 and ip6[40] = 136' |
ICMPv6 typ 136. |
| DHCP Discover | tcpdump -nn -v udp and (port 67 or port 68) and 'udp[242] = 1' |
Matchar DHCPDISCOVER (option 53 = 1). |
| DHCP Request | tcpdump -nn -v udp and (port 67 or port 68) and 'udp[242] = 3' |
Matchar DHCPREQUEST (option 53 = 3). |
| SYN-flood detektering | tcp-ack) = tcp-syn' | Visar många rena SYN kan tyda på attack. |
| Spåra endast ett IP | tcpdump host 192.168.1.10 |
All trafik till/från 192.168.1.10. |
| Uteslut ett IP | tcpdump not host 192.168.1.1 |
All trafik förutom till/från gateway. |
| Fångar endast ingress | tcpdump inbound |
Trafik som anländer till maskinen. |
| Fångar endast egress | tcpdump outbound |
Trafik som lämnar maskinen. |
| Spara rå dump för vidare analys | tcpdump -s0 -w filnamn.pcap |
Full capture utan filtrering, för senare analys i Wireshark. |
Tcpdump – felsökningsrecept
| Scenario | Exempelkommando | Vad du kan se |
|---|---|---|
| DNS fungerar inte | tcpdump -nn -i eth0 udp port 53 |
Ser om DNS-förfrågningar lämnar maskinen och om svar kommer tillbaka. |
| Kontrollera om HTTP-trafik blockeras | tcpdump -nn -i eth0 tcp port 80 |
Ser om paket till/från port 80 passerar brandväggen. |
| Felsöka HTTPS-anslutningar | tcpdump -nn -i eth0 tcp port 443 |
Ser om TLS-handshake sker och om klienten får svar. |
| Identifiera SYN flood | tcp-ack) = tcp-syn' | Massor av rena SYN-paket utan svar kan tyda på SYN-flood. |
| Hitta paket till/från specifik server | tcpdump -nn host 192.168.1.10 |
All trafik till/från den servern. |
| Uteslut trafik till gateway | tcpdump -nn not host 192.168.1.1 |
All trafik förutom mot routern. |
| Kontrollera ICMP (ping) | tcpdump -nn icmp |
Ser om pingförfrågningar och svar går igenom. |
| Spåra långsam SSH-inloggning | tcpdump -nn tcp port 22 |
Ser om paket utbyts och om det blir fördröjningar i handskakningen. |
| Debugga DHCP (får ingen IP) | tcpdump -nn -v udp port 67 or port 68 |
Ser DHCP Discover/Offer/Request/Ack mellan klient och server. |
| Upptäck ARP-problem | tcpdump -nn arp |
Ser ARP-förfrågningar och svar (kan avslöja felaktig eller saknad ARP). |
| Misstänkt hög trafik från en klient | tcpdump -nn src host 192.168.1.50 |
All trafik som en specifik klient skickar ut. |
| Se om portscanning pågår | tcpdump -nn and dst host 192.168.1.10 |
Många anslutningsförsök till olika portar kan tyda på scanning. |
| Fånga all trafik för senare analys | tcpdump -s0 -w capture.pcap |
Skriver full dump till fil som kan öppnas i Wireshark. |
| Kontrollera om brandvägg droppar svar | tcpdump -nn tcp and src port 80 |
Om du ser att svar skickas men klienten inte får dem, blockeras något på vägen. |
| Debugga NFS-problem | tcpdump -nn port 2049 |
Ser NFS-förfrågningar och svar. |
| Misstänkt SNMP-trafik | tcpdump -nn udp port 161 |
Visar SNMP-requests och ev. okända enheter som pollar. |
| Identifiera VPN-handshake (IKE) | tcpdump -nn udp port 500 |
Ser IPsec/IKE-förhandlingar. |
| Debugga SMTP (mejl skickas ej) | tcpdump -nn tcp port 25 |
Ser om klienten pratar med mailservern. |
Sidslut
Orginalhemsidan på Engelska :https://linux.die.net/man/1/wipe
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.