Linux dolazi opremljen s mnoštvom mrežnih uslužnih programa koje možete izabrati. tcpdump je jedan takav moćan mrežni alat koji može uhvatiti i analizirati mrežni promet ako trebate otkloniti mrežne pogreške na Linuxu.

Idemo se praktično upoznati s naredbom tcpdump i istražiti kako je koristiti za hvatanje mrežnog prometa.

Instaliranje tcpdumpa u Linuxu

tcpdump obično dolazi unaprijed instaliran s sve glavne distribucije Linuxa i sigurnosne alternative. Dakle, trebali biste ga moći koristiti odmah upisivanjem tcpdump s sudo prefiks.

U slučaju da ne možete pokrenuti naredbu tcpdump i zapeli ste na "tcpdump: naredba nije pronađena", naučimo kako instalirati tcpdump na vašem Linux računalu.

Da biste instalirali tcpdump, pokrenite terminal i pokrenite naredbu koja odgovara distribuciji Linuxa koju trenutno koristite:

Na Debian/Ubuntu izvedenicama pokrenite:

sudo apt-dobiti instalirajte tcpdump

Na Sustavi temeljeni na lukovima, trčanje:

sudo pacman -S tcpdump

Za instalaciju uslužnog programa tcpdump na Fedora, CentOS i RHEL izdajte sljedeću naredbu:

instagram viewer
sudo dnf instalirati tcpdump

Imajte na umu da ako se od vas zatraži instalacija libcap, upišite Da ili Y budući da je to temeljna ovisnost, bez koje će se tcpdump odbiti pokrenuti. Ovo bi trebalo instalirati uslužni program tcpdump i riješiti pogrešku "naredba nije pronađena".

Sada kada je tcpdump instaliran na vašem sustavu, istražimo različite opcije i funkcionalnosti koje nudi.

Hvatanje mrežnog prometa s tcpdumpom

tcpdump nudi puno zastavica za izmjenu njegovog izvršenja, ali se može pokrenuti i kao samostalna naredba. Međutim, pokretanje tcpdumpa bez ikakvih oznaka ili argumenata značilo bi zanemarivanje njegovog punog potencijala. Uvijek je bolje koristiti nekoliko zastavica za podešavanje izvršenja i izlaza prema potrebi.

Upišite ovu naredbu za praćenje mrežnih prijenosa pomoću tcpdump:

sudo tcpdump

Sada će tcpdump početi automatski hvatati mrežne pakete dok signal prekida šalje se sa Ctrl + Z ručno prekinuti proces. Da biste ograničili ukupan broj snimljenih paketa, koristite -c označite i pokraj nje upišite željeno ograničenje paketa:

sudo tcpdump -c 5

Ako trenutno ne možete shvatiti izlaz, morate to učiniti upoznajte se s tcpdump izlaznim formatom prvi.

Provjerite dostupna mrežna sučelja pomoću tcpdump

Prema zadanim postavkama tcpdump hvata promet s bilo kojeg od dostupnih mrežnih sučelja. Ako imate više aktivnih mrežnih sučelja u upotrebi, možda biste trebali definirati mrežno sučelje s kojeg bi tcpdump trebao hvatati pakete. Da biste pokrenuli tcpdump na određenom sučelju, morat ćete prvo saznati koji je naziv sučelja.

Evo kako ispisati sva dostupna mrežna sučelja s tcpdumpom:

sudo tcpdump -D

Ili, možete dodati --list-sučelja zastavica na naredbu:

sudo tcpdump --popis- sučelja

Vraćeni izlaz sadrži popis svih aktivnih mrežnih sučelja koje tcpdump može slušati. Da biste konfigurirali tcpdump za hvatanje prijenosa s određenog mrežnog sučelja, upišite ovu naredbu:

sudo tcpdump -i ID_sučelja

Ili, možete dodati --sučelje zastavica na naredbu:

sudo tcpdump --sučeljeinterfejs_id

Sada kada smo snimili nekoliko paketa, proučimo ih pomno i naučimo kako možete podesiti izlaz da bude čitljiviji.

Istraživanje tcpdump filtara

tcpdump je sposoban uhvatiti ogromnu količinu prometa u jednom pokretanju. Takvo preopterećenje informacijama može vas izbaciti iz kolosijeka kada istražujete ili rješavate probleme s određenim hostom ili mrežnim protokolom.

Ovdje tcpdump filtri stupaju na scenu. Naredbi tcpdump možete dodati određene oznake za filtriranje mrežnog prometa i hvatanje određenih paketa. Zatim možete pohraniti te pakete i kasnije ih analizirati kako biste došli do korijena problema povezanih s mrežom. Naučimo kako koristiti filtre u tcpdumpu.

Filtrirajte pakete na temelju mrežnog protokola koji se koristi

Za filtriranje paketa koji se prenose putem određenog protokola, upišite naziv protokola pomoću naredbe tcpdump i ona će uhvatiti samo pakete koji putuju putem definiranog mrežnog protokola.

Na primjer, da biste uhvatili pakete temeljene na ICMP-u, jednostavno biste ih priložili icmp na kraju naredbe tcpdump. Postupak je isti ako želite uhvatiti samo UDP ili TCP pakete.

sudo tcpdump -c 5 icmp

Ova naredba će vratiti izlaz samo ako postoji razmjena podataka kroz ICMP protokol.

Filtrirajte pakete na temelju hosta

Možete konfigurirati tcpdump za hvatanje paketa koji se odnose na jedno glavno računalo s domaćin parametar. Ovo je posebno korisno kada svi sustavi vaše mreže rade osim jednog. Ovaj vam filtar omogućuje provođenje ciljane istrage i ubrzava cjelokupni radni tijek rješavanja problema budući da vas ne ometaju nepotrebni podaci.

Da biste uhvatili pakete koji se odnose na određeno glavno računalo, definirajte mrežnu adresu glavnog računala s domaćin parametar:

sudotcpdump-c 5 domaćin 192.168.2.1

Slično filtru mrežnog protokola, ova naredba će vratiti izlaz samo ako je bilo koji prijenos u tijeku povezan s definiranim hostom.

Filtrirajte pakete na temelju aktivnog priključka

tcpdump je opremljen parametrom koji vam omogućuje filtriranje mrežnog prometa i hvatanje samo paketa koji se prenose na ili s određenog porta.

Za hvatanje paketa koji dolaze s određenog porta dodajte luka označite naredbu tcpdump i definirajte broj porta pokraj nje. Na primjer, za snimanje bilo kakvog dolaznog ili odlaznog HTTP prometa, definirajte priključak 80:

sudo tcpdump -c 5 port 80

tcpdump će slušati na portu 80, čekajući HTTP prijenose. Nakon što otkrije HTTP pakete u mreži, uhvatit će ih.

Kombinirajte filtre za napredno sortiranje

Prethodni odjeljci raspravljali su o tome kako možete filtrirati promet na temelju porta, protokola ili hosta, ali što ako htjeli ste uhvatiti promet s jednog porta određenog hosta koristeći određenu mrežu protokol? Pa, imate sreće jer je to moguće, pripisujući se mogućnosti korištenja logičkih operatora s naredbom tcpdump.

Za hvatanje paketa s pojedinačnog glavnog računala pomoću priključka 443 upotrijebite ovu naredbu:

sudotcpdump-c 5 domaćin 192.168.2.1iluka 443

Pregledajte sadržaj snimljenih paketa

Prema zadanim postavkama tcpdump prikazuje zaglavlja paketa u izlazu. Iako je to više nego dovoljno u većini slučajeva, ponekad ćete možda htjeti ili morati dublje pogledati u snimljene podatke. Možete proslijediti određene parametre pomoću naredbe tcpdump za pregled sadržaja snimljenog paketa.

Evo kako možete vidjeti sadržaj paketa:

sudo tcpdump -c 5 -x

Ova naredba vraća hex verziju sadržaja u snimljenom paketu. Ako želite vidjeti ASCII oblik podataka, možete proslijediti -A parametar sa:

sudo tcpdump -A

Spremi tcpdump izlaz u datoteku

Kao gotovo bilo koji drugi Linux alat naredbenog retka, možete pohraniti izlaz koji proizvodi tcpdump u datoteku na koju ćete se kasnije pozivati.

To se može učiniti dodavanjem -w zastavica na naredbu. Nakon izvođenja, tcpdump će pohraniti snimljene podatke u a .pcap datoteku koja se kasnije može analizirati tcpdumpom ili drugim alatima za nadzor mreže poput Wiresharka.

Upišite ovu naredbu da biste pohranili izlaz naredbe tcpdump u datoteku:

sudotcpdump-wuhvatiti.pcap

Za čitanje a .pcap datoteku, možete koristiti tcpdump s -r parametar:

sudotcpdump-ruhvatiti.pcap

Linux se isporučuje s mnoštvom mrežnih alata koji mogu riješiti svaki mrežni problem sve dok se radi o softverskoj strani stvari. Znati kako koristiti nekoliko najboljih mrežnih alata u Linuxu svakako će vam dobro doći, bilo da ste administrator sustava koji zarađuje za život ili ste samo svakodnevni korisnik Linuxa.

Budući da stvarni popis dostupnih mrežnih naredbi može biti previše za shvatiti, evo popisa nekih od najvažnijih Linux mrežnih alata koje biste trebali znati.