Eksempler på tcpdump i Linux

Anonim

Eksempler på tcpdump i Linux

Hvis du har brug for at analysere eller aflytte netværkspakker i Linux, er det bedst at bruge en konsolværktøj til dette. Tcpdump. . Men problemet opstår i ret kompliceret ledelse. En almindelig bruger vil synes at arbejde med værktøjet ubehageligt, men det er kun ved første øjekast. Artiklen vil blive beskrevet, hvordan TCPDUMP er arrangeret, hvilken syntaks den har, hvordan man bruger det, og mange eksempler på dets anvendelse vil blive præsenteret.

Læs også: Internet Connection Setup Manuals i Ubuntu, Debian, Ubuntu Server

Installation

De fleste udviklere af Linux-operativsystemer er inkluderet i TCPDump-værktøjet til listen over forudinstalleret, men hvis det af en eller anden grund mangler i din distribution, kan du altid downloade den og installere den via terminalen. Hvis dit OS er baseret på Debian, og dette er Ubuntu, Linux Mint, Kali Linux og deres lignende, skal du udføre denne kommando:

Sudo apt installere tcpdump

Når du installerer, skal du indtaste et kodeord. Bemærk, at når det ikke vises, vises det ikke, også for at bekræfte den installation, du har brug for for at indtaste "D" -symbolet, og tryk på ENTER.

Hvis du har Red Hat, Fedora eller Centos, vil installationsteamet have følgende formular:

Sudo yam installerer tcpdump

Når hjælpeprogrammet er installeret, kan det straks bruge det. Om dette og mange andre ting vil blive fortalt på teksten.

Læs også: PHP installationsvejledning i Ubuntu Server

Syntaks

Ligesom enhver anden kommando har TCPDump sin egen syntaks. At kende det, kan du indstille alle de nødvendige parametre, der vil blive taget i betragtning, når du udfører kommandoen. Syntaksen er som følger:

TCPDump Valg -I filter interface

Når du bruger kommandoen, skal du angive grænsefladen til sporing. Filtre og muligheder er ikke obligatoriske variabler, men de giver dig mulighed for at udføre mere fleksible indstillinger.

Muligheder

Mindst indstillingen er i det mindste ikke nødvendigvis, at du stadig skal liste. Tabellen demonstrerer ikke alle deres liste, men kun de mest populære, men de er mere end nok til at løse de fleste opgaver.
Mulighed Definition
-EN. Giver dig mulighed for at sortere pakker med ASCII-format
-L. Tilføjer en rullefunktion
-JEG. Når du har indtastet, skal du angive netværksinterfacet, der vil blive sporet. For at starte sporing af alle grænsefladerne, skal du indtaste ordet "Enhver" efter indstillingen.
-c. Fuldfører sporingsprocessen efter at have kontrolleret det angivne antal pakker
-w. Genererer en tekstfil med verifikationsrapport
-E. Viser niveauet for internetforbindelsespakken
-L. Viser kun de protokoller, der understøtter den angivne netværksgrænseflade
-C. Opretter en anden fil under optagelse af en pakke, hvis dens størrelse er større end den angivne
-r. Åbner en læsefil, der blev oprettet ved hjælp af -W-indstillingen.
-J. Timestamp format vil blive brugt til at optage pakker
-J. Giver dig mulighed for at se alle tilgængelige timestampformater.
-G. Bruges til at oprette en fil med logfiler. Muligheden kræver også instruktionerne fra tidsværdien, hvorefter der oprettes en ny log.
-V, -vv, -vvv Afhængigt af antallet af tegn i indstillingen bliver kommandoudgangen flere detaljer (stigningen er direkte proportional med antallet af tegn)
-f. I udgangen viser navnet på IP-adresse-domænet
-F. Giver dig mulighed for at læse oplysninger ikke fra netværksgrænsefladen, men fra den angivne fil
-D. Demonstrerer alle netværksgrænseflader, der kan bruges
-N. Deaktiverer visning af domænenavne
-Z. Angiver brugeren under, hvornår alle filer vil blive oprettet.
-K. Spring over testanalyse
-Q. Demonstration af korte oplysninger
-H. Giver dig mulighed for at opdage 802.11s overskrifter
-JEG. Bruges ved indfangning af pakker i overvågningstilstand

Efter at have brydes mulighederne, lige under, flytter vi direkte til deres applikationer. I mellemtiden vil filtre blive overvejet.

Filtre.

Som nævnt i begyndelsen af ​​artiklen kan du tilføje filtre til tcpdump syntaks. Nu vil den mest populære af dem blive overvejet:

Filter Definition
Vært. Tjener til at angive hedens navn
net. Angiver IP-undernet og netværk
IP. Bruges til at angive adressen til protokollen
Src. Viser pakker, der blev sendt fra den angivne adresse.
Dst. Viser pakker, der blev opnået af den angivne adresse.
ARP, UDP, TCP Filtrering af en af ​​protokollerne
Havn. Viser oplysninger relateret til en bestemt port
og, Or. Tjener til at kombinere flere filtre i holdet
mindre, større Pakkeudgang mindre eller mere specificeret størrelse

Alle ovennævnte filtre kan kombineres med hinanden, så i udstedelsen af ​​kommandoen vil du kun observere de oplysninger, du vil se. For at forstå mere detaljer i brugen af ​​ovenstående filtre er det værd at lede eksempler.

Se også: Ofte anvendte kommandoer i Terminal Linux

Eksempler på anvendelse

Ofte brugte TCPDUMP-kommando syntaks muligheder vises nu. Det vil ikke være muligt at liste dem, da deres variationer kan være et uendeligt sæt.

Se listen over grænseflader

Det anbefales at først kontrollere listen over alle dets netværksgrænseflader, der kan spores. Fra ovenstående tabel ved vi, at for dette skal du bruge den -D-indstillingen, så i terminalen skal du køre følgende kommando:

Sudo tcpdump -d.

Eksempel:

Udfør TCPDUMP-kommando med D-løsningen i Linux

Som du måske bemærker, er der i eksemplet otte grænseflader, der kan ses ved hjælp af kommandoen TCPDUMP. Artiklen vil blive givet eksempler med PPP0, du kan bruge andre.

Normal trafik capture.

Hvis du har brug for at spore en netværksgrænseflade, kan du gøre dette ved hjælp af -I-indstillingen. Glem ikke at indtaste interface-navnet efter indtastning af det. Her er et eksempel på udførelsen af ​​et sådant hold:

Sudo tcpdump -i ppp0

Bemærk venligst: Foran selve kommandoen skal du indtaste "sudo", da det kræver superbrugers ret.

Eksempel:

Et eksempel på at vise en netværksinterfacetrafik ved hjælp af kommandoen TCPDUMP uden at bruge Valg og filtre

BEMÆRK: Når du har trykket på ENTER i "Terminal", vil opfangede pakker kontinuerligt. For at stoppe deres strøm skal du trykke på CTRL + C-tastekombinationen.

Hvis du udfører en kommando uden yderligere muligheder og filtre, vil du se følgende skærmformat for overvågede pakker:

22: 18: 52.597573 IP VRRP-TOPF2.P.MAIL.RU.HTTPS> 10.0.6.67.35482: Flags [P.], SEQ 1: 595, ACK 1118, Vind 6494, Valg [NOP, NOP, TS VAL 257060077 SCR 697597623], Længde 594

Hvor farve er tildelt:

  • blå - tidspunktet for modtagelse af pakken
  • Orange - version af protokollen;
  • Grøn - Adresse på afsenderen
  • lilla - modtagerens adresse;
  • Grå - yderligere oplysninger om TCP;
  • Rød - størrelsen af ​​pakken (vist i bytes).

Denne syntaks har evnen til at udskrive i vinduet "Terminal" uden at bruge yderligere muligheder.

Trafikfangst med option -v

Som du ved fra bordet, giver du mulighed for at øge mængden af ​​oplysninger. Vi analyserer på eksemplet. Kontroller den samme grænseflade:

Sudo tcpdump -v -i ppp0

Eksempel:

Et eksempel på at vise en netværksinterface trafik ved hjælp af kommandoen TCPDUMP ved hjælp af -V-indstillingen i Linux

Her kan du se, at den næste linje dukkede op i output:

IP (TOS 0x0, TTL 58, ID 30675, Offset 0, Flags [DF], Proto TCP (6), Længde 52

Hvor farve er tildelt:

  • Orange - version af protokollen;
  • blå - levetiden for protokollen
  • grøn - felt header længde;
  • lilla - version af TCP-pakken;
  • Rød - størrelsen af ​​pakken.

Også i kommando syntaksen kan du ordinere -vv eller -vvvV-indstillingen, som giver dig mulighed for yderligere at øge mængden af ​​oplysninger, der vises på skærmen.

-W og -r option

Optionstabellen nævnte evnen til at gemme alle viste data i en separat fil, der senere blev set. For dette svarer til -W-indstillingen. Det er ret nemt at bruge det, bare indtaste det i kommandoen, og indtast derefter navnet på den fremtidige fil med ".PCAP" -udvidelsen. Overvej alt eksempel:

Sudo tcpdump -i ppp0 -w file.pcap

Eksempel:

Eksempel-W-indstilling i TCPDUMP-kommando i Linux

Bemærk: Under optagelsestalerne til filen på skærmen "Terminal" vises der ingen tekst.

Når du vil se den optagne output, skal du bruge -R-indstillingen, hvorefter du skriver navnet på den tidligere optagne fil. Det gælder uden andre muligheder og filtre:

Sudo tcpdump -r file.pcap

Eksempel:

Et eksempel på at se en tidligere gemt TCPDUMP-kommandofil ved hjælp af W-løsningen

Begge disse muligheder er perfekt egnede i tilfælde, hvor du har brug for at gemme store mængder tekst til den efterfølgende parsing.

Filtrering efter IP.

Fra filtertabellen ved vi, at DST giver dig mulighed for at vise konsol kun de pakker, der blev opnået af adressen, er angivet i kommandopyntaxen. Således er det meget bekvemt at se pakkerne modtaget af din computer. For at gøre dette skal du i kommandoen bare angive din IP-adresse:

Sudo tcpdump -i ppp0 ip dst 10.0.6.67

Eksempel:

Eksempel på at bruge DST- og IP-filteret til kommandoen TCPDUMP i Linux

Som du kan se, foruden DST, ordinerede vi også et IP-filter. Med andre ord sagde vi til computeren, så han ved valg af pakker var opmærksom på deres IP-adresse og ikke til andre parametre.

IP kan filtreres og sendes pakker. I eksemplet vil vi give vores IP igen. Det vil sige nu, vi sporer, hvilke pakker der er afgået fra vores computer til andre adresser. For at gøre dette skal du udføre følgende kommando:

Sudo tcpdump -i ppp0 ip src 10.0.6.67

Eksempel:

Eksempel på at bruge SRC og IP-filteret i kommandoen TCPDUMP i Linux

Som du kan se, i kommandosyntaxen ændrede vi DST-filteret på SRC og derved fortæller bilen at søge efter afsenderen med IP.

Værtsfiltrering

I analogi med IP i holdet kan vi angive værtsfilteret for at sy pakker med værtseværelset. Det vil sige i syntaksen i stedet for afsenderens / modtagerens IP-adresse, vil det være nødvendigt at angive dets vært. Det ser ud til at dette:

Sudo tcpdump -i ppp0 dst vært google-public-dns-a.google.com

Eksempel:

Eksempel på at bruge DST- og værtsfilteret i kommandoen TCPDUMP i Linux

I billedet kan du se, at kun de pakker, der blev sendt fra vores IP på Google.com, vises i terminalen. Hvordan kan jeg i stedet for Google-værten komme ind i nogen anden.

Som i tilfælde af filtrering ved IP, i DST Syntax, kan du erstatte SRC for at se de pakker, der sendes til din computer:

Sudo tcpdump -i ppp0 src host google-public-dns-a.google.com

Bemærk: Værtfilteret skal stå efter DST eller SRC, ellers vil kommandoen give en fejl. I tilfælde af filtrering ved IP, tværtimod, DST og SRC står foran IP-filteret.

Applikation og eller filter

Hvis du har behov for at bruge flere filtre på en gang i samme kommando, skal du bruge og eller eller filter (afhænger af sagen). Pegende filtre i syntaksen og adskiller dem med disse operatører, du "gør" arbejde dem som en. På eksemplet ser det sådan ud:

Sudo tcpdump -i ppp0 IP DST 95.47.144.254 eller IP SRC 95.47.144.254

Eksempel:

Eksempel på at bruge filteret og eller eller i kommandoen TCPDUMP i Linux

Fra kommandoen Syntaks er det klart, at alle pakker, der blev sendt til "Terminal", vises på adressen 95.47.144.254 og pakker opnået af samme adresse. Du kan også ændre nogle variabler i dette udtryk. For eksempel, i stedet for en IP, skal du specificere vært eller erstatte adresserne selv.

Port og Portrange Filter

Portfilteret er perfekt i tilfælde, hvor du har brug for at få oplysninger om pakker med en bestemt port. Så hvis du kun skal se svar eller DNS-anmodninger, skal du angive port 53:

Sudo tcpdump -vv -i ppp0 port 53

Eksempel:

Eksempel på at bruge portfilteret i kommandoen TCPDUMP i Linux

Hvis du vil se HTTP-pakker, skal du indtaste port 80:

Sudo tcpdump -vv -i ppp0 port 80

Eksempel:

Et eksempel på applikationen af ​​portfilteret i kommandoen TCPDUMP i Linux

Det er blandt andet muligt at spore sortimentet af havne på én gang. Til dette formål anvendes portrætfilteret:

Sudo tcpdump Portrange 50-80

Eksempel på at bruge Portrange Filter i TCPDump Command Syntax i Linux

Som du kan se, i et ligament med portrangerfilteret, er det ikke nødvendigt at angive yderligere muligheder. Bare sæt kun området.

Filtrering efter protokoller.

Du kan også kun vise den trafik, der svarer til enhver protokol. For at gøre dette skal du bruge navnet på denne protokol som et filter. Vi vil analysere på UDP's eksempel:

Sudo tcpdump -vvv -i ppp0 udp

Eksempel:

Eksempel på filtrering af tcpdump kommando på Linux-protokollen

Som du kan se i billedet, efter at have udført kommandoen i terminalen, syntes kun pakker med UDP-protokollen. Derfor kan du filtrere og andre, for eksempel ARP:

Sudo tcpdump -vvv -i ppp0 arp

eller TCP:

Sudo tcpdump -vvv -i ppp0 TCP

Net Filter.

Netoperatøren hjælper med at filtrere pakkerne ved at tage betegnelsen af ​​deres netværk. Det er også nemt at bruge, såvel som resten - du skal angive nettoattributten i Syntaxen, og indtast derefter netværksadressen. Her er et eksempel på et sådant hold:

Sudo tcpdump -i ppp0 net 192.168.1.1

Eksempel:

Et eksempel på filtrering af tcpdump kommando til betegnelse i Linux

Pakkefiltrering

Vi overvejede ikke to flere interessante filtre: mindre og større. Fra bordet med filtre ved vi, at de tjener til at udgive datapakker mere (mindre) eller mindre (større) størrelse angivet efter indtastning af attributten.

Antag, at vi kun vil følge de pakker, der ikke overstiger 50 bits, så har holdet følgende formular:

Sudo tcpdump -i ppp0 mindre 50

Eksempel:

Pakkefiltrering på deres størrelse filter mindre i kommandoen TCPDUMP i Linux

Lad os nu se pakkerne i terminalen, hvis størrelse er mere end 50 bits:

Sudo tcpdump -i ppp0 større 50

Eksempel:

Filtreringspakker til deres størrelse Greater Filter i kommandoen TCPDUMP i Linux

Som du kan se, anvendes de ligeledes, forskellen er kun i filterets navn.

Konklusion.

I slutningen af ​​artiklen kan vi konkludere, at holdet Tcpdump. - Dette er et godt værktøj, som du kan spore eventuelle data, der er gået på internettet. Men for dette ikke nok til blot at indtaste kommandoen selv i "Terminal". Det vil kun være muligt at opnå det ønskede resultat, hvis du bruger alle mulige muligheder og filtre, såvel som deres kombinationer.

Læs mere