Vai jūs mēģināt uztvert datu paketes, lai analizētu trafiku savā tīklā? Varbūt jūs esat servera administrators, kurš uzdūrās problēmai un vēlas uzraudzīt tīklā pārsūtītos datus. Neatkarīgi no situācijas, tcpdump Linux lietderība ir tā, kas jums nepieciešama.

Šajā rakstā mēs detalizēti apspriedīsim komandu tcpdump, kā arī dažas rokasgrāmatas par to, kā instalēt un izmantot tcpdump savā Linux sistēmā.

Kas ir komanda tcpdump?

Tcpdump ir spēcīgs tīkla uzraudzības rīks, kas ļauj lietotājam efektīvi filtrēt paketes un datplūsmu tīklā. Jūs varat iegūt detalizētu informāciju par TCP / IP un tīklā pārsūtītajām paketēm. Tcpdump ir komandrindas lietderība, kas nozīmē, ka jūs varat to palaist Linux serveros bez displeja.

Sistēmas administratori var arī integrēt tcpdump lietderību ar krons lai automatizētu dažādus uzdevumus, piemēram, mežizstrādi. Tā kā tā daudzās funkcijas padara to diezgan universālu, tcpdump darbojas kā problēmu novēršana, kā arī drošības rīks.

Kā instalēt tcpdump Linux

Lai gan lielākoties tcpdump atradīsit iepriekš instalētu savā sistēmā, daži Linux izplatījumi netiek piegādāti kopā ar paketi. Tādēļ, iespējams, jums būs manuāli jāinstalē lietderība savā sistēmā.

instagram viewer

Jūs varat pārbaudīt, vai tcpdump ir instalēts jūsu sistēmā, izmantojot kas komandu.

kas tcpdump

Ja izvadē tiek parādīts direktorijas ceļš (/usr/bin/tcpdump), tad jūsu sistēmā ir instalēta pakotne. Tomēr, ja nē, to varat viegli izdarīt, izmantojot noklusējuma pakotņu pārvaldnieku savā sistēmā.

Lai instalētu tcpdump Debian balstītos izplatījumos, piemēram, Ubuntu:

sudo apt-get install tcpdump

Arī tcpdump instalēšana CentOS ir vienkārša.

sudo yum instalēt tcpdump

Par arhīvu izplatījumiem:

sudo pacman -S tcpdump

Lai instalētu vietnē Fedora:

sudo dnf instalējiet tcpdump

Ņemiet vērā, ka pakete tcpdump ir nepieciešama libcap kā atkarību, tāpēc noteikti instalējiet to arī savā sistēmā.

Tcpdump piemēri tīkla pakešu tveršanai Linux

Tagad, kad esat veiksmīgi instalējis tcpdump Linux mašīnā, ir pienācis laiks uzraudzīt dažas paketes. Tā kā, lai veiktu lielāko daļu darbību, tcpdump ir nepieciešamas lietotāja tiesības, jums tā būs jāpievieno sudo uz jūsu komandām.

1. Uzskaitiet visas tīkla saskarnes

Lai pārbaudītu, kuras tīkla saskarnes ir pieejamas tveršanai, izmantojiet -D karodziņš ar komandu tcpdump.

tcpdump -D

Iet garām - saraksta saskarnes karogs kā arguments atgriezīs to pašu rezultātu.

tcpdump - list-interface

Izeja būs visu tīkla saskarņu saraksts, kas atrodas jūsu sistēmā.

Pēc tīkla saskarņu saraksta iegūšanas ir pienācis laiks uzraudzīt savu tīklu, tverot paketes savā sistēmā. Lai gan jūs varat norādīt, kuru interfeisu vēlaties izmantot, jebkurš Arguments komandām tcpdump, lai tvertu tīkla paketes, izmantojot jebkuru aktīvo saskarni.

tcpdump - saskarne jebkura

Sistēma parādīs šādu izvadi.

Saistīts: Kāds ir atvērto sistēmu starpsavienojuma modelis?

2. Tcpdump izvades formāts

Sākot no trešās rindas, katra izvades rinda apzīmē konkrētu pakešu, ko uztver tcpdump. Lūk, kā izskatās vienas paketes izvade.

17: 00: 25.369138 wlp0s20f3 Out IP localsystem.40310> kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196: 568, ack 1, win 309, options [nop, nop, TS val 117964079 ecr 816509256], garums 33

Paturiet prātā, ka ne visas paketes tiek tvertas šādā veidā, bet lielākoties tās ir vispārīgais formāts.

Rezultātā ir šāda informācija.

  1. Saņemtās paketes laika zīmogs
  2. Saskarnes nosaukums
  3. Pakešu plūsma
  4. Tīkla protokola nosaukums
  5. IP adrese un porta informācija
  6. TCP karodziņi
  7. Datu kārtas numurs paketē
  8. Ack dati
  9. Loga izmērs
  10. Iepakojuma garums

Pirmais lauks (17:00:25.369138) parāda laika zīmogu, kad sistēma nosūtīja vai saņēma paketi. Reģistrētais laiks tiek iegūts no jūsu sistēmas vietējā laika.

Otrais un trešais lauks apzīmē izmantoto saskarni un pakešu plūsmu. Iepriekš esošajā fragmentā wlp0s20f3 ir bezvadu saskarnes nosaukums un Ārā ir pakešu plūsma.

Ceturtajā laukā ir informācija, kas saistīta ar tīkla protokola nosaukumu. Parasti jūs atradīsit divus protokolus - IP un IP6, kur IP apzīmē IPV4 un IP6 ir IPV6.

Nākamajā laukā ir IP adreses vai avota un mērķa sistēmas nosaukums. IP adresēm seko porta numurs.

Sestais izvades lauks sastāv no TCP karodziņiem. Tcpdump izvadē tiek izmantoti dažādi karodziņi.

Karoga nosaukums Vērtība Apraksts
SYN S Savienojums ir izveidots
FIN F Savienojums ir pabeigts
PUSH P Dati tiek virzīti
RST R Savienojums ir atiestatīts
ACK . Pateicība

Izejā var būt arī vairāku TCP karodziņu kombinācija. Piemēram, VĀRSTS [f.] apzīmē FIN-ACK paketi.

Pārejot tālāk izvades fragmentā, nākamajā laukā ir kārtas numurs (196: 568) datu paketē. Pirmajai paketei vienmēr ir pozitīva vesela skaitļa vērtība, un nākamās paketes izmanto relatīvo kārtas numuru, lai uzlabotu datu plūsmu.

Nākamajā laukā ir apstiprinājuma numurs (ack 1) vai vienkāršs Ack numurs. Sūtītāja iekārtā uztvertā pakete kā apstiprinājuma numurs ir 1. Uztvērēja galā Ack numurs ir nākamās paketes vērtība.

Devītais izvades lauks uzņem loga izmēru (uzvar 309), kas ir saņemošo buferī pieejamo baitu skaits. Ir vairāki citi lauki, kas seko loga izmēram, tostarp maksimālais segmenta lielums (MSS).

Pēdējais lauks (33. garums) satur tcpdump tvertās kopējās paketes garumu.

3. Ierobežojiet uzņemto pakešu skaitu

Pirmo reizi palaižot komandu tcpdump, iespējams, pamanīsit, ka sistēma turpina tvert tīkla paketes, līdz jūs nododat pārtraukuma signālu. Jūs varat ignorēt šo noklusējuma darbību, iepriekš norādot to pakešu skaitu, kuras vēlaties tvert, izmantojot -c karogu.

tcpdump - saskarne ar jebkuru -c 10

Iepriekš minētā komanda uztvers desmit paketes no jebkura aktīvā tīkla interfeisa.

4. Filtrējiet paketes, pamatojoties uz laukiem

Kad novēršat problēmu, liela termināla teksta izvades bloku iegūšana to neatvieglo. Tur tiek parādīta tcpdump filtrēšanas funkcija. Jūs varat filtrēt paketes atbilstoši dažādiem laukiem, ieskaitot resursdatoru, protokolu, porta numuru un daudz ko citu.

Lai tvertu tikai TCP paketes, ierakstiet:

tcpdump - saskarne ar jebkuru -c 5 tcp

Līdzīgi, ja vēlaties filtrēt izvadi, izmantojot porta numuru:

tcpdump - saskarne ar jebkuru -c 5 portu 50

Iepriekš minētā komanda izgūs tikai paketes, kas pārsūtītas caur norādīto portu.

Lai iegūtu detalizētu informāciju par konkrētu resursdatoru, rīkojieties šādi:

tcpdump - saskarne ar jebkuru -c 5 resursdatoru 112.123.13.145

Ja vēlaties filtrēt paketes, kuras nosūtījis vai saņēmis noteikts resursdators, izmantojiet src vai dst arguments ar komandu.

tcpdump - jebkura -c 5 src saskarne 112.123.13.145
tcpdump - jebkuras saskarnes -c 5 dst 112.123.13.145

Varat arī izmantot loģiskos operatorus un un vai apvienot divus vai vairākus izteicienus kopā. Piemēram, lai iegūtu paketes, kas pieder avota IP 112.123.13.145 un izmantojiet portu 80:

tcpdump - saskarne -c 10 src 112.123.13.145 un ports 80

Sarežģītas izteiksmes var sagrupēt, izmantojot iekavas sekojoši:

tcpdump - saskarne jebkurš -c 10 "(src 112.123.13.145 vai src 234.231.23.234) un (45. vai 80. ports)"

5. Skatiet pakešu saturu

Jūs varat izmantot -A un -x karodziņi ar komandu tcpdump, lai analizētu tīkla paketes saturu. The -A karogs apzīmē ASCII formāts un -x apzīmē sešpadsmitais formātā.

Lai skatītu nākamās sistēmas uztvertās tīkla paketes saturu:

tcpdump - saskarne jebkurš -c 1 -A
tcpdump - saskarne ar jebkuru -c 1 -x

Saistīts: Kas ir pakešu zudums un kā novērst tā cēloni?

6. Saglabājiet uzņemšanas datus failā

Ja vēlaties saglabāt uztveršanas datus atsauces nolūkiem, tcpdump ir pieejams, lai jums palīdzētu. Vienkārši iet garām -w karodziņš ar noklusējuma komandu, lai izvadi ierakstītu failā, nevis parādītu to ekrānā.

tcpdump - saskarne ar jebkuru -c 10 -w data.pcap

The .pcap faila paplašinājums nozīmē pakešu uztveršana dati. Iepriekšminēto komandu varat arī izdot daudzveidīgā režīmā, izmantojot -v karogu.

tcpdump - saskarne -c 10 -w data.pcap -v

Lai lasītu a .pcap failu, izmantojot tcpdump, izmantojiet -r karodziņš, kam seko faila ceļš. The -r apzīmē Lasīt.

tcpdump -r data.pcap

Tīkla paketes var filtrēt arī no failā saglabātajiem pakešdatiem.

tcpdump -r data.pcap 80. ports

Tīkla trafika uzraudzība operētājsistēmā Linux

Ja jums ir piešķirts Linux servera administrēšanas uzdevums, tad komanda tcpdump ir lielisks rīks, ko iekļaut savā arsenālā. Jūs varat viegli novērst ar tīklu saistītas problēmas, reāllaikā tverot tīklā pārraidītās paketes.

Bet pirms visa tā jūsu ierīcei jābūt savienotai ar internetu. Linux iesācējiem pat savienojums ar Wi-Fi, izmantojot komandrindu, var būt nedaudz sarežģīts. Bet, ja izmantojat pareizos rīkus, tas ir vienkārši.

E-pasts
Kā izveidot savienojumu ar Wi-Fi, izmantojot Linux termināli ar Nmcli

Vai vēlaties izveidot savienojumu ar Wi-Fi tīklu, izmantojot Linux komandrindu? Lūk, kas jums jāzina par komandu nmcli.

Lasiet Tālāk

Saistītās tēmas
  • Linux
  • Drošība
  • Tīkla kriminālistika
Par autoru
Deepesh Sharma (Publicēti 37 raksti)

Deepesh ir MUO Linux jaunākais redaktors. Viņš ir rakstījis informatīvo saturu internetā vairāk nekā 3 gadus. Brīvajā laikā viņam patīk rakstīt, klausīties mūziku un spēlēt ģitāru.

Vairāk no Deepesh Sharma

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.