Kako zajeti in analizirati pakete na primeru s Tcpdump

Kako Zajeti In Analizirati Pakete Na Primeru S Tcpdump



Tcpdump je zmogljivo orodje za analizo omrežja, ki se uporablja za analizo omrežnega prometa v sistemih Linux in macOS. Omrežni skrbniki uporabljajo tcpdump za vohanje omrežja, zajemanje in analiziranje paketov TCP/IP. Uporablja knjižnico »libpcap«, ki pomaga pri učinkovitem zajemanju omrežnega prometa. Poleg tega tcpdump pomaga pri odpravljanju težav z omrežjem in občasnem spremljanju omrežnih dejavnosti. To orodje shrani zajete podatke v datoteko »pcap«. Te datoteke se nadalje analizirajo z orodjem za analizo paketov TCP/IP, kot je Wireshark, ali prek drugega orodja ukazne vrstice.

V tem priročniku bomo prikazali, kako namestiti tcpdump v sistem Linux in kako zajeti in analizirati pakete TCP/IP z uporabo tcpdump.

Kako namestiti Tcpdump

Tcpdump je vnaprej nameščen v številnih distribucijah Linuxa. Če pa še ni nameščen v vašem sistemu, lahko tcpdump namestite v vaš sistem Linux. Za namestitev tcpdump v sistem Ubuntu 22.04 uporabite naslednji ukaz:







$ sudo apt namestite tcpdump

Če želite namestiti tcpdump na Fedora/CentOS, uporabite naslednji ukaz:



$ sudo dnf namestite tcpdump

Kako zajeti pakete z ukazom Tcpdump

Če želite zajeti pakete s tcpdump, zaženite terminal s privilegiji sudo z uporabo »Ctrl+Alt+t«. To orodje vključuje različne možnosti in filtre za zajem paketov TCP/IP. Če želite zajeti vse pretočne pakete trenutnega ali privzetega omrežnega vmesnika, uporabite ukaz »tcpdump« brez kakršne koli možnosti.



$ sudo tcpdump

Podan ukaz zajame pakete privzetega omrežnega vmesnika vašega sistema.





Ob koncu izvajanja tega ukaza se na terminalu prikažejo vsi zajeti in filtrirani paketi.



Razumejmo izhod.

Tcpdump omogoča analizo glav paketov TCP/IP. Prikazuje eno vrstico za vsak paket in ukaz se nadaljuje, dokler ne pritisnete »Ctrl+C«, da ga ustavite.

Vsaka vrstica, ki jo nudi tcpdump, vsebuje naslednje podrobnosti:

  • Časovni žig Unix (npr. 02:28:57.839523)
  • Protokol (IP)
  • Izvorno ime gostitelja ali IP in številka vrat
  • Ime ciljnega gostitelja ali IP in številka vrat
  • Zastavice TCP (npr. Zastavice [F.]), ki označujejo stanje povezave z vrednostmi, kot so S (SYN), F (FIN),. (ACK), P (PUSH), R (RST)
  • Zaporedna številka podatkov v paketu (npr. sekvenca 5829:6820)
  • Številka potrditve (npr. ack 1016)
  • Velikost okna (npr. win 65535), ki predstavlja razpoložljive bajte v sprejemnem medpomnilniku, ki mu sledijo možnosti TCP
  • Dolžina koristnega podatkovnega tovora (npr. dolžina 991)

Če želite prikazati seznam vseh omrežnih vmesnikov vašega sistema, uporabite ukaz “tcpdump” z možnostjo “-D”.

$ sudo tcpdump -D

oz

$ tcpdump --list-interfaces

Ta ukaz navaja vse omrežne vmesnike, ki so povezani ali se izvajajo v vašem sistemu Linux.

Zajemite pakete določenega omrežnega vmesnika

Če želite zajeti pakete TCP/IP, ki gredo skozi določen vmesnik, uporabite zastavico »-i« z ukazom »tcpdump« in podajte ime omrežnega vmesnika.

$ sudo tcpdump -i lo

Podan ukaz zajame promet na vmesniku »lo«. Če želite prikazati podrobne ali podrobne informacije o paketu, uporabite zastavico »-v«. Če želite natisniti izčrpnejše podrobnosti, uporabite zastavico »-vv« z ukazom »tcpdump«. Redna uporaba in analiza prispevata k ohranjanju robustnega in varnega omrežnega okolja.

Podobno lahko zajamete promet na katerem koli vmesniku z naslednjim ukazom:

$ sudo tcpdump -i kateri koli

Zajemite pakete z uporabo določenih vrat

Pakete lahko zajamete in filtrirate tako, da podate ime vmesnika in številko vrat. Če želite na primer zajeti omrežne pakete, ki gredo skozi vmesnik »enp0s3« prek vrat 22, uporabite naslednji ukaz:

$ tcpdump -i enp0s3 vrata 22

Prejšnji ukaz zajame vse pretočne pakete iz vmesnika »enp0s3«.

Zajemite omejene pakete s Tcpdump

Za zajem določenega števila paketov lahko uporabite zastavico »-c« z ukazom »tcpdump«. Če želite na primer zajeti štiri pakete na vmesniku »enp0s3«, uporabite naslednji ukaz:

$ tcpdump -i enp0s3 -c 4

Zamenjajte ime vmesnika s svojim sistemom.

Uporabni ukazi Tcpdump za zajem omrežnega prometa

V nadaljevanju smo našteli nekaj uporabnih ukazov »tcpdump«, ki vam bodo pomagali pri učinkovitem zajemanju in filtriranju omrežnega prometa ali paketov:

Z ukazom “tcpdump” lahko zajamete pakete vmesnika z definiranim ciljnim IP-jem ali izvornim IP-jem.

$ tcpdump -i {ime-vmesnika} dst {ciljni-ip}

Pakete lahko zajamete z velikostjo posnetka 65535 bajtov, ki se razlikuje od privzete velikosti 262144 bajtov. V starejših različicah tcpdump je bila velikost zajema omejena na 68 ali 96 bajtov.

$ tcpdump -i enp0s3 -s 65535

Kako shraniti zajete pakete v datoteko

Če želite zajete podatke shraniti v datoteko za nadaljnjo analizo, lahko to storite. Zajame promet na določenem vmesniku in ga nato shrani v datoteko ».pcap«. Za shranjevanje zajetih podatkov v datoteko uporabite naslednji ukaz:

$ tcpdump -i -s 65535 -w .pcap

Na primer, imamo vmesnik 'enps03'. Shranite te zajete podatke v naslednjo datoteko:

$ sudo tcpdump -i enps03 -w dump.pcap

V prihodnosti lahko preberete to zajeto datoteko z uporabo Wireshark ali drugih orodij za analizo omrežja. Torej, če želite uporabiti Wireshark za analizo paketov, uporabite argument »-w« in ga shranite v datoteko ».pcap«.

Zaključek

V tej vadnici smo s pomočjo različnih primerov pokazali, kako zajeti in analizirati pakete z uporabo tcpdump. Naučili smo se tudi, kako shraniti zajeti promet v datoteko ».pcap«, ki si jo lahko ogledate in analizirate z uporabo Wireshark in drugih orodij za analizo omrežja.