Ekzemploj de TCPDUMP en Linukso

Anonim

Ekzemploj de TCPDUMP en Linukso

Se vi bezonas analizi aŭ interkapti retajn pakaĵojn en Linukso, estas plej bone uzi konzolon utilecon por ĉi tio. Tcpdump. . Sed la problemo ekestas en pli komplika administrado. Ordinara uzanto ŝajnos labori kun la utileco malkomforta, sed ĝi estas nur unuavide. La artikolo estos priskribita kiel la TCPDUMP estas aranĝita, kiun sintakso ĝi havas, kiel uzi ĝin, kaj multaj ekzemploj de ĝia uzo estos prezentitaj.

Legu ankaŭ: Interreta konekto-agordaj manlibroj en Ubuntu, Debian, Ubuntu-servilo

Instalado

Plej multaj programistoj de operaciumoj de Linukso estas inkluzivitaj en la TCPDAMP-ilo al la listo de antaŭ-instalitaj, sed se ial ĝi mankas en via distribuo, vi povas ĉiam elŝuti ĝin kaj instali ĝin tra la terminalo. Se via OS baziĝas sur Debian, kaj ĉi tio estas Ubuntu, Linukso Mint, Kali Linukso kaj ilia simila, vi devas ekzekuti ĉi tiun komandon:

Sudo apt install tcpdump

Kiam vi instalas, vi devas enmeti pasvorton. Bonvolu noti, ke kiam ĝi ne montriĝas, ĝi ne montriĝas, ankaŭ konfirmi la instaladon, kiun vi bezonas por eniri la simbolon de "D" kaj premu ENTER.

Se vi havas Red Hat, Fedora aŭ Centos, tiam la instalada teamo havos la sekvan formon:

Sudo yam install tcpdump

Post kiam la ilo estas instalita, ĝi povas tuj uzi ĝin. Pri ĉi tio kaj multaj aliaj aferoj estos diritaj al la teksto.

Legu ankaŭ: PHP-instalada gvidilo en Ubuntu-servilo

Sintakso

Kiel ĉiu alia komando, TCPdump havas sian propran sintakson. Sciante ĝin, vi povas agordi ĉiujn necesajn parametrojn, kiuj estos konsiderataj kiam ekzekutos la komandon. La sintakso estas jene:

TCPDUMP-opcioj -i filtrila interfaco

Kiam vi uzas la komandon, vi devas specifi la interfacon por spuri. Filtriloj kaj opcioj ne estas devigaj variabloj, sed ili permesas vin plenumi pli flekseblajn agordojn.

Opcioj

Almenaŭ la opcio ne nepre indikas, vi ankoraŭ bezonas liston. La tablo montras ne la tutan liston, sed nur la plej popularaj, sed ili estas pli ol sufiĉaj por solvi la plej multajn taskojn.
Opcio Difino
-A. Permesas vin ordigi pakojn kun ASCII-formato
-L. Aldonas ruluman funkcion
-I. Post enirado, vi devas specifi la retan interfacon, kiu estos spurita. Komenci spuri ĉiujn interfacojn, enigu la vorton "ajnan" post la opcio.
-c. Kompletigas la spuradon post kontrolado de la specifa nombro de pakoj
-w. Generas tekstan dosieron kun konfirmo-raporto
-E. Montras la nivelon de la interreta konekta pakaĵo
-L. Montras nur tiujn protokolojn, kiuj subtenas la specifitan interfacon de reto
-C. Kreas alian dosieron dum registrado de pakaĵo se ĝia grandeco estas pli granda ol la specifita
-r. Malfermas legan dosieron, kiu estis kreita per la opcio -w.
-J. Timestamp-formato uzos por registri pakojn
-J. Permesas, ke vi vidu ĉiujn disponeblajn tempajn formatojn.
-G. Uzata por krei dosieron kun ŝtipoj. La opcio ankaŭ postulas la instrukciojn de la tempa valoro, post kiu nova ŝtipo estos kreita.
-V, -vv, -vvv Depende de la nombro de signoj en la opcio, la komanda eligo fariĝos pli da detaloj (la pliiĝo estas rekte proporcia al la nombro de signoj)
-f. En la eligo montras la nomon de la IP-adreso-Domajno
-F. Permesas legi informojn ne de la reto-interfaco, sed de la specifa dosiero
-D. Pruvas ĉiujn retajn interfacojn, kiujn oni povas uzi
-N. Malaktivigas la montradon de domajnaj nomoj
-Z. Specifas la uzanton laŭ la raporto pri kiu ĉiuj dosieroj estos kreitaj.
-K. Skip-test-analizo
-Q. Pruvo de Mallonga Informo
-H. Permesas detekti 802.11-titolojn
-I. Uzata dum kaptado de pakoj en monitora reĝimo

Post rompi la opciojn, tuj sub ni moviĝas rekte al siaj aplikoj. Dume, filtriloj estos konsiderataj.

Filtriloj

Kiel menciite ĉe la komenco de la artikolo, vi povas aldoni filtrilojn al TCPdump-sintakso. Nun la plej populara pri ili estos konsiderata:

Filtrilo Difino
Gastiganto. Servas por indiki la nomon de la gastiganto
Net. Specifas IP-subneton kaj reton
IP. Uzata por specifi la adreson de la protokolo
Src Montras pakojn senditaj de la specifa adreso.
Dst Montras pakaĵojn akiritajn de la specifita adreso.
ARP, UDP, TCP Filtrado de unu el la protokoloj
Haveno. Montras informojn pri specifa haveno
kaj, aŭ Servas kombini plurajn filtrilojn en la teamo
Malpli, pli granda Pako eligo malpli aŭ pli specifita grandeco

Ĉiuj supre filtriloj povas esti kombinitaj unu kun la alia, do en la eldono de la komando vi observos nur la informojn, kiujn vi volas vidi. Por kompreni pli detale pri la uzo de la supraj filtriloj, ĝi valoras ĉefajn ekzemplojn.

Vidu ankaŭ: Ofte uzataj komandoj en Fina stacio Linukso

Ekzemploj de uzado

Ofte uzata TCPDUMP-komando-sintaksaj opcioj nun montriĝos. Ne eblos listigi ilin, ĉar iliaj variaĵoj povas esti senfina aro.

Rigardu la liston de interfacoj

Oni rekomendas komence kontroli la liston de ĉiuj ĝiaj retaj interfacoj, kiujn oni povas spuri. De la supra tabelo, ni scias, ke por tio vi bezonas uzi la -d-opcion, do en la terminalo, kuri la sekvan komandon:

Sudo tcpdump -d.

Ekzemplo:

Ekzekuti TCPDUMP-komandon kun la D-opcio en Linukso

Kiel vi povas rimarki, en la ekzemplo estas ok interfacoj, kiujn oni povas vidi per la komando TCPdump. La artikolo ricevos ekzemplojn per PPP0, vi povas uzi iun ajn alian.

Normala trafika kapto

Se vi bezonas spuri unu retan interfacon, vi povas fari ĉi tion uzante la opcion -i. Ne forgesu eniri la interfacan nomon post eniri ĝin. Jen ekzemplo de la ekzekuto de tia teamo:

Sudo tcpdump -i ppp0

Bonvolu noti: Antaŭ la komando mem vi devas eniri "sudo", ĉar ĝi postulas la rajton de superuzanto.

Ekzemplo:

Ekzemplo de montri retan interfaca trafiko uzante la TCPDUMP-komando sen uzi opciojn kaj filtrilojn

Noto: Post premado de ENTER en "Terminalo", interkaptitaj pakaĵoj kontinue. Ĉesigu sian riveron, vi devas premi la CTRL + C-klavon.

Se vi plenumas komandon sen aldonaj opcioj kaj filtriloj, vi vidos la sekvan ekranan formaton por kontrolitaj pakoj:

22: 18: 52.597573 ip vrrp-topf2.p.mail.ru.https> 10.0.6.67.35482: Flagoj [P.], Seq 1: 595, ACK 1118, Win 6494, Opcioj [NOP, NOP, TS PLA 257060077 ECR 697597623], Longitudo 594

Kie koloro estas asignita:

  • Blua - la tempo de ricevo de la pakaĵo;
  • Oranĝa - versio de la protokolo;
  • Verda - adreso de la sendinto;
  • Purpura - adreso de ricevanto;
  • griza - aldona informo pri TCP;
  • Ruĝa - la grandeco de la pakaĵo (montrita en bajtoj).

Ĉi tiu sintakso havas la kapablon eligi en la fenestro "fina stacio sen uzi aldonajn opciojn."

Trafika kapto kun opcio -v

Kiel vi scias de la tablo, la -v-opcio permesas al vi pliigi la kvanton da informoj. Ni analizos pri la ekzemplo. Kontrolu la saman interfacon:

Sudo tcpdump -v -i ppp0

Ekzemplo:

Ekzemplo de montri retan interfaca trafiko uzante la TCPDUMP-komandon per la -v-opcio en Linukso

Ĉi tie vi povas vidi, ke la sekva linio aperis en la eligo:

IP (TOS 0x0, TTL 58, ID 30675, OFFSET 0, Flagoj [Df], Pra TCP (6), Longitudo 52

Kie koloro estas asignita:

  • Oranĝa - versio de la protokolo;
  • blua - la vivdaŭro de la protokolo;
  • Verda - Field-kapta longo;
  • Purpura - versio de la pakaĵo TCP;
  • Ruĝa - la grandeco de la pakaĵo.

Ankaŭ en la komanda sintakso vi povas preskribi la opcion -vv aŭ -vvv, kiu ebligos al vi pliigi la kvanton da informoj montritaj sur la ekrano.

-W kaj -r opcio

La opcio-tablo menciis la kapablon konservi ĉiujn elmontritajn datumojn en apartan dosieron por poste esti vidataj. Ĉar ĉi tio respondas al la opcio -w. Estas sufiĉe simpla uzi ĝin, nur eniru ĝin en la komandon, kaj tiam enigu la nomon de la estonta dosiero kun la etendo ".PCap". Konsideru ĉion pri la ekzemplo:

Sudo tcpdump -i ppp0 -w file.pcap

Ekzemplo:

Ekzemplo -W-opcio en TCPDUMP-komando en Linukso

Bonvolu noti: Dum rekordaj protokoloj al la dosiero pri la ekrano "Terminal", neniu teksto estas montrata.

Kiam vi volas vidi la registritan eliron, vi devas uzi la opcion -R, post kiu vi skribas la nomon de la antaŭe registrita dosiero. Withouti aplikas sen aliaj ebloj kaj filtriloj:

Sudo tcpdump -r file.pcap

Ekzemplo:

Ekzemplo de vidado de antaŭe savita TCPDUMP-komanda dosiero per la opcio W

Ambaŭ ĉi tiuj opcioj estas perfekte taŭgaj en kazoj, kie vi bezonas ŝpari grandajn volumojn de teksto por la posta analizo.

Filtrado de IP.

El la filtrila tablo, ni scias, ke DST permesas al vi montri konzolon nur tiujn pakaĵojn, kiujn oni akiris per la adreso estas specifitaj en la komanda sintakso. Tiel, estas tre konvene vidi la pakaĵojn ricevitajn de via komputilo. Por fari tion, en la komando vi nur bezonas specifi vian IP-adreson:

Sudo tcpdump -i ppp0 ip dst 10.0.6.67

Ekzemplo:

Ekzemplo de uzado de la DST kaj IP-filtrilo al la TCPDUMP-komando en Linukso

Kiel vi povas vidi, krom DST, ni ankaŭ preskribis IP-filtrilon. Alivorte, ni diris al la komputilo tiel ke kiam elektante pakojn, li atentis sian IP-adreson, kaj ne al aliaj parametroj.

IP povas esti filtrita kaj senditaj pakoj. En la ekzemplo, ni donos nian IP denove. Tio estas, nun ni spuras kiujn pakoj estas foriritaj de nia komputilo al aliaj adresoj. Por fari tion, vi devas ekzekuti la sekvan komandon:

Sudo tcpdump -i ppp0 ip src 10.0.6.67

Ekzemplo:

Ekzemplo de uzado de la SRC kaj IP-filtrilo en la TCPDUMP-komando en Linukso

Kiel vi povas vidi, en la komanda sintakso, ni ŝanĝis la DST-filtrilon sur la SRC, tiel rakontante al la aŭto serĉi la sendinton per IP.

Gastiga filtrado

Analoge kun IP en la teamo, ni povas specifi la gastigan filtrilon por kudri pakojn kun la gastiganto de intereso. Tio estas, en la sintakso, anstataŭ la IP-adreso de la sendinto / ricevanto, necesos indiki ĝian gastiganton. Ŝajnas ĉi tio:

Sudo tcpdump -i ppp0 dst gastiganto google-public-dns-a.google.com

Ekzemplo:

Ekzemplo de uzado de la DST kaj Gastiga Filtrilo en la TCPDUMP-komando en Linukso

En la bildo vi povas vidi, ke nur tiuj pakoj senditaj de nia IP en Google.com estas montritaj en la terminalo. Kiel mi povas kompreni, anstataŭ la gastiganto de Google, vi povas eniri iun alian.

Kiel en la kazo de filtrado per IP, en la DST-sintakso, vi povas anstataŭigi la SRC por vidi la pakaĵojn senditajn al via komputilo:

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

Noto: La gastiga filtrilo devas stari post DST aŭ SRC, alie la komando donos eraron. En la kazo de filtrado de IP, kontraŭe, DST kaj SRC staras antaŭ la IP-filtrilo.

Apliko kaj aŭ filtrilo

Se vi bezonas la bezonon uzi plurajn filtrilojn samtempe en la sama komando, tiam vi devas uzi la kaj aŭ filtrilon (dependas de la kazo). Punktaj filtriloj en la sintakso kaj apartigante ilin per ĉi tiuj operatoroj, vi "faru" labori ilin kiel unu. Pri la ekzemplo ĝi aspektas tiel:

Sudo tcpdumm -i ppp0 ip dst 95.47.144.254 aŭ IP SRC 95.47.144.254

Ekzemplo:

Ekzemplo de uzado de la filtrilo kaj aŭ en la TCPDUMP-komando en Linukso

De la sintakso de la komando, estas klare, ke ĉiuj pakoj senditaj al la "terminalo" estas montritaj sur la adreso 95.47.144.254 kaj pakoj akiritaj de la sama adreso. Vi ankaŭ povas ŝanĝi iujn variablojn en ĉi tiu esprimo. Ekzemple, anstataŭ IP, specifu gastiganton aŭ anstataŭigi la adresojn mem.

Haveno kaj Portrange Filtrilo

La haveno filtrilo estas perfekta en kazoj kie vi bezonas ricevi informojn pri pakoj kun specifa haveno. Do, se vi bezonas vidi nur respondojn aŭ DNS-petojn, vi devas specifi havenon 53:

Sudo tcpdump -vv -i ppp0 haveno 53

Ekzemplo:

Ekzemplo de uzado de la haveno filtrilo en la TCPDUMP-komando en Linukso

Se vi volas vidi HTTP-pakojn, vi devas eniri Havenon 80:

Sudo tcpdump -vv -i PPP0-haveno 80

Ekzemplo:

Ekzemplo de la apliko de la haveno filtrilo en la TCPDUMP-komando en Linukso

Interalie, eblas spuri la gamon de havenoj samtempe. Por ĉi tiu celo, la portugala filtrilo estas aplikita:

Sudo tcpdump porttrange 50-80

Ekzemplo de uzado de la portugala filtrilo en TCPDUMP-komando-sintakso en Linukso

Kiel vi povas vidi, en ligamento kun la portugala filtrilo, ne necesas specifi aldonajn opciojn. Nur nur starigu la teritorion.

Filtrado de protokoloj

Vi ankaŭ povas montri nur la trafikon, kiu korespondas al iu ajn protokolo. Por fari tion, uzu la nomon de ĉi tiu protokolo kiel filtrilo. Ni analizos pri la ekzemplo de UDP:

Sudo tcpdump -vvv -i ppp0 udp

Ekzemplo:

Ekzemplo de Filtrado TCPDUMP-komando pri Linuksa protokolo

Kiel vi povas vidi en la bildo, post ekzekuti la komandon en la terminalo, nur pakoj kun la UDP-protokolo aperis. Sekve, vi povas filtri kaj alia, ekzemple, ARP:

Sudo tcpdump -vvv -i ppp0 arp

aŭ TCP:

Sudo tcpdump -vvv -i ppp0 tcp

Pura Filtrilo

La pura operatoro helpas filtri la pakaĵojn per la nomado de ilia reto. I estas ankaŭ facile uzebla, kaj ankaŭ la ceteraj - vi bezonas specifi la puran atributon en la sintakso, tiam enigu la retan adreson. Jen ekzemplo de tia teamo:

Sudo tcpdump -i ppp0 reto 192.168.1.1

Ekzemplo:

Ekzemplo de filtrado TCPDUMP-komando al nomado en Linukso

Pako filtrado

Ni ne konsideris du pli interesajn filtrilojn: malpli kaj pli grandaj. De la tablo kun filtriloj, ni scias, ke ili servas por produkti datumajn pakaĵojn pli (malpli) aŭ malpli (pli granda) grandeco indikita post enigo de la atributo.

Supozu, ke ni volas sekvi nur la pakaĵojn, kiuj ne superas 50 bitojn, tiam la teamo havos la sekvan formon:

Sudo tcpdump -i ppp0 malpli 50

Ekzemplo:

Pako filtrado sur ilia grandeco filtrilo malpli en la TCPDUMP-komando en Linukso

Nun ni vidu la pakaĵojn en la terminalo, kies grandeco estas pli ol 50 bitoj:

Sudo tcpdump -i ppp0 pli granda 50

Ekzemplo:

Filtri pakaĵojn por ilia grandeco pli granda filtrilo en la TCPDUMP-komando en Linukso

Kiel vi povas vidi, ili estas aplikitaj egale, la diferenco estas nur en la nomo de la filtrilo.

Konkludo

Je la fino de la artikolo, ni povas konkludi, ke la teamo Tcpdump. - Ĉi tio estas bonega ilo kun kiu vi povas spuri iujn datumojn transdonitaj en la interreto. Sed por ĉi tio ne sufiĉas por simple eniri la ordonon mem en la "terminalon". Eblos atingi la deziratan rezulton nur se vi uzas ĉiajn opciojn kaj filtrilojn, same kiel iliajn kombinaĵojn.

Legu pli