Kā izmantot tcpdump, lai uzraudzītu mūsu tīklu

Satura rādītājs

Šajā apmācībā mēs redzēsim kā strādāt ar tcpdump. Tas ir atvērtā koda rīks komandrindai, tas tiek izmantots uzraudzīt tīklu, mēs to varam saprast kā pakešu analizatoru, kas iet caur tīklu, kurā jūs izpildāt programmu. To izmanto Unix vidēs, lai gan ir pieejams Windows variants ar nosaukumu WinDump. Jūs varētu interesēt EtherApe apmācība, kas ir rīks, lai grafiski redzētu mūsu tīkla statusu.

Apmācībā mēs strādāsim no Linux, īpaši Ubuntu 16.04, lai rīks darbotos, mums tas jāpalaiž ar augstām privilēģijām, izņemot dažas iespējas, kas būs nepieciešamas.

Mēs varam izmantot tcpdump dažādiem uzdevumiem, piemēram, atkļūdojot mūsu tīkla lietojumprogrammas, lasot datus, kas tiek nosūtīti starp lietotājiem tīklā, kurā mēs atrodamies, utt. Tās sintaksi mēs ievietosim zemāk:

 tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX #] [-B izmērs] [-c skaits] [-C faila izmērs] [-E kaut kas: noslēpums] [-F fails] [-G sekundes] [-i saskarne] [-j tstamptype] [- M noslēpums] [--numurs] [-Q ieeja | izeja | izeja] [-r fails] [-s snaplen] [-laika zīmoga precizitātes precizitāte] [-tūlītējs režīms] [-T tips] [ --versija] [-V fails] [-w fails] [-W failu skaits] [-y datu saites tips] [-z komanda] [-Z lietotājs] [izteiksme]
Šim rīkam ir liels skaits parametru, kurus mēs varam izmantot, šeit mēs redzēsim dažus.

Daži tcpdump parametri

  • -TO: Drukājiet iepakojumus ASCII kodā.
  • -x: Drukājiet paketes heksadecimālā.
  • -D: Parāda pieejamās saskarnes.
  • -c numurs: programma tiks aizvērta, kad būs notverts norādītais pakešu skaits.
  • -i interfeiss: programma klausās norādītajā saskarnē.
  • -Es: Ievieto interfeisu monitora režīmā.
  • -lpp: Tas nenovieto saskarni nejaušā režīmā.
  • -f fails: Izvade tiek saglabāta mūsu norādītajā failā.
  • -h: Parāda palīdzības lietošanu.

Ja mēs vēlamies redzēt visus pieejamos parametrus, Linux mēs izmantojam:

 cilvēks tcpdump
Šīs komandas izmantošana ir pilnīgāka nekā parametra piedāvātā palīdzība -h vai -palīdzēt, kas mums parādītu tikai sekojošo:

Mēs redzēsim 10 piemērus, lai sāktu šo spēcīgo rīku.

PiezīmeGandrīz visos piemēros jūs redzēsit, ka sudo tiek izmantots pirms tcpdump, kā jau minēts iepriekš, tas ir jāuzsāk ar augstām privilēģijām, ja jūs izmantojat termināli kā root, tad nekas nav jāliek tcpdump priekšā. Ja vēlaties pārtraukt uzņemšanu, varat kombinēt taustiņus:

CTRL + C

1. piemērs
Vienkāršākais piemērs, izmantojot parametru -TO. Šim nolūkam mēs izpildām:

 tcpdump -A

Apskatīsim piemēru ar nedaudz vairāk satura.

2. piemērs
Tagad mēs filtrēsim pēc resursdatora un pievienosim detalizētu režīmu ar parametru -v:

 sudo tcpdump resursdators 192.168.66.130 -v
Zemāk ir attēls, izmantojot iepriekš minēto komandu:

Attēlam esmu izveidojis ping no citas mašīnas, lai mēs varētu redzēt ICMP. Pāriesim pie trešā piemēra.

3. piemērs
Šajā piemērā mēs aplūkosim viena un tā paša resursdatora paketes, tikai šoreiz paketes, kas saistītas ar 80. portu:

 sudo tcpdump resursdators 192.168.66.130 un ports 80 -v
Ja paskatāmies uz uzņemšanu, mēs redzēsim kaut ko līdzīgu šim:

Jūs varat redzēt, cik viegli ir rīkoties ar šo rīku, turpināsim.

4. piemērs
Mēs izmantosim 3. piemēru un to modificēsim, mēs vēlamies filtrēt paketes ar izcelsmi 192.168.66.130, kas nonāk 80. portā:

 sudo tcpdump src resursdators 192.168.66.130 un dst ports 80 -v
Mēs redzam, ka esam izmantojuši nosacījumu, un, lai abi nosacījumi būtu izpildīti, mēs varam arī izmantot vai, ja vēlamies, lai tiktu izpildīts tikai viens no tiem. Ja paskatāmies uz ekrānuzņēmumiem, mēs redzam POST pieprasījumu.

Mēs pārietam pie piektā piemēra.

5. piemērs
Mēs uzņemsim paketes, kas norāda saskarni:

 sudo tcpdump -i ens33
PiezīmeJūsu saskarne, iespējams, ir eth0, to var redzēt ar komandu ifconfig, bet arī ar tcpdump parametru -D tas mums darbosies, mēs to redzēsim nākamajā piemērā.

Zemāk jūs varat redzēt uzņemšanas attēlu.

Ejam uz nākamo.

6. piemērs
Šajā piemērā vienīgais, ko mēs darīsim, ir parādīt pieejamās saskarnes, tāpēc mēs izpildām:

 tcpdump -D
Šajā gadījumā nav nepieciešams būt root.

Turpināsim.

7. piemērs
Mēs vēlamies uzņemt 3 paketes, kas paredzētas 1987. portam, un, kad tas notiek, pārtrauciet programmu:

 sudo tcpdump -c 3 dst ports 1987
Nākamajā attēlā var redzēt, ka ir notvertas tikai 3 paketes:

Apskatīsim vēl dažus piemērus.

8. piemērs
Kad mēs esam ieinteresēti iegūt visas tcp trafika paketes, kas nenonāk noteiktā ostā, piemēram, 80. portā, mēs izpildīsim sekojošo:

 sudo tcpdump nav ports 80 un tcp
Izeja ir līdzīga, tāpēc šajā piemērā uztveršana nav iestatīta. Apskatīsim priekšpēdējo piemēru.

9. piemērs
Mēs uzņemsim 2 konkrēta interfeisa paketes, un mēs tās parādīsim heksadecimālā formātā, lai to paveiktu:

 sudo tcpdump -i ens33 -x -c 2
Zemāk varat redzēt rezultātu:

Pāriesim pie apmācības pēdējā piemēra.

10. piemērs
Šajā piemērā mēs saglabāsim uztveršanu failā, lai to vēlāk apskatītu. Uzņemšana ir ierobežota līdz 3 paketēm, un ir norādīts interfeiss, tāpēc mēs izpildīsim:

 sudo tcpdump -w test.pcap -i ens33 -c 3
Apskatīsim ekrānuzņēmumu:

Ja mēs vēlamies izlasīt šo failu tagad, mums ir jāizpilda:

 tcpdump -r test.pcap
Mēs to varam redzēt šādā attēlā:

Tcpdump apmācība ir sasniegusi tik tālu, tai ir daudz iespēju un daudz iespēju, tāpēc, lai iemācītos labi rīkoties ar šo rīku, vislabāk ir pamazām praktizēties un atklāt visas tā funkcijas. Jums varētu būt interesanti arī kaut ko izlasīt par rīku netcat, tāpēc šeit ir saite uz apmācību ar piemēriem:

Kā lietot netcat

Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave