Probeert u datapakketten vast te leggen om het verkeer op uw netwerk te analyseren? Misschien bent u een serverbeheerder die een probleem is tegengekomen en wilt u de verzonden gegevens op het netwerk controleren. Wat de situatie ook is, het tcpdump Linux-hulpprogramma is wat je nodig hebt.

In dit artikel zullen we de opdracht tcpdump in detail bespreken, samen met enkele handleidingen voor het installeren en gebruiken van tcpdump op je Linux-systeem.

Wat is de opdracht tcpdump?

Tcpdump is een krachtige tool voor netwerkbewaking waarmee een gebruiker pakketten en verkeer op een netwerk efficiënt kan filteren. U kunt gedetailleerde informatie krijgen over TCP / IP en de pakketten die op uw netwerk worden verzonden. Tcpdump is een opdrachtregelprogramma, wat betekent dat u het zonder display op Linux-servers kunt uitvoeren.

Systeembeheerders kunnen ook het hulpprogramma tcpdump integreren met cron om verschillende taken zoals logboekregistratie te automatiseren. Omdat de vele functies het vrij veelzijdig maken, werkt tcpdump zowel als probleemoplossing als als beveiligingstool.

instagram viewer

Hoe tcpdump op Linux te installeren

Hoewel u tcpdump meestal voorgeïnstalleerd op uw systeem aantreft, worden sommige Linux-distributies niet met het pakket meegeleverd. Daarom moet u het hulpprogramma mogelijk handmatig op uw systeem installeren.

U kunt controleren of tcpdump op uw systeem is geïnstalleerd door de welke opdracht.

welke tcpdump

Als de uitvoer een mappad weergeeft (/usr/bin/tcpdump), dan heeft uw systeem het pakket geïnstalleerd. Als dit echter niet het geval is, kunt u dit eenvoudig doen met de standaardpakketbeheerder op uw systeem.

Om tcpdump te installeren op op Debian gebaseerde distributies zoals Ubuntu:

sudo apt-get install tcpdump

Het installeren van tcpdump op CentOS is ook eenvoudig.

sudo yum installeer tcpdump

Op Arch-gebaseerde distributies:

sudo pacman -S tcpdump

Om te installeren op Fedora:

sudo dnf installeer tcpdump

Merk op dat het tcpdump-pakket libcap als afhankelijkheid, dus zorg ervoor dat u het ook op uw systeem installeert.

Tcpdump-voorbeelden om netwerkpakketten op Linux vast te leggen

Nu je tcpdump met succes op je Linux-machine hebt geïnstalleerd, is het tijd om enkele pakketten te monitoren. Aangezien tcpdump superuser-machtigingen vereist om de meeste bewerkingen uit te voeren, moet u sudo op uw bevelen.

1. Maak een lijst van alle netwerkinterfaces

Om te controleren welke netwerkinterfaces beschikbaar zijn om vast te leggen, gebruikt u de -D vlag met de opdracht tcpdump.

tcpdump -D

Het passeren van de --list-interfaces vlag als argument zal dezelfde uitvoer teruggeven.

tcpdump --list-interfaces

De uitvoer is een lijst met alle netwerkinterfaces die op uw systeem aanwezig zijn.

Nadat u de lijst met netwerkinterfaces hebt ontvangen, is het tijd om uw netwerk te bewaken door pakketten op uw systeem op te vangen. Hoewel u kunt specificeren welke interface u wilt gebruiken, is het ieder argument geeft tcpdump de opdracht om netwerkpakketten vast te leggen met behulp van een actieve interface.

tcpdump --interface elke

Het systeem geeft de volgende output weer.

Verwant: Wat is het Open Systems Interconnection-model?

2. Het uitvoerformaat van tcpdump

Beginnend bij de derde regel, geeft elke regel van de uitvoer een specifiek pakket aan dat is vastgelegd door tcpdump. Dit is hoe de uitvoer van een enkel pakket eruit ziet.

17: 00: 25.369138 wlp0s20f3 Uit IP local system.40310> kul01s10-in-f46.1e100.net. Https: Flags [P.], seq 196: 568, ack 1, win 309, options [nop, nop, TS val 117964079 ecr 816509256], lengte 33

Houd er rekening mee dat niet alle pakketten op deze manier worden vastgelegd, maar dit is het algemene formaat dat door de meeste wordt gevolgd.

De output bevat de volgende informatie.

  1. Tijdstempel van het ontvangen pakket
  2. Interface naam
  3. Pakketstroom
  4. Naam van het netwerkprotocol
  5. IP-adres en poortgegevens
  6. TCP-vlaggen
  7. Het volgnummer van gegevens in het pakket
  8. Bevestig gegevens
  9. Venstergrootte
  10. Pakket lengte

Het eerste veld (17:00:25.369138) geeft de tijdstempel weer waarop uw systeem het pakket heeft verzonden of ontvangen. De geregistreerde tijd wordt uit de lokale tijd van uw systeem gehaald.

Het tweede en derde veld geven de gebruikte interface en de stroom van het pakket aan. In het bovenstaande fragment, wlp0s20f3 is de naam van de draadloze interface en Uit is de pakketstroom.

Het vierde veld bevat informatie met betrekking tot de naam van het netwerkprotocol. Over het algemeen vindt u twee protocollen: IK P en IP6, waarbij IP staat voor IPV4 en IP6 voor IPV6.

Het volgende veld bevat de IP-adressen of de naam van het bron- en doelsysteem. De IP-adressen worden gevolgd door het poortnummer.

Het zesde veld in de uitvoer bestaat uit TCP-vlaggen. Er zijn verschillende vlaggen die worden gebruikt in de uitvoer van tcpdump.

Vlagnaam Waarde Omschrijving
SYN S Verbinding gestart
VIN F. Verbinding voltooid
DUWEN P. Gegevens worden gepusht
RST R De verbinding is gereset
ACK . Erkenning

De uitvoer kan ook een combinatie van verschillende TCP-vlaggen bevatten. Bijvoorbeeld, VLAG [f.] staat voor een FIN-ACK-pakket.

Verderop in het uitvoerfragment, bevat het volgende veld het volgnummer (seq 196: 568) van de gegevens in het pakket. Het eerste pakket heeft altijd een positieve gehele waarde en de daaropvolgende pakketten gebruiken het relatieve volgnummer om de gegevensstroom te verbeteren.

Het volgende veld bevat het bevestigingsnummer (ack 1), of eenvoudig Ack-nummer. Het pakket dat is vastgelegd in de machine van de afzender heeft 1 als bevestigingsnummer. Aan de kant van de ontvanger is het Ack-nummer de waarde van het volgende pakket.

Het negende veld in de uitvoer herbergt de venstergrootte (overwinning 309), wat het aantal bytes is dat beschikbaar is in de ontvangende buffer. Er zijn verschillende andere velden die de venstergrootte volgen, inclusief de maximale segmentgrootte (MSS).

Het laatste veld (lengte 33) bevat de lengte van het totale pakket dat is vastgelegd door tcpdump.

3. Beperk het aantal afgevangen pakketten

Als u de opdracht tcpdump voor de eerste keer uitvoert, merkt u misschien dat het systeem netwerkpakketten blijft vastleggen totdat u een interruptsignaal passeert. U kunt dit standaardgedrag opheffen door vooraf het aantal pakketten op te geven dat u wilt vastleggen met de -c vlag.

tcpdump --interface elke -c 10

De bovengenoemde opdracht zal tien pakketten van elke actieve netwerkinterface vastleggen.

4. Filter pakketten op basis van velden

Wanneer u een probleem oplost, maakt het niet eenvoudiger om een ​​groot blok tekstuitvoer op uw terminal te krijgen. Dat is waar de filterfunctie in tcpdump in het spel komt. U kunt de pakketten filteren op verschillende velden, waaronder de host, het protocol, het poortnummer en meer.

Om alleen TCP-pakketten vast te leggen, typt u:

tcpdump --interface elke -c 5 tcp

Evenzo, als u de uitvoer wilt filteren met behulp van het poortnummer:

tcpdump --interface elke -c 5 poort 50

De bovengenoemde opdracht haalt alleen pakketten op die via de opgegeven poort zijn verzonden.

Om de pakketdetails voor een bepaalde host op te halen:

tcpdump --interface elke -c 5 host 112.123.13.145

Als u pakketten wilt filteren die door een specifieke host zijn verzonden of ontvangen, gebruikt u het src of dst argument met het commando.

tcpdump --interface elke -c 5 src 112.123.13.145
tcpdump --interface elke -c 5 dst 112.123.13.145

U kunt ook de logische operatoren gebruiken en en of om twee of meer uitdrukkingen samen te combineren. Om bijvoorbeeld pakketten op te halen die tot het bron-IP behoren 112.123.13.145 en gebruik de poort 80:

tcpdump --interface elke -c 10 src 112.123.13.145 en poort 80

Complexe uitdrukkingen kunnen worden gegroepeerd met haakjes als volgt:

tcpdump --interface any -c 10 "(src 112.123.13.145 of src 234.231.23.234) en (poort 45 of poort 80)"

5. Bekijk de inhoud van het pakket

U kunt de -EEN en -X vlaggen met de opdracht tcpdump om de inhoud van het netwerkpakket te analyseren. De -EEN vlag staat voor ASCII formaat en -X geeft aan hexadecimaal formaat.

Om de inhoud van het volgende netwerkpakket dat door het systeem is vastgelegd te bekijken:

tcpdump --interface elke -c 1 -A
tcpdump --interface elke -c 1 -x

Verwant: Wat is pakketverlies en hoe kunt u de oorzaak ervan verhelpen?

6. Sla vastgelegde gegevens op in een bestand

Als u de vastgelegde gegevens voor referentiedoeleinden wilt opslaan, is tcpdump er om u te helpen. Geef gewoon de -w vlag met het standaardcommando om de uitvoer naar een bestand te schrijven in plaats van het op het scherm weer te geven.

tcpdump --interface elke -c 10 -w data.pcap

De .pcap bestandsextensie staat voor pakketopname gegevens. U kunt de bovengenoemde opdracht ook in uitgebreide modus geven met behulp van de -v vlag.

tcpdump --interface elke -c 10 -w data.pcap -v

Om een .pcap bestand met tcpdump, gebruik dan de -r vlag gevolgd door het bestandspad. De -r betekent Lezen.

tcpdump -r data.pcap

U kunt ook netwerkpakketten filteren op basis van de pakketgegevens die in het bestand zijn opgeslagen.

tcpdump -r data.pcap poort 80

Monitoring van netwerkverkeer op Linux

Als je de taak hebt gekregen om een ​​Linux-server te beheren, dan is de opdracht tcpdump een geweldig hulpmiddel om in je arsenaal op te nemen. U kunt netwerkgerelateerde problemen eenvoudig oplossen door pakketten die in realtime over uw netwerk worden verzonden, vast te leggen.

Maar voor dat alles moet uw apparaat verbinding hebben met internet. Voor Linux-beginners kan zelfs verbinding maken met wifi via de opdrachtregel een beetje een uitdaging zijn. Maar als u de juiste tools gebruikt, is het in een handomdraai.

E-mail
Verbinding maken met wifi via de Linux-terminal met Nmcli

Wilt u verbinding maken met een Wi-Fi-netwerk via de Linux-opdrachtregel? Dit is wat u moet weten over de opdracht nmcli.

Lees Volgende

Gerelateerde onderwerpen
  • Linux
  • Veiligheid
  • Network Forensics
Over de auteur
Deepesh Sharma (37 Artikelen gepubliceerd)

Deepesh is de Junior Editor voor Linux bij MUO. Hij schrijft al meer dan drie jaar informatieve inhoud op internet. In zijn vrije tijd houdt hij van schrijven, naar muziek luisteren en gitaar spelen.

Meer van Deepesh Sharma

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Nog een stap…!

Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.

.