Sådan fanges og analyseres pakkerne efter eksempel med Tcpdump

Sadan Fanges Og Analyseres Pakkerne Efter Eksempel Med Tcpdump



Tcpdump er et kraftfuldt netværksanalyseværktøj, der bruges til netværkstrafikanalyse i Linux-systemer og macOS. Netværksadministratorer bruger tcpdump til netværkssniffing, indfangning og analyse af TCP/IP-pakkerne. Det bruger et 'libpcap' bibliotek, der hjælper med at fange netværkstrafikken effektivt. Derudover hjælper tcpdump med netværksfejlfinding og overvågning af netværksaktiviteterne med jævne mellemrum. Dette værktøj gemmer de opsamlede data i en 'pcap' fil. Disse filer analyseres yderligere ved hjælp af et TCP/IP-pakkeanalysatorværktøj såsom Wireshark eller via et andet kommandolinjeværktøj.

I denne vejledning vil vi demonstrere, hvordan man installerer tcpdump på et Linux-system, og hvordan man fanger og analyserer TCP/IP-pakkerne ved hjælp af tcpdump.

Sådan installeres Tcpdump

Tcpdump er forudinstalleret på mange Linux-distributioner. Men hvis det ikke allerede er installeret på dit system, kan du installere tcpdump på dit Linux-system. For at installere tcpdump på Ubuntu 22.04-systemet skal du bruge følgende kommando:







$ sudo apt installer tcpdump

For at installere tcpdump på Fedora/CentOS, brug følgende kommando:



$ sudo dnf installer tcpdump

Sådan fanges pakkerne ved hjælp af Tcpdump-kommandoen

For at fange pakkerne med tcpdump skal du starte terminalen med sudo-rettigheder ved at bruge 'Ctrl+Alt+t'. Dette værktøj indeholder forskellige muligheder og filtre til at fange TCP/IP-pakkerne. Hvis du vil fange alle flydende pakker i den nuværende eller standard netværksgrænseflade, skal du bruge kommandoen 'tcpdump' uden nogen valgmulighed.



$ sudo tcpdump

Den givne kommando fanger pakkerne i dit systems standardnetværksgrænseflade.





Ved afslutningen af ​​udførelsen af ​​denne kommando vises alle optagne og filtrerede pakketællinger på terminalen.



Lad os forstå outputtet.

Tcpdump muliggør analyse af TCP/IP-pakkeheaderne. Den viser en enkelt linje for hver pakke, og kommandoen fortsætter med at køre, indtil du trykker på 'Ctrl+C' for at stoppe den.

Hver linje leveret af tcpdump indeholder følgende detaljer:

  • Unix-tidsstempel (f.eks. 02:28:57.839523)
  • Protokol (IP)
  • Kilde værtsnavn eller IP og portnummer
  • Destinationsværtsnavn eller IP og portnummer
  • TCP-flag (f.eks. Flag [F.]), der angiver forbindelsestilstanden med værdier som S (SYN), F (FIN). (ACK), P (PUSH), R (RST)
  • Sekvensnummer for dataene i pakken (f.eks. seq 5829:6820)
  • Kvitteringsnummer (f.eks. ack 1016)
  • Vinduesstørrelse (f.eks. win 65535), der repræsenterer de tilgængelige bytes i den modtagende buffer efterfulgt af TCP-indstillinger
  • Længden af ​​datanyttelasten (f.eks. længde 991)

For at få en liste over alle netværksgrænseflader på dit system skal du bruge kommandoen 'tcpdump' med '-D'-indstillingen.

$ sudo tcpdump -D

eller

$ tcpdump --list-grænseflader

Denne kommando viser alle netværksgrænseflader, der er tilsluttet eller kører på dit Linux-system.

Indfang pakker med specificeret netværksgrænseflade

Hvis du vil fange TCP/IP-pakkerne, der passerer gennem en specifik grænseflade, skal du bruge '-i'-flaget med kommandoen 'tcpdump' og angive netværksgrænsefladenavnet.

$ sudo tcpdump -i lo

Den givne kommando fanger trafikken ved 'lo'-grænsefladen. Hvis du vil vise en udførlig eller detaljeret information om pakken, skal du bruge flaget '-v'. For at udskrive mere omfattende detaljer, brug flaget '-vv' med kommandoen 'tcpdump'. Regelmæssig brug og analyse bidrager til at opretholde et robust og sikkert netværksmiljø.

På samme måde kan du fange trafikken ved enhver grænseflade ved hjælp af følgende kommando:

$ sudo tcpdump -i any

Fang pakkerne ved hjælp af en specifik port

Du kan fange og filtrere pakkerne ved at angive interfacenavnet og portnummeret. For eksempel, for at fange netværkspakkerne, der passerer gennem 'enp0s3'-grænsefladen ved hjælp af port 22, skal du bruge følgende kommando:

$ tcpdump -i enp0s3 port 22

Den forrige kommando fanger alle flydende pakker fra 'enp0s3'-grænsefladen.

Fang de begrænsede pakker med Tcpdump

Du kan bruge flaget '-c' med kommandoen 'tcpdump' til at fange et bestemt antal pakker. For eksempel, for at fange fire pakker ved 'enp0s3'-grænsefladen, skal du bruge følgende kommando:

$ tcpdump -i enp0s3 -c 4

Erstat grænsefladenavnet ved hjælp af dit system.

Nyttige Tcpdump-kommandoer til at fange netværkstrafikken

I det følgende listede vi nogle nyttige 'tcpdump'-kommandoer, der vil hjælpe dig med at fange og filtrere netværkstrafikken eller -pakkerne effektivt:

Ved at bruge kommandoen 'tcpdump' kan du fange pakkerne i en grænseflade med en defineret destinations-IP eller kilde-IP.

$ tcpdump -i {interface-name} dst {destination-ip}

Du kan fange pakkerne med en snapshotstørrelse på 65535 bytes, hvilket er forskellig fra standardstørrelsen på 262144 bytes. I de ældre versioner af tcpdump var optagelsesstørrelsen begrænset til 68 eller 96 bytes.

$ tcpdump -i enp0s3 -s 65535

Sådan gemmer du de fangede pakker i en fil

Hvis du vil gemme de opsamlede data i en fil til yderligere analyse, kan du gøre det. Den fanger trafikken ved en specificeret grænseflade og gemmer den derefter i en '.pcap'-fil. Brug følgende kommando til at gemme de optagne data i en fil:

$ tcpdump -i -s 65535 -w .pcap

For eksempel har vi 'enps03'-grænsefladen. Gem disse opsamlede data i følgende fil:

$ sudo tcpdump -i enps03 -w dump.pcap

I fremtiden kan du læse denne fangede fil ved hjælp af Wireshark eller andre netværksanalyseværktøjer. Så hvis du vil bruge Wireshark til at analysere pakkerne, skal du bruge '-w' argumentet og gemme det i en '.pcap' fil.

Konklusion

I denne tutorial demonstrerede vi, hvordan man fanger og analyserer pakkerne ved hjælp af tcpdump ved hjælp af forskellige eksempler. Vi lærte også, hvordan man gemmer den opfangede trafik i en '.pcap'-fil, som du kan se og analysere ved hjælp af Wireshark og andre netværksanalyseværktøjer.