Linukso tcpdump ekzemploj

Pin
Send
Share
Send

Se vi bezonas analizi aŭ interkapti retajn pakaĵojn en Linukso, tiam plej bone estas uzi konzolan utilecon tcpdump. Sed la problemo ekestas per ĝia iom komplika administrado. Ŝajnas al la averaĝa uzanto, ke labori kun la utileco estas malkomforta, sed ĉi tio nur unuavide. La artikolo klarigos kiel tcpdump funkcias, kian sintakson ĝi havas, kiel uzi ĝin, kaj multnombraj ekzemploj de ĝia uzo estos donitaj.

Vidu ankaŭ: Gvidiloj por starigi interretan konekton en Ubuntu, Debian, Ubuntu-Servilo

Instalado

Plej multaj programistoj de Linukso-operaciaj sistemoj inkluzivas la tcpdump-utilecon en la listo de antaŭinstalitaj, sed se iu kialo ne estas en via distribuo, vi ĉiam povas elŝuti kaj instali ĝin per "Terminalo". Se via VIN baziĝas sur Debian, kaj ĉi tiuj estas Ubuntu, Linukso Mint, Kali Linukso kaj similaj, vi devas funkciigi ĉi tiun komandon:

sudo apt instali tcpdump

Kiam vi instalas, vi devas enigi pasvorton. Bonvolu noti, ke kiam oni markas, ĝi ne estas montrata, vi ankaŭ devas eniri D kaj alklaku Eniru.

Se vi havas Red Hat, Fedora aŭ CentOS, tiam la instala komando aspektos jene:

sudo yam instali tcpdump

Post kiam la utileco estas instalita, ĝi tuj povas esti uzata. Ĉi tio kaj multe pli estos diskutitaj poste en la teksto.

Vidu ankaŭ: PHP-Instala Gvidilo sur Ubuntu-Servilo

Sintakso

Kiel ajna alia ordono, tcpdump havas sian propran sintakson. Sciante lin, vi povas agordi ĉiujn necesajn parametrojn, kiujn oni atentos dum ekzekuto de la komando. La sintakso estas jena:

tcpdump-opcioj -i interfacaj filtriloj

Kiam vi uzas la komandon, vi devas specifi la interfacon por spurado. Filtriloj kaj elektoj estas laŭvolaj variabloj, sed ili permesas pli flekseblan agordadon.

Ebloj

Kvankam ne necesas indiki elekton, vi ankoraŭ bezonas listigi la disponeblajn. La tablo ne montras ilian tutan liston, sed nur la plej popularajn, sed ili pli ol sufiĉas por solvi la plej multajn taskojn.

EbloDifino
-APermesas ordigi pakojn kun formato ASCII
-lAldonas rulan funkcion.
-iPost eniro, vi devas precizigi la retan interfacon, kiu estos kontrolata. Por komenci monitori ĉiujn interfacojn, enigu la vorton "ajn" post la opcio
-cFinas la spuran procezon post kontrolado de la specifita nombro da paketoj
-wGeneras tekstodosieron kun konfirmraporto
-eMontras nivelon de interreta konekto de datumoj
-LVidigas nur tiujn protokolojn, kiujn la specifita reto-interfaco subtenas.
-CKrei alian dosieron dum paka registrado se ĝia grandeco estas pli granda ol la specifita
-rMalfermas legodosieron kreitan per la opcio -w
-jFormato TimeStamp estos uzata por registri pakaĵojn
-JPermesas vin vidi ĉiujn disponeblajn formatojn de TimeStamp
-GServas por krei protokolan dosieron. La opcio ankaŭ postulas provizoran valoron, post kiu nova ŝtipo estos kreita
-v, -vv, -vvvDepende de la nombro de signoj en la opcio, la eligo de la komando fariĝos pli detala (la kresko estas rekte proporcia al la nombro de signoj)
-fLa eligo montras la domajnan nomon de IP-adresoj
-FPermesas legi informon ne de la reta interfaco, sed de la specifita dosiero
-DPruvas ĉiujn retajn interfacojn uzeblajn.
-nMalaktivas la montradon de domaj nomoj
-ZSpecifas la uzanton sub kies konto ĉiuj dosieroj estos kreitaj.
-KSalta Analizo de Ŝako
-qResuma Spektaklo
-HDetektas kapojn de 802.11s
-MiUzita kiam kaptado de paketoj en monitora reĝimo

Ekzameninte la elektojn, iom pli malaltaj ni iros rekte al iliaj aplikoj. Intertempe oni konsideros filtrilojn.

Filtriloj

Kiel dirite en la komenco de la artikolo, vi povas aldoni filtrilojn al la tcpdump-sintakso. Nun la plej populara el ili estos konsiderata:

FiltriloDifino
gastigantoSpecifas la gastigilon
retoIndikas IP-subretojn kaj retojn
ipSpecifas la protokolan adreson
srcMontras pakaĵojn kiuj estis senditaj de la specifita adreso
dstMontras pakaĵojn ricevitajn de la specifita adreso
arp, udp, tcpFiltrilo laŭ unu el la protokoloj
havenoMontras informojn rilatajn al specifa haveno
kaj, aŭKombinas plurajn filtrilojn komande.
malpli grandaEllasitaj pakaĵoj pli malgrandaj aŭ pli grandaj ol la specifita grandeco

Ĉiuj ĉi-supraj filtriloj povas esti kombinitaj unu kun la alia, do en la eldono de la komando vi nur vidos la informojn, kiujn vi volas vidi. Por kompreni pli detale la uzon de la supraj filtriloj, indas doni ekzemplojn.

Vidu ankaŭ: Ofte Uzataj Komandoj en la Linuksa Terminalo

Uzaj Ekzemploj

Ofte uzataj sintakso por la komando tcpdump nun estos montritaj. Ĉiuj ili ne povas esti listigitaj, ĉar povas esti senfina nombro de iliaj variaĵoj.

Vidu liston de interfacoj

Estas rekomendinde, ke ĉiu uzanto komence kontrolu la liston de ĉiuj siaj retaj interfacoj, kiujn oni povas spuri. El la supra tabelo ni scias, ke por tio vi devas uzi la opcion -D, do en la fina stacio, ekzekutu la jenan komandon:

sudo tcpdump -D

Ekzemplo:

Kiel vi povas vidi, la ekzemplo havas ok interfacojn videblajn per la komando tcpdump. La artikolo provizos ekzemplojn per ppp0Vi povas uzi iun alian.

Normala kaptado de trafiko

Se vi bezonas spuri unu retan interfacon, vi povas fari tion per la opcio -i. Ne forgesu enmeti la nomon de la interfaco post eniri ĝin. Jen ekzemplo de tia ordono:

sudo tcpdump -i ppp0

Bonvolu noti: antaŭ la komando vi devas eniri "sudo", ĉar ĝi postulas rajtojn de superusanto.

Ekzemplo:

Noto: post premi Enter en la "Terminalo", interkaptitaj pakaĵoj aperos konstante. Por ĉesigi ilian fluon, vi devas premi la klavkombinon Ctrl + C.

Se vi ekzekutas la komandon sen aldonaj opcioj kaj filtriloj, vi vidos la sekvan formaton por montri monitoritajn pakaĵojn:

22: 18: 52.597573 IP vrrp-topf2.p.mail.ru.https> 10.0.6.67.35482: flagoj [P.], sek. 1: 595, ack 1118, gajnu 6494, opcioj [nop, nop, TS val 257060077 ecr 697597623], longeco 594

Kie la koloro estas emfazita:

  • blua - la tempo por ricevi la pakaĵon;
  • oranĝa - protokola versio;
  • verda - sendanto-adreso;
  • violo - la adreso de la adresato;
  • griza - aldonaj informoj pri tcp;
  • ruĝa - grandeco de paketoj (montrita en bajtoj).

Ĉi tiu sintakso havas la eblecon montri en fenestro. "Terminalo" sen uzi aldonajn eblojn.

Trafika kaptado kun la opcio -v

Kiel oni scias de la tablo, la opcio -v permesas pliigi la kvanton da informoj. Ni prenu ekzemplon. Kontrolu la saman interfacon:

sudo tcpdump -v -i ppp0

Ekzemplo:

Jen vi povas vidi, ke la sekva linio aperis en la eligo:

IP (tos 0x0, ttl 58, id 30675, kompensas 0, flagoj [DF], proto TCP (6), longeco 52

Kie la koloro estas emfazita:

  • oranĝa - protokola versio;
  • blua - protokola vivdaŭro;
  • verda - la longo de la kampa kaplinio;
  • purpura - tcp-paka versio;
  • ruĝa - grandeco de paketo.

Ankaŭ en la komanda sintakso vi povas skribi opcion -vv-vvv, kiu plue pliigos la kvanton da informoj montritaj sur la ekrano.

Eblo -w kaj -r

La tabelo pri opcioj menciis la eblon konservi la tutan eliron en apartan dosieron, por ke vi povu poste vidi ĝin. La opcio respondecas pri ĉi tio. -w. Uzi ĝin estas sufiĉe simpla, nur specifu ĝin en la komando, kaj tiam enigu la nomon de la estonta dosiero kun la etendo ".pcap". Ni rigardu ekzemplon:

sudo tcpdump -i ppp0 -w file.pcap

Ekzemplo:

Bonvolu noti: dum skribado de ŝtipoj al dosiero, neniu teksto aperas sur la ekrano "Terminalo".

Kiam vi volas vidi la registritan eliron, vi devas uzi la opcion -r, post kio skribu la nomon de la antaŭe registrita dosiero. Ĝi estas uzata sen aliaj opcioj kaj filtriloj:

sudo tcpdump -r file.pcap

Ekzemplo:

Ambaŭ ĉi tiuj elektoj bonas en kazoj, kie vi devas ŝpari grandajn kvantojn de teksto por posta analizado.

IP-Filtrado

El la filtrila tablo ni scias tion dst permesas al vi aperigi sur la konzola ekrano nur tiujn pakaĵojn ricevitajn de la adreso specifita en la komanda sintakso. Tiel, estas tre oportune vidi la pakaĵojn ricevitajn de via komputilo. Por fari tion, la teamo nur bezonas precizigi sian IP-adreson:

sudo tcpdump -i ppp0 ip dst 10.0.6.67

Ekzemplo:

Kiel vi povas vidi, krom dst, ni ankaŭ registris filtrilon en la teamo ip. Alivorte, ni diris al la komputilo, ke elektinte pakaĵojn, ĝi atentos ilian IP-adreson, kaj ne al aliaj parametroj.

Per IP, vi ankaŭ povas filtri elirantajn pakaĵojn. Ni donos nian IP-on denove en la ekzemplo. Tio estas, nun ni spuros, kiuj pakaĵoj sendiĝas de nia komputilo al aliaj adresoj. Por fari tion, ekzekutu la jenan komandon:

sudo tcpdump -i ppp0 ip src 10.0.6.67

Ekzemplo:

Kiel vi povas vidi, en la komanda sintakso ni ŝanĝis la filtrilon dst sur src, tial diris al la maŝino serĉi sendilon super IP.

HOST Filtrado

Analogie kun IP en la komando, ni povas specifi filtrilon gastigantofiltri pakaĵojn kun la gastiganto. Tio estas, ke en la sintakso, anstataŭ la IP-adreso de la sendanto / ricevilo, vi bezonos precizigi ĝian gastiganton. Ĝi aspektas jene:

sudo tcpdump -i ppp0 dst host google-public-dns-a.google.com

Ekzemplo:

En la bildo vi povas vidi tion en "Terminalo" nur tiuj pakaĵoj senditaj de nia IP al google.com-gastiganto estas montritaj. Kiel vi povas kompreni, anstataŭ la google-gastiganto, vi povas eniri iun ajn alian.

Kiel ĉe IP-filtrado, la sintakso dst anstataŭeblas per srcPor vidi la pakojn senditajn al via komputilo:

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

Notu: la gastiganta filtrilo devas esti post dst aŭ src, alie la komando ĵetos eraron. Kaze de filtrado per IP, kontraŭe, dst kaj src estas antaŭ la ip-filtrilo.

Aplikante la kaj kaj aŭ filtrilon

Se vi bezonas uzi plurajn filtrilojn samtempe, tiam vi devas apliki filtrilon kaj (dependas de la kazo) Specifante filtrilojn en la sintakso kaj disigante ilin kun ĉi tiuj telefonistoj, vi igos ilin funkcii kiel unu. Ekzemple, ĝi aspektas tiel:

sudo tcpdump -i ppp0 ip dst 95.47.144.254 aŭ ip src 95.47.144.254

Ekzemplo:

La komanda sintakso montras tion, kion ni volas aperigi "Terminalo" ĉiuj pakaĵoj, kiuj estis senditaj al la adreso 95.47.144.254 kaj pakaĵoj ricevitaj de la sama adreso. Vi ankaŭ povas ŝanĝi iujn variablojn en ĉi tiu esprimo. Ekzemple, anstataŭ IP, indiku HOST aŭ rekte anstataŭigu la adresojn mem.

Haveno kaj aranĝa filtrilo

Filtrilo haveno perfekta en kazoj, kie vi bezonas akiri informojn pri pakaĵoj kun specifa haveno. Do, se vi nur bezonas vidi respondojn aŭ demandojn pri DNS, vi devas precizigi la havenon 53:

sudo tcpdump -vv -i ppp0 haveno 53

Ekzemplo:

Se vi volas vidi http-pakaĵojn, vi devas eniri la havenon 80:

sudo tcpdump -vv -i ppp0 haveno 80

Ekzemplo:

Inter aliaj eblas tuj spuri la gamon de havenoj. Filtro aplikas ĉi tion. aranĝi:

sudo tcpdump portrange 50-80

Kiel vi povas vidi, kune kun la filtrilo aranĝi laŭvolaj opcioj estas bezonataj. Nur agordi la intervalon.

Protokola Filtrado

Vi ankaŭ povas montri nur trafikon kiu kongruas kun iu ajn protokolo. Por fari tion, uzu la nomon de ĉi tiu protokolo kiel filtrilon. Ni rigardu ekzemplon udp:

sudo tcpdump -vvv -i ppp0 udp

Ekzemplo:

Kiel vi povas vidi en la bildo, post ekzekuto de la komando en "Terminalo" nur pakaĵoj kun la protokolo estis montritaj udp. Laŭe vi povas filtri laŭ aliaj, ekzemple, arp:

sudo tcpdump -vvv -i ppp0 arp

ĉp:

sudo tcpdump -vvv -i ppp0 tcp

Neta filtrilo

Funkciigisto reto helpas filtri pakaĵojn surbaze de ilia reta nomado. Uzado de ĝi estas tiel simpla kiel la resto - vi devas precizigi atributon en la sintakso reto, tiam enigu la retan adreson. Jen ekzemplo de tia ordono:

sudo tcpdump -i ppp0 net 192.168.1.1

Ekzemplo:

Filtrilo de pakaĵoj

Ni ne konsideris du pli interesajn filtrilojn: malpli kaj pli granda. De la tablo kun filtriloj, ni scias, ke ili utilas por elsendi datumajn pakaĵojn pli (malpli) aŭ malpli (pli granda) la grandeco specifita post eniro de la atributo.

Supozu, ke ni volas monitori nur pakaĵojn, kiuj ne superas la 50-bitan markon, tiam la komando aspektos jene:

sudo tcpdump -i ppp0 malpli 50

Ekzemplo:

Nun ni montru "Terminalo" pakaĵoj pli grandaj ol 50 bitoj:

sudo tcpdump -i ppp0 pli granda 50

Ekzemplo:

Kiel vi povas vidi, ili aplikas same, la sola diferenco estas 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 per kiu vi povas spuri ajnajn datumajn pakaĵojn transdonitajn per interreto. Sed por tio ne sufiĉas nur enmeti la komandon mem "Terminalo". La dezirata rezulto estos akirita nur se vi uzas ĉiuspecajn eblojn kaj filtrilojn, kaj ankaŭ iliajn kombinaĵojn.

Pin
Send
Share
Send