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ā.
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.
- Saņemtās paketes laika zīmogs
- Saskarnes nosaukums
- Pakešu plūsma
- Tīkla protokola nosaukums
- IP adrese un porta informācija
- TCP karodziņi
- Datu kārtas numurs paketē
- Ack dati
- Loga izmērs
- 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.
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
- Linux
- Drošība
- Tīkla kriminālistika

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.
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.