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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Hvis du vil se HTTP-pakker, skal du indtaste port 80:
Sudo tcpdump -vv -i ppp0 port 80
Eksempel:
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
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:
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:
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:
Lad os nu se pakkerne i terminalen, hvis størrelse er mere end 50 bits:
Sudo tcpdump -i ppp0 større 50
Eksempel:
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.