GNU/Linux >> Znalost Linux >  >> Linux

6 možností filtrování síťového provozu tcpdump

tcpdump nástroj se používá k zachycení a analýze síťového provozu. Systémoví správci jej mohou použít k zobrazení provozu v reálném čase nebo k uložení výstupu do souboru a jeho pozdější analýze. V tomto třídílném článku demonstruji několik běžných možností, které byste mohli chtít používat ve svých každodenních operacích s tcpdump .

První část začíná několika základními triky, jak shromáždit informace o rozhraních a zahájit zachycování.

[ Také by se vám mohlo líbit: Vyhledání podvodných zařízení ve vaší síti pomocí Nmap ]

1. Možnost -D

tcpdump s -D poskytuje seznam zařízení, ze kterých můžete zachytit provoz. Tato možnost identifikuje zařízení tcpdump ví o. Jakmile uvidíte tento seznam, můžete se rozhodnout, na kterém rozhraní chcete zaznamenávat provoz. Také vám řekne, zda je rozhraní Up, Running a zda se jedná o rozhraní Loopback, jak můžete vidět níže:

# tcpdump -D

1.tun0 [Up, Running]

2.wlp0s20f3 [Up, Running]

3.lo [Up, Running, Loopback]

4.any (Pseudo-device that captures on all interfaces) [Up, Running]

5.virbr0 [Up]

6.docker0 [Up]

7.enp0s31f6 [Up]

2. Možnost -c X

-c možnost zachytí X počet paketů a poté se zastaví. V opačném případě tcpdump poběží donekonečna. Pokud tedy chcete zachytit pouze malou ukázkovou sadu paketů, můžete použít tuto možnost. Pokud však na rozhraní není žádná aktivita, tcpdump stále čeká.

# tcpdump -c 5 -i any

dropped privs to tcpdump

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes

16:19:22.128996 ARP, Request who-has _gateway tell 192.168.86.81, length 28

16:19:22.130560 IP 172.217.222.189.https > kkulkarni.58810: Flags [P.], seq 3506342975:3506343029, ack 2537104576, win 377, options [nop,nop,TS val 4137065873 ecr 75405758], length 54

16:19:22.130642 IP kkulkarni.58810 > 172.217.222.189.https: Flags [.], ack 54, win 501, options [nop,nop,TS val 75422756 ecr 4137065873], length 0
16:19:22.131198 IP ovpn-3-80.rdu2.redhat.com.36380 > infoblox-trust01.intranet.prod.int.rdu2.redhat.com.domain: 53320+ PTR? 1.86.168.192.in-addr.arpa. (43)

16:19:22.131395 IP kkulkarni.53013 > ovpn-rdu2-alt.redhat.com.https: UDP, length 95

5 packets captured

49 packets received by filter

37 packets dropped by kernel


3. Možnost -n

Obvykle je snazší pracovat, pokud místo jmen použijete adresy IP, například kkulkarni.53013 jak je znázorněno na výše uvedeném výstupu. Můžete použít -n za to.

# tcpdump -c 5 -i any -n

dropped privs to tcpdump

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes

16:20:21.523375 IP 172.217.9.206.https > 192.168.86.31.34288: Flags [P.], seq 723352132:723352349, ack 2124268216, win 1059, options [nop,nop,TS val 2934032467 ecr 824781066], length 217

16:20:21.563992 IP 192.168.86.31.34288 > 172.217.9.206.https: Flags [.], ack 217, win 12654, options [nop,nop,TS val 824783221 ecr 2934032467], length 0

16:20:22.956717 IP 192.168.86.83.mdns > 224.0.0.251.mdns: 0 [2q] [1au] PTR (QU)? _companion-link._tcp.local. PTR (QU)? _homekit._tcp.local. (88)
16:20:22.956839 IP 192.168.86.83.mdns > 224.0.0.251.mdns: 0*- [0q] 2/0/3 (Cache flush)

16:20:22.956932 IP6 fe80::2:8c40:fdea:5a16.mdns > ff02::fb.mdns: 0*- [0q] 2/0/3 (Cache flush) PTR local., (Cache flush) PTR local. (214)

5 packets captured

5 packets received by filter

0 packets dropped by kernel


4. Možnost -s

tcpdump s -sXXX vám pomůže ovládat velikost zachycení. Na druhém řádku v předchozím výstupu můžete vidět velikost zachycení 262144 bajtů, což je mnohem větší než paket. Můžete použít -s pro změnu velikosti zachycení. Pokud chcete pouze zkontrolovat hlavičky paketů, můžete pro zachycení použít menší velikost. Viz příklad níže:

# tcpdump -c 5 -i any -n -s64
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 64 bytes
16:24:39.909994 IP 10.22.3.80.46368 > 10.11.200.20.ldap: Flags [.], ack 2583785634, win 502, options [nop,nop,TS[|tcp]>
16:24:39.910118 IP 192.168.86.31.53013 > 66.187.232.72.https: UDP, length 76
16:24:39.981646 IP 192.168.86.111.mdns > 224.0.0.251.mdns: 0 [5a] [28q] [1n] [1au][|domain]
16:24:39.983954 IP 192.168.86.111.mdns > 224.0.0.251.mdns: 0*- [0q] 2/0/1[|domain]
16:24:40.186150 IP 192.168.86.111.mdns > 224.0.0.251.mdns: 0 [1n] [1au][|domain]
5 packets captured
6 packets received by filter
0 packets dropped by kernel

5. Port capture

tcpdump umožňuje určit síťové pakety, které buď používají nějaký port X jako zdroj nebo cíl. Například pro zachycení provozu DNS můžete použít port 53 . Můžete předponu port klíčové slovo s src /dst jako src port 53 nebo dst port 53 a ještě dále filtrovat.

# tcpdump -i any port 53 -n
16:49:58.979410 IP 10.22.3.80.46391 > 10.11.5.19.domain: 31741+ A? youtube.com. (29)
16:49:58.979450 IP 10.22.3.80.46391 > 10.11.5.19.domain: 4579+ AAAA? youtube.com. (29)
16:49:58.985835 IP 10.11.5.19.domain > 10.22.3.80.44202: 8898 NXDomain 0/1/0 (154)
16:49:58.986761 IP 10.22.3.80.38074 > 10.11.5.19.domain: 43241+ PTR? 31.86.168.192.in-addr.arpa. (44)
16:49:59.015164 IP 10.11.5.19.domain > 10.22.3.80.38074: 43241 NXDomain 0/1/0 (122)
16:49:59.015209 IP 10.11.5.19.domain > 10.22.3.80.46391: 4579 1/0/0 AAAA 2607:f8b0:4004:810::200e (57)
16:49:59.015231 IP 10.11.5.19.domain > 10.22.3.80.46391: 31741 1/0/0 A 172.217.15.78 (45)
16:49:59.015831 IP 10.22.3.80.51955 > 10.11.5.19.domain: 2503+ PTR? 1.122.168.192.in-addr.arpa. (44)
16:49:59.041490 IP 10.11.5.19.domain > 10.22.3.80.51955: 2503 NXDomain 0/1/0 (122)

6. Možnost -w

Pokud chcete napsat výstup tcpdump k souboru, použijte volbu -w .pcap k zápisu do souboru. Pokud chcete vidět, kolik balíčků bylo napsáno, můžete přidat -v .

# tcpdump -c 4 -i any port 53 -w dns.pcap -v
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
4 packets captured
24 packets received by filter
0 packets dropped by kernel

[ Cheat sheet zdarma:Získejte seznam linuxových nástrojů a příkazů pro správu serverů a sítí. ] 

Sbalit

Jak můžete vidět, tcpdump je vynikající nástroj pro shromažďování dat o síťovém provozu. Zachycování paketů poskytuje užitečné informace pro odstraňování problémů a analýzu zabezpečení.

Druhá část této série pokračuje pohledem na šest dalších tcpdump funkce a příznaky, včetně toho, jak číst zachycená data. A konečně, třetí část vám nabízí ještě více možností pro shromažďování informací.


Linux
  1. Odstraňte problémy se sítí pomocí tcpdump

  2. Linux – Jak přesměrovat provoz mezi linuxovými síťovými jmennými prostory?

  3. Jak monitorovat a protokolovat síťový provoz v systému Linux pomocí vnStat

  1. Příklady použití příkazu tcpdump pro řešení problémů se sítí

  2. Linux:Jak měřit denní/měsíční síťový provoz?

  3. Sledujte objem síťového provozu přes rozhraní

  1. 6 pokročilých možností formátování tcpdump

  2. 6 možností pro tcpdump, které potřebujete vědět

  3. Centos – oddělený síťový provoz na dvou síťových rozhraních?