Linux-тегі TCPDump мысалдары

Anonim

Linux-тегі TCPDump мысалдары

Егер Linux жүйесінде желілік пакеттерді талдау немесе ұстап алу қажет болса, ол үшін консоль утилитасын қолданған дұрыс. Tcpdump. . Бірақ мәселе күрделі басқаруда туындайды. Қарапайым пайдаланушы утилита ыңғайсыз болып көрінетін сияқты, бірақ ол тек бір қарағанда ғана. Мақалада TCPDump қалай ұйымдастырылғанын, қай синтаксисті пайдалану керектігін, оны қалай пайдалануға болатындығын және оны пайдаланудың көптеген мысалдары ұсынылады.

Оқыңыз Сонымен қатар: Ubuntu, Debian, Ubuntu серверіндегі Интернетке қосылу нұсқаулықтары

Құру

Linux амалдық жүйелерінің ең әзірлеушілерінің көпшілігі TCPDump қызметтік бағдарламасына алдын-ала орнатылған тізімге енгізілген, бірақ егер сіз қандай да бір себептермен ол сіздің таратуыңызда жоқ болса, оны әрдайым жүктеп, оны терминал арқылы орната аласыз. Егер сіздің ОЖ Debian-ге негізделген болса, және бұл Ubuntu, Linux жалбызы, Кали Линуx және олардың сияқты, сіз осы пәрменді орындауыңыз керек:

Sudo APT орнату TCPDOMP

Орнатқан кезде парольді енгізу керек. Көрсетілмеген кезде, ол көрсетілмейді, сонымен қатар орнатуды растау үшін, «D» таңбасын енгізу керек және Enter пернесін басыңыз.

Егер сізде қызыл шляпалар, федора немесе цент болса, онда қондырғы тобы келесі формада болады:

Sudo yam install tcpdump

Утилита орнатылғаннан кейін оны дереу қолдана алады. Бұл туралы және басқа да көптеген нәрселер мәтін бойынша айтылады.

Сонымен қатар оқыңыз: Ubuntu серверіндегі PHP орнату нұсқаулығы

Синтаксис

Кез келген басқа команда сияқты, TCPdump-тің өзіндік синтаксисі бар. Мұны білу, сіз пәрменді орындау кезінде ескерілетін барлық қажетті параметрлерді орната аласыз. Синтаксис келесідей:

TCPdump параметрлері --i сүзгі интерфейсі

Пәрменді пайдалану кезінде сіз бақылау үшін интерфейсті көрсетуіңіз керек. Сүзгілер мен опциялар міндетті айнымалылар емес, бірақ олар сізге икемді параметрлерді орындауға мүмкіндік береді.

Опциялар

Ең болмағанда опция міндетті түрде көрсетілмейді, сізге әлі де тізім болуы керек. Кесте өз тізімінің барлығын көрсетпейді, бірақ ең танымал, бірақ олар көптеген тапсырмаларды шешуге жеткілікті.
Талғау Анықтама
-А. Пакеттерді ASCII форматын сұрыптауға мүмкіндік береді
-Л. Айналдыру функциясын қосады
-I. Кіргеннен кейін сіз бақыланатын желілік интерфейсті көрсетуіңіз керек. Барлық интерфейстерді бақылауды бастау үшін, опциядан кейін «Кез келген» сөзін енгізіңіз.
-C. Көрсетілген бумалар санын тексергеннен кейін бақылау процесін аяқтайды
-w. Тексеру есебімен мәтіндік файл жасайды
-Э. Интернетке қосылу бумасының деңгейін көрсетеді
-Л. Көрсетілген желілік интерфейсті қолдайтын протоколдарды ғана көрсетеді
-C. Егер оның өлшемі көрсетілгеннен үлкен болса, пакетті жазу кезінде басқа файл жасайды
-Р. Оқылған оқу файлын -w опциясын пайдаланып ашады.
-Ж. Таймсмам форматы пакеттерді жазу үшін пайдаланылады
-Ж. Барлық қол жетімді уақыт белгісі форматтарын көруге мүмкіндік береді.
-Г. Бөренелермен файл жасау үшін қолданылады. Опция сонымен қатар уақыт мәні туралы нұсқауларды талап етеді, содан кейін жаңа журнал жасалады.
-V, -vv,-vvv Опциядағы таңбалар санына байланысты пәрмен шығару толығырақ болады (көбейту таңбалар санына тікелей пропорционал)
-ф. Шығаруда IP мекенжайы доменінің атауы көрсетілген
-Ф. Сізге желілік интерфейстен емес, көрсетілген файлдан ақпаратты оқуға мүмкіндік береді
-D. Қолдануға болатын барлық желілік интерфейстерді көрсетеді
-Н. Домен атауларының дисплейін ажыратады
-Z. Барлық файлдар жасалатын есептік жазбаның астындағы пайдаланушыны анықтайды.
-К. Тест талдауын өткізіп жіберіңіз
-К. Қысқаша ақпарат көрсету
-H. 802.11s тақырыптарын анықтауға мүмкіндік береді
-I. Монитор режимінде пакеттерді түсіру кезінде қолданылады

Опцияларды бұзғаннан кейін, төменде біз олардың қосымшаларына тікелей ауысамыз. Осы уақытта сүзгілер қаралады.

Сүзгілер

Мақаланың басында айтылғандай, сіз TCPdump синтаксисіне сүзгілерді қоса аласыз. Қазір олардың ішіндегі ең танымал болып саналады:

Сүзу Анықтама
Хост. Хосттың атын көрсетуге қызмет етеді
нетто. IP ішкі желісі мен желісін анықтайды
IP. Хаттаманың мекен-жайын көрсету үшін қолданылады
СҒК Көрсетілген мекен-жайдан жіберілген бумаларды көрсетеді.
Десба Көрсетілген мекен-жай бойынша алынған бумаларды көрсетеді.
ARP, UDP, TCP Хаттаманың бірімен сүзу
Порт. Белгілі бір портқа қатысты ақпаратты көрсетеді
және, немесе Командадағы бірнеше сүзгілерді біріктіруге қызмет етеді
Аз, үлкен Топтаманың шығуы аз немесе одан да көп мөлшерде

Жоғарыда аталған барлық сүзгілерді бір-бірімен біріктіруге болады, сондықтан командалық шығарылымда сіз көргіңіз келетін ақпаратты ғана көресіз. Жоғарыда аталған сүзгілерді пайдалану туралы толығырақ түсіну үшін мысалдардың жетекші болуы керек.

Сондай-ақ қараңыз: Linux терминалындағы жиі қолданылатын командалар

Пайдалану мысалдары

Жиі қолданылатын TCPDump командалық синтаксис опциялары енді көрсетіледі. Оларды тізімдеуге болмайды, өйткені олардың өзгеруі шексіз жиынтық болуы мүмкін.

Интерфейстер тізімін қараңыз

Бастапқыға қол жеткізуге болатын барлық желілік интерфейстердің тізімін бастапқыда тексеру ұсынылады. Жоғарыдағы кестеден біз бұл үшін -D -D нұсқасын пайдалану керек екенін білеміз, сондықтан терминалда келесі пәрменді іске қосыңыз:

Sudo tcpdump -d.

Мысал:

Linux жүйесінде D опциясы бар TCPDump пәрменін орындаңыз

Сіз байқағаныңыздай, мысалда TCPDump командасын қолдана отырып, көруге болатын сегіз интерфейс бар. Мақалаға PPP0 мысалдары беріледі, сіз кез-келген басқа қолдана аласыз.

Қалыпты трафикті түсіру

Егер сізге бір желілік интерфейсті бақылау қажет болса, сіз мұны «-I» опциясын қолдана аласыз. Оған кіргеннен кейін интерфейс атауын енгізуді ұмытпаңыз. Мұндай команданың орындалуының мысалы:

Sudo tcpdump -i PPP0

Назар аударыңыз: Пәрменнің алдында сіз «SURO» -ге кіруіңіз керек, өйткені ол суперусердің құқығынан талап етеді.

Мысал:

TCPDump пәрменін қолдана отырып, желілік интерфейс трафигін көрсетудің мысалы, опциялар мен сүзгілерді пайдаланбастан

ЕСКЕРТПЕ: «Терминал» жүйесінде Enter пернесін басқаннан кейін ұсталған пакеттер үздіксіз болады. Олардың ағындарын тоқтату үшін Ctrl + C пернелер тіркесімін басу керек.

Егер сіз қосымша опцияларсыз және сүзгілерсіз пәрменді орындасаңыз, бақыланатын пакеттер үшін келесі дисплей пішімін көресіз:

22: 18: 52.597573 IP VRRP-TOPF2.RU.P.MAM.HTPS> 10.0.6.67.35482: жалаушалар [10.0.6.67.35482: жалаулар [P.], seq 1: 595, ACK 1118, RIN 6494, Опциялар [NOP, NOP, TS VAL 257060077 ECR 697597623], ұзындығы 594

Түсі бөлінген жерде:

  • көк - пакетті алу уақыты;
  • Қызғылт сары - Хаттаманың нұсқасы;
  • Жасыл - жіберушінің мекен-жайы;
  • Күлгін - алушының мекен-жайы;
  • Сұр - TCP туралы қосымша ақпарат;
  • Қызыл - пакеттің мөлшері (байтта көрсетілген).

Бұл синтаксис қосымша опцияларды пайдаланбай «Терминал» терезесінде шығу мүмкіндігі бар.

Трафикті түсіру арқылы

Кестеден білетіндей, -V опциясы ақпарат көлемін ұлғайтуға мүмкіндік береді. Мысалда біз талдаймыз. Сол интерфейсті тексеріңіз:

Sudo tcpdump -v -i ppp0

Мысал:

Linux-та -v опциясын қолдана отырып, TCPDump пәрменін қолдана отырып, желілік интерфейс трафигін көрсету мысалы

Мұнда сіз келесі жолдың шығыста пайда болғанын көре аласыз:

IP (TOS 0x0, TTL 58, ID 30675, Offset 0, жалаулар [DF], Proto TCP (6), ұзындығы 52

Түсі бөлінген жерде:

  • Қызғылт сары - Хаттаманың нұсқасы;
  • көк - хаттаманың өмір сүру ұзақтығы;
  • Жасыл - өріс тақырыбының ұзындығы;
  • Күлгін - TCP пакетінің нұсқасы;
  • Қызыл - пакеттің мөлшері.

Сондай-ақ, команданың синтаксисінде сіз экранда көрсетілген ақпарат көлемін одан әрі көбейтуге мүмкіндік беретін -VV немесе -Vv опциясын тағайындай аласыз.

-W және -r опциясы

Опциялар кестесінде барлық көрсетілген деректерді бөлек файлға сақтау мүмкіндігі туралы айтылды. Бұл үшін -W опциясына сәйкес келеді. Оны пайдалану өте қарапайым, оны пәрменге енгізіңіз, содан кейін «.pcap» кеңейтімімен болашақ файлдың атын енгізіңіз. Мысалдың бәрін қарастырайық:

Sudo tcpdump -i ppp0 -w file.pcap

Мысал:

TCPDump пәрменіндегі TCPDump пәрменіндегі опция

Назар аударыңыз: «Терминал» экранындағы файлға жазба журналдары кезінде ешқандай мәтін көрсетілмейді.

Жазылған шығысты көргіңіз келсе, сіз бірінші параметрді пайдалануыңыз керек, содан кейін сіз бұрын жазылған файлдың атын жазасыз. Бұл басқа нұсқаларсыз және сүзгілерсіз қолданылады:

Sudo tcpdump -r file.pcap

Мысал:

Бұрын сақталған TCPDump командалық файлын W опциясын көру мысалы

Осы екі нұсқа да келесі талдау үшін үлкен көлемді мәтінді үнемдеу қажет жағдайларда өте қолайлы.

IP арқылы сүзу.

Сүзгі кестесінен біз DST консольді көрсетуге мүмкіндік беретінін білеміз, консольді тек мекен-жай бойынша алынған пакеттер пәрмен синтаксисінде көрсетілгенін ғана білеміз. Осылайша, компьютеріңіз алған пакеттерді көру өте ыңғайлы. Мұны істеу үшін, командада сіз өзіңіздің IP мекенжайын көрсетуіңіз керек:

Sudo tcpdump -i PPP0 IP DST 10.0.6.67

Мысал:

DST және IP сүзгісін Linux-тегі TCPdump командасына пайдалану мысалы

Көріп отырғаныңыздай, DST-тен басқа, біз де IP сүзгісін тағайындадық. Басқаша айтқанда, біз компьютерге пакеттерді таңдаған кезде, ол басқа параметрлерге емес, олардың IP-мекен-жайына назар аударды.

IP-ді сүзуге және жіберуге болады. Мысалда біз IP-ны тағы да береміз. Яғни, қазір біз қандай пакеттерді біздің компьютерден басқа мекен-жайларға жіберетінін қадағалап отырмыз. Мұны істеу үшін келесі пәрменді орындау керек:

Sudo TCPDump -i PPP0 IP SRC 10.0.6.67

Мысал:

Linux-тегі TCPDump командасында SRC және IP сүзгісін пайдалану мысалы

Көріп отырғаныңыздай, пәрмен синтаксисінде біз SRC-дегі DST сүзгісін өзгерттік, сол арқылы автомобильге Жіберушіні IP-ді іздеуді айтамыз.

Хост-сүзгі

Командадағы IP-мен ұқсас, біз хост сүзгісін пайыздық пакеттерге тігу үшін көрсете аламыз. Яғни, синтаксисті жіберуші / алушының IP мекенжайының орнына, оның хостын көрсету қажет болады. Бұл келесідей:

Sudo tcpdump -i PPP0 DST GOOLT Google-public-dns-a.google.com

Мысал:

DST және HOST сүзгісін Linux-тегі TCPDump командасында пайдалану мысалы

Суретте сіз Google.com-да біздің IP-ден жіберілген бумалар ғана көрсетіле аласыз, бұл терминалда көрсетіледі. Google хостының орнына қалай түсінуге болады, сіз басқасын енгізе аласыз.

IP арқылы сүзгілеу жағдайында DST синтаксисінде компьютерге жіберілген бумаларды көру үшін SRC-ні ауыстыруға болады:

Sudo tcpdump -i PPP0 SRC Host Google-public-dns-a.google.com

ЕСКЕРТПЕ: Хост сүзгісі DST немесе SRC кейін тұруы керек, әйтпесе пәрмен қате жібереді. IP арқылы сүзгілеу жағдайында, керісінше, IP сүзгісінің алдындағы DST және SRC тұрыңыз.

Қолданба және сүзгі

Егер сізде бірнеше сүзгілерді бірден бір пәрменмен пайдалану қажеттілігі болса, онда немесе сіз немесе немесе сүзгіні пайдалануыңыз керек (жағдайға байланысты). Синтаксистерді бағыттау және оларды осы операторлармен бөліп көрсетіңіз, сіз оларды «жасайсыз». Мысалда бұл келесідей:

Sudo TCPDump -i PPP0 IP 95.47.144.254 немесе IP 95.47.144.254

Мысал:

Сүзгіні және немесе немесе немесе tcpdump пәрменін Linux-та пайдалану мысалы

Пәрмен синтаксисінен «Терминалға» жіберілген барлық пакеттер 95.47.144.254 мекен-жайы бойынша және сол мекен-жай бойынша алынған бумаларда көрсетілетіні анық. Осы өрнектегі кейбір айнымалы мәндерді өзгерте аласыз. Мысалы, IP орнына хостты көрсетіңіз немесе мекенжайды өзіңіз ауыстырыңыз.

Порт және портрандық сүзгі

Порт сүзгісі белгілі бір портты пакеттер туралы ақпарат алу қажет болған жағдайда өте жақсы. Сонымен, егер сіз тек жауаптарды немесе DNS сұрауларын көруіңіз керек болса, сізге 53-портты көрсету керек:

Sudo tcpdump -vv -i ppp0 порты 53

Мысал:

Linux-тегі TCPDump пәрменіндегі порттың сүзгісін пайдалану мысалы

Егер сіз HTTP бумаларын көргіңіз келсе, 80-портқа кіруіңіз керек:

Sudo tcpdump -vv -i ppp0 порты 80

Мысал:

Linux-тегі TCPDump пәрменіндегі порт сүзгісін қолдану мысалы

Сонымен қатар, бірден порттардың ауқымын бақылауға болады. Ол үшін портррейж сүзгісі қолданылады:

Sudo Tcpdump Portrrange 50-80

Linux-тегі TCPDump командалық синтаксисіндегі портррейж сүзгісін қолдану мысалы

Көріп отырғаныңыздай, Porttrange сүзгісімен байламда қосымша опцияларды көрсетудің қажеті жоқ. Тек ауқымды орнатыңыз.

Протоколдар бойынша сүзу

Сондай-ақ, сіз кез-келген протоколға сәйкес келетін трафикті ғана көрсетуге болады. Ол үшін осы протоколдың атын сүзгі ретінде пайдаланыңыз. Біз UDP мысалында біз талдаймыз:

Sudo tcpdump -vvv -i ppp0 UDP

Мысал:

Linux протоколындағы TCPDump командасын сүзу мысалы

Кескіннен көріп отырғаныңыздай, терминалда пәрменді орындағаннан кейін, UDP протоколы бар пакеттер ғана пайда болды. Тиісінше, сіз сүзгілей аласыз, мысалы, ARP:

Sudo tcpdump -vvv -i ppp0 arp

немесе tcp:

Sudo tcpdump -vvv -i ppp0 tcp

Таза сүзгі

Таза оператор өз желілерін белгілеу арқылы пакеттерді сүзуге көмектеседі. Сондай-ақ, оны пайдалану оңай, сонымен қатар қалғаны, сонымен қатар сіз синтаксистен NET төлсипатын көрсетуіңіз керек, содан кейін желі мекенжайын енгізіңіз. Мұндай команданың мысалы:

Sudo TCPDump -i PPP0 торы 192.168.1.1

Мысал:

Linux-те тағайындауға TCPDump командасын сүзу мысалы

Пакетті сүзу

Біз тағы екі қызықты сүзгілерді қарастырмадық: аз және одан да көп. Сүзгілерден бастап, біз олардың деректер пакеттерін атрибутқа енгізгеннен кейін көрсетілген немесе одан аз (үлкен) мөлшерде шығаратындығын білеміз.

Біз тек 50 битден аспайтын пакеттерді ұстанғымыз келеді, содан кейін команда келесі формада болады:

Sudo tcpdump -i ppp0-тан төмен

Мысал:

Linux-тегі TCPDump пәрменінде олардың мөлшері аз мөлшерде сүзгілеу

Енді терминалдағы пакеттерді көрейік, олардың мөлшері 50 битнен асады:

Sudo tcpdump -i PPP0 үлкен 50

Мысал:

Linux-тегі TCPdump командасындағы сүзгі пакеттері

Көріп отырғаныңыздай, олар бірдей қолданылады, айырмашылық тек сүзгінің атымен ғана.

Қорытынды

Мақаланың соңында біз команда деген қорытынды жасай аламыз Tcpdump. - Бұл Интернетте берілген кез-келген деректерді бақылауға болатын керемет құрал. Бірақ бұл үшін пәрменді «терминалға» енгізу жеткіліксіз. Егер сіз барлық түрлер мен сүзгілерді, сондай-ақ олардың комбинацияларын қолдансаңыз ғана қажетті нәтижеге қол жеткізуге болады.

Ары қарай оқу