Linux жүйесінде желілік бумаларды талдауға немесе ұстауға қажет болса, онда бұл үшін консоль утилитасын пайдалану керек. tcpdump. Бірақ мәселе оның күрделі басқаруында туындайды. Кәдімгі пайдаланушыға утилитамен жұмыс істеу ыңғайсыз көрінеді, бірақ бұл тек бірінші көзқараста. Мақалада tcpdump қалай ұйымдастырылғаны, оның қандай синтаксисі, оны пайдалану және оны қолданудың көптеген мысалдары берілген.
Сондай-ақ, қараңыз: Ubuntu, Debian, Ubuntu серверінде Интернет қосылымын орнату бойынша оқу құралдары
Орнату
Linux-негізделген операциялық жүйелердің көпшілігін алдын-ала орнатылған тізімде tcpdump утилитасы қамтиды, бірақ егер қандай да бір себептермен бұл таратылымыңызда болмаса, оны әрқашан жүктеп, орнатуға болады. «Терминал». Егер сіздің ОЖ Debian-ға негізделген болса және Ubuntu, Linux Mint, Kali Linux және сол сияқты болса, сізге мына пәрменді орындау керек:
sudo apt орнату tcpdump
Орнату кезінде құпия сөзді енгізу қажет. Пожалуйста, назар аударыңыз, оны теру кезінде көрсетілмейді, сондай-ақ орнатуды растау үшін, таңбаны енгізу қажет «D» түймесін басыңыз Кіру.
Егер Red Hat, Fedora немесе CentOS болса, орнату пәрмені келесідей болады:
sudo yam орнату tcpdump
Қызметтік бағдарлама орнатылғаннан кейін оны дереу қолдануға болады. Бұл және одан да көп мәтін кейінірек талқыланады.
Сондай-ақ, қараңыз: Ubuntu сервері үшін PHP орнату нұсқаулығы
Синтаксис
Басқа командалар сияқты, tcpdump өз синтаксисі бар. Оны білу үшін сіз пәрменді орындау кезінде ескерілетін барлық қажетті параметрлерді орната аласыз. Синтаксис:
tcpdump опциялары -I интерфейс сүзгілері
Пәрменді пайдаланған кезде, қадағалау үшін интерфейсті көрсетуіңіз керек. Сүзгілер мен опциялар міндетті емес айнымалылар емес, бірақ олар икемді конфигурацияға мүмкіндік береді.
Опциялар
Бұл опцияны көрсетудің қажеті жоқ болса да, қолда бардарды тізімдеу қажет. Кесте олардың толық тізімін көрсетпейді, бірақ ең танымал ғана, бірақ олар көп тапсырмаларды шешуге жеткілікті.
Опция | Анықтау |
---|---|
-А | Бумаларды ASCII форматында сұрыптауға мүмкіндік береді |
-l | Жылжыту функциясын қосады. |
-i | Сіз кіргеннен кейін мониторинг жүргізілетін желі интерфейсін көрсетуіңіз керек. Барлық интерфейстерді бақылауды бастау үшін опциядан кейін «кез келген» сөзін теріңіз. |
-c | Көрсетілген пакеттердің санын тексергеннен кейін қадағалау процесін аяқтайды. |
-w | Тексеру есебімен мәтіндік файл жасайды. |
-e | Деректер пакетін интернетке қосылу деңгейін көрсетеді. |
-L | Көрсетілген желі интерфейсі арқылы қолдайтын протоколдарды ғана көрсетеді. |
-C | Буманы жазған кезде, оның мөлшері көрсетілген өлшемнен үлкен болса, басқа файлды жасайды. |
-р | -W-опциясымен жасалған файлды оқу үшін файлды ашады. |
-j | TimeStamp форматы пакеттерді жазу үшін қолданылады. |
-J | Барлық қол жетімді пішіндерді TimeStamp көруге мүмкіндік береді |
-G | Журналдармен файл жасау үшін пайдаланылады. Опция сондай-ақ уақытша мәнді талап етеді, содан кейін жаңа журнал жасалады |
-v, -vv, -вв | Параметрдегі таңбалар санына байланысты, пәрменнің нәтижесі егжей-тегжейлі болады (көбейту символдар санына тікелей пропорционалды) |
-f | Шығу IP мекенжайының домен атауын көрсетеді |
-F | Ақпаратты желі интерфейсінен емес, көрсетілген файлдан оқуға мүмкіндік береді |
-D | Пайдалануға болатын барлық желілік интерфейстерді көрсетеді. |
-н | Домен атауларының дисплейін өшіреді |
-Z | Барлық файлдар жасалатын есептік жазбаның пайдаланушысын көрсетеді. |
-K | Бақылау сомасын талдауды өткізу |
-q | Қысқаша ақпаратты көрсету |
-H | 802.11s тақырыптарын анықтайды |
-I | Монитор режимінде пакеттерді түсіру кезінде пайдаланылады. |
Опцияларды қарап, төменде біз олардың өтініштеріне тікелей бұрылады. Дегенмен, сүзгілер қарастырылады.
Сүзгілер
Мақаланың басында айтылғандай, tcpdump синтаксисіне сүзгілер қосуға болады. Енді олардың ең танымал болып саналады:
Сүзгі | Анықтау |
---|---|
хост | Хосттың атауын көрсетеді. |
таза | IP ішкі желісін және желіні анықтайды |
ip | Протоколдың мекенжайын анықтайды |
срц | Көрсетілген мекенжайдан жіберілген бумаларды көрсетеді |
dst | Көрсетілген мекенжаймен алынған пакеттерді көрсетеді. |
arp, udp, tcp | Протоколдардың біреуі арқылы сүзу |
порт | Белгілі бір портқа қатысты ақпаратты көрсетеді. |
және, немесе | Пәрменде бірнеше сүзгілерді біріктіру үшін пайдаланылады. |
аз, үлкенірек | Көрсетілген өлшемнен кіші немесе үлкенірек шығыс бумалары |
Жоғарыда аталған барлық сүзгілерді бір-бірімен үйлестіруге болады, сондықтан сіз бұйрықты беруде тек көргіңіз келетін ақпаратты көресіз. Жоғарыда келтірілген сүзгілерді егжей-тегжейлі түсіну үшін, мысалдар келтіру керек.
Сондай-ақ қараңыз: Linux терминалында жиі қолданылатын пәрмендер
Пайдалану мысалдары
Жиі қолданылатын tcpdump синтаксисі опциялары енді тізімде болады. Олардың барлығы тізімге енгізілмейді, өйткені олардың өзгеруі шексіз болуы мүмкін.
Интерфейстер тізімін қарау
Әрбір пайдаланушы алдымен оның қадағалауға болатын барлық желілік интерфейстерінің тізімін тексеруі ұсынылады. Жоғарыдағы кестеден біз бұл опцияны пайдалануыңыз керек екенін білеміз -Dсондықтан терминалда келесі пәрменді іске қосыңыз:
sudo tcpdump -D
Мысал:
Көріп отырғаныңыздай, мысалда сегіз интерфейс бар, олар tcpdump пәрменін пайдалану арқылы көруге болады. Мақалада келтірілген мысалдар келтірілген ppp0, Сіз кез келген басқа пайдалануға болады.
Қалыпты трафикті түсіру
Егер бір желі интерфейсін қадағалау қажет болса, оны опциямен орындауға болады -i. Енгізгеннен кейін интерфейстің атын енгізуді ұмытпаңыз. Мынадай тапсырманы орындаудың мысалы:
sudo tcpdump -i ppp0
Пожалуйста, назар аударыңыз: Сізге «sudo» командасының алдында кіру керек, өйткені бұл талап superuser құқығы.
Мысал:
Ескерту: «Терминалда» енгізуді басқаннан кейін, ұсталған пакеттер үздіксіз көрсетіледі. Ағымдарын тоқтату үшін Ctrl + C пернелер тіркесімін басу керек.
Қосымша опциялар мен сүзгілерсіз пәрменді іске қоссаңыз, қадағаланған пакеттерді көрсету үшін келесі пішімді көресіз:
22: 18: 52.597573 IP vrrp-topf2.p.mail.ru.https> 10.0.6.67.35482: Flags [P.], seq 1: 595, 1118, 6494 ұтып, опциялар [nop, nop, TS val 257060077 ecr 697597623], ұзындығы 594
Түс бөлінген жерде:
- көк - пакеттің түсу уақыты;
- апельсин - хаттамалық нұсқасы;
- жасыл - жіберушінің мекенжайы;
- күлгін - алушының мекен-жайы;
- сұр - tcp туралы қосымша ақпарат;
- қызыл - пакеттің өлшемі (байттармен көрсетіледі).
Бұл синтаксис терезеде шығуға мүмкіндік береді «Терминал» қосымша опцияларды қолданбастан.
-V параметрімен трафикті ұстаңыз
Кестеден белгілі болғандай, опция -v ақпараттың көлемін арттыруға мүмкіндік береді. Мысалға назар аударайық. Сол интерфейсті тексеріңіз:
sudo tcpdump -v -i ppp0
Мысал:
Мұнда шығуда келесі жол пайда болғанын көруге болады:
IP (tos 0x0, ttl 58, id 30675, offset 0, flags [DF], proto TCP (6), ұзындығы 52
Түс бөлінген жерде:
- апельсин - хаттамалық нұсқасы;
- көк - хаттаманың өмірі;
- жасыл - өріс тақырыбының ұзындығы;
- күлгін - tcp бумасының нұсқасы;
- қызыл - пакет өлшемі.
Сондай-ақ, команда синтаксисінде опцияны жаза аласыз -в немесе -вв, ол экранда көрсетілген ақпарат көлемін одан әрі арттырады.
-W және -r опциясы
Опциялар кестесінде барлық шығыс деректерін бөлек файлда сақтау мүмкіндігі қарастырылған, олар кейінірек қарауға болады. Опция бұл үшін жауапты. -w. Пайдалану өте оңай, оны команданың ішіне кіргізіп, кеңейтумен болашақ файлдың атауын енгізіңіз «.pcap». Мұның бәрін қарастырайық:
sudo tcpdump -i ppp0 -w file.pcap
Мысал:
Назар аударыңыз: файлға жазу жазу кезінде «Терминал» экранында мәтін көрсетілмейді.
Жазылған нәтижені көргіңіз келгенде, опцияны пайдалануыңыз керек -рсодан кейін алдын ала жазылған файлдың атауы. Ол басқа параметрлер мен сүзгілерсіз қолданылады:
sudo tcpdump -r file.pcap
Мысал:
Кейінгі талдау үшін мәтіннің үлкен көлемін үнемдеу қажет болған жағдайда, бұл екі нұсқа да тамаша.
IP сүзгілеуі
Сүзгі үстелінен біз білеміз dst консольдық экранда пәрмен синтаксисінде көрсетілген мекенжаймен ғана алынған пакеттерді көрсетуге мүмкіндік береді. Осылайша, сіздің компьютеріңізден алынған пакеттерді қарау өте ыңғайлы. Мұны істеу үшін команда IP-мекен-жайыңызды көрсетуі керек:
sudo tcpdump -i ppp0 ip dst 10.0.6.67
Мысал:
Көріп отырғаныңыздай, сонымен қатар dst, командада біз де сүзгіні тіркедік ip. Басқаша айтқанда, біз компьютерге пакеттерді таңдағанда, ол басқа параметрлерге емес, IP-мекен-жайына назар аударатынын айтты.
IP бойынша пакеттерді сүзуге және жіберуге болады. Бұл мысалда біздің IP-ті қайтадан береміз. Яғни, біздің компьютерден басқа мекенжайларға қандай пакеттер жіберілетінін бақылаймыз. Ол үшін келесі пәрменді іске қосыңыз:
sudo tcpdump -i ppp0 ip src 10.0.6.67
Мысал:
Көріп отырғанымыздай, сүзгіні пәрмен синтаксисінде өзгерттік. dst қосу срц, осылайша құрылғыға жіберушіге IP арқылы іздеуді айтады.
HOST сүзгілеуі
Командада IP-мен ұқсас, біз сүзгіні көрсете аламыз хостпакеттердің қызығушылығын жоғалту үшін. Яғни, синтаксисте жіберуші / алушының IP-мекен-жайы орнына, оның хостын көрсету қажет. Мынадай көрінеді:
sudo tcpdump -i ppp0 dst хост google-public-dns-a.google.com
Мысал:
Суретте сіз оны көре аласыз «Терминал» Тек біздің IP-ден google.com хостына жіберілген пакеттер ғана көрсетіледі. Көріп отырғаныңыздай, google хостының орнына басқасына кіре аласыз.
IP сүзгілеуінде болғандай, синтаксис: dst ауыстырылуы мүмкін срцКомпьютеріңізге жіберілген бумаларды көру үшін:
sudo tcpdump -i ppp0 src хосты google-public-dns-a.google.com
Ескерту: хост сүзгісі dst немесе src кейін болуы керек, әйтпесе пәрмен қатені тудырады. IP сүзгілеу жағдайында, керісінше, dst және src ip сүзгісінің алдында орналасқан.
Сүзгілеу және және немесе
Бір пәрменде бірден бірнеше сүзгіні пайдалану қажет болса, сүзгіні қолдану керек. және немесе немесе (жағдайға байланысты). Синтаксистегі сүзгілерді белгілеп, оларды осы операторлармен бөліп, оларды «бір» жұмыс істей аласыз. Мысалда келесідей көрінеді:
sudo tcpdump -i ppp0 ip dst 95.47.144.254 немесе ip src 95.47.144.254
Мысал:
Командасының синтаксисінен көрсету керек екенін көре аласыз «Терминал» 95.47.144.254 мекенжайына және сол мекен-жай бойынша алынған пакеттерге жіберілген барлық пакеттер. Сондай-ақ, осы өрнекте кейбір айнымалыларды өзгертуге болады. Мысалы, IP орнына HOST кӛрсетіңіз немесе мекен-жайларды тікелей ауыстырыңыз.
Сүзгіш порт және портрет
Сүзгі порт белгілі портқа ие пакеттер туралы ақпарат алу қажет болғанда өте жақсы. Мәселен, тек жауаптар немесе DNS сұрауларын көру қажет болса, 53-портты көрсету қажет:
sudo tcpdump -vv -i ppp0 port 53
Мысал:
Егер Сіз http-пакеттерін көргіңіз келсе, 80 портын енгізуіңіз керек:
sudo tcpdump -vv -i ppp0 порт 80
Мысал:
Басқаларының арасындағы порттар ауқымын бірден бақылауға болады. Ол үшін сүзгіні қолданыңыз портрет:
sudo tcpdump портреті 50-80
Көріп отырғандай, сүзгіге байланысты портрет Қосымша опцияларды көрсетудің қажеті жоқ. Ауқымды орнатыңыз.
Протоколды сүзу
Сіз кез келген хаттамаға сәйкес келетін трафикті ғана көрсете аласыз. Бұл әрекетті орындау үшін осы протоколдың атауын сүзгі ретінде пайдаланыңыз. Мысалға қарап көрейік udp:
sudo tcpdump -vv -i ppp0 udp
Мысал:
Суретте көріп тұрғандай, пәрменді орындағаннан кейін «Терминал» протоколы бар пакеттер ғана көрсетілді udp. Тиісінше, басқалармен сүзуге болады, мысалы, арп:
sudo tcpdump -vvv -i ppp0 арп
немесе т.к.:
sudo tcpdump -vv -i ppp0 tcp
Сүзгі желісі
Оператор таза желілерді тағайындау негізінде пакеттерді сүзуге көмектеседі. Қалғандай пайдалану оңай, синтаксистің атрибутын көрсету керек таза, содан кейін желі мекенжайын енгізіңіз. Мынадай командалардың мысалы:
sudo tcpdump -i ppp0 net 192.168.1.1
Мысал:
Пакет өлшемімен сүзу
Біз тағы екі қызықты сүзгіні қарастырдық: аз және үлкенірек. Фильтрлер бар кестеден біз көп деректер пакеттерін шығаруға қызмет ететінін білеміз (аз) немесе аз (үлкенірек) атрибут енгізілгеннен кейін көрсетілген өлшем.
Мысалы, біз 50 биттен аспайтын пакеттерді бақылағымыз келеді делік, сонда келесідей көрінеді:
sudo tcpdump -i ppp0 аз 50
Мысал:
Ендеше көрейік «Терминал» 50 биттан асатын пакеттер:
sudo tcpdump -i ppp0 үлкен 50
Мысал:
Көріп отырғаныңыздай, олар бірдей пайдаланылады, тек сүзгі атауында ғана айырмашылық бар.
Қорытынды
Мақаланың соңында біз команданы қорытындылай аламыз tcpdump - Бұл Интернет арқылы берілетін кез-келген деректер пакетін қадағалауға болатын тамаша құрал. Бірақ бұл үшін команданың өзіне кіру жеткіліксіз «Терминал». Қажетті нәтижеге қол жеткізу үшін сіз барлық опциялар мен сүзгілерді, сондай-ақ олардың комбинацияларын қолдансаңыз ғана алынады.