Ако вам је потребно анализирати или пресретати мрежне пакете у Линуку, најбоље је користити тцпдумп конзолни услужни програм. Али проблем се јавља у прилично сложеном управљању. Обичан корисник ће открити да је рад са корисником неприкладан, али то је само на први поглед. Чланак ће вам рећи како је тцпдумп структуриран, какву синтаксу има, како га користити, а такође даје бројне примјере његове употребе.
Прочитајте такође: Упутства за подешавање Интернет везе у Убунту , Дебиан , Убунту Сервер
Већина програмера оперативних система заснованих на Линук-у укључује тцпдумп услужни програм на претходно инсталирану листу, али ако из неког разлога није у вашој дистрибуцији, увек можете да га преузмете и инсталирате преко "Терминал" . Ако је ваш ОС заснован на Дебиану, а ово су Убунту, Линук Минт, Кали Линук и слично, потребно је покренути ову наредбу:
sudo apt install tcpdump
Када инсталирате, морате унети лозинку. Имајте на уму да приликом уноса текста није приказан и морате унети знак "Д" и притисните Ентер да бисте потврдили инсталацију.
Ако имате Ред Хат, Федора или ЦентОС, онда ће наредба за инсталацију изгледати овако:
sudo yam install tcpdump
Након инсталације, може се одмах користити. О овоме и још много тога о томе ћемо даље разматрати у тексту.
Прочитајте такође: ПХП Водич за инсталацију за Убунту Сервер
Као и свака друга наредба, тцпдумп има своју синтаксу. Знајући то, можете поставити све потребне параметре који ће бити узети у обзир приликом извршавања наредбе. Синтакса је следећа:
tcpdump опции -i интерфейс фильтры
Када користите команду, морате навести интерфејс за праћење. Филтери и опције нису обавезне варијабле, али омогућавају флексибилније прилагођавање.
Иако не морате навести опцију, морате навести доступне опције. Табела не показује сву њихову листу, већ само најпопуларнија, али су више него довољна за решавање већине задатака.
Опција | Дефиниција |
---|---|
-А | Омогућава вам да сортирате пакете са АСЦИИ форматом |
-л | Додаје функцију за померање |
-и | Након уласка, морате навести мрежни интерфејс који ће бити надгледан. Да бисте започели праћење свих интерфејса, унесите реч "било која" након опције |
-ц | Прекида процес праћења након потврђивања наведеног броја пакета |
-в | Генерише текстуалну датотеку са извештајем о верификацији |
-е | Означава ниво интернетске везе пакета података |
-Л | Излази само оним протоколима који подржавају одређени мрежни интерфејс |
-Ц | Креира другу датотеку док се пакет пише, ако је његова величина већа од наведеног |
-р | Отвара датотеку читања која је креирана са опцијом -в |
-ј | За снимање пакета користиће се ТимеСтамп формат |
-Ј | Омогућава вам преглед свих доступних формата ТимеСтампа |
-Г | Служи за креирање датотеке са евиденцијама. Ова опција такође захтева привремену вредност, након чега ће се креирати нови дневник |
-в, -вв, -ввв | У зависности од броја знакова у опцији, излаз команде ће постати детаљнији (повећање је директно пропорционално броју карактера) |
-ф | Излаз приказује име домене ИП адресе |
-Ф | Омогућава вам да читате информације не из мрежног интерфејса, већ из наведене датотеке |
-Д | Демонстрира све мрежне интерфејсе које можете користити |
-н | Деактивира приказ имена домена |
-З | Одређује корисника чији ће налог креирати све датотеке |
-К | Миссинг Цхецксум Аналисис |
-к | Демонстрација кратких информација |
-Х | Открива заглавља 802.11с |
-И | Користи се приликом снимања пакета у режиму монитора |
Након растављања опција, само испод, идемо директно у њихове апликације. У међувремену, филтри ће бити разматрани.
Као што је поменуто на самом почетку текста, можете додати филтре тцпдумп синтакси. Сада ће се узети у обзир најпопуларнији од њих:
Филтер | Дефиниција |
---|---|
хост | Одређује име хоста |
нет | Одређује ИП подмрежу и мрежу |
ип | Служи за адресу протокола |
срц | Приказује пакете који су послати са наведене адресе |
дст | Приказује пакете који су примљени од наведене адресе |
арп, удп, тцп | Филтрирање по једном од протокола |
порт | Приказује информације везане за одређени порт |
и, или | Користи се за спајање више филтера у команду |
мање, веће | Излаз пакета мањи или већи од наведене величине |
Сви горе наведени филтери могу се комбиновати једни с другима, тако да се код издавања наредбе виде само информације које желите да видите. Да бисмо боље разумели употребу горе наведених филтера, вреди дати примере.
Прочитајте такође: Најчешће коришћене команде у "Терминал" Линуку
Најчешће коришћене опције синтакса за команду тцпдумп су сада наведене. Сви они не могу бити наведени, јер њихове варијације могу бити бесконачан број.
Препоручује се да сваки корисник првобитно проверава списак свих својих мрежних интерфејса које се могу пратити. Из горње табеле, знамо да морате користити опцију -Д , па покрените сљедећу команду у терминалу:
sudo tcpdump -D
Пример:
Као што видите, у примјеру постоји осам интерфејса које можете погледати помоћу команде тцпдумп. У чланку ћете дати примере са ппп0 , можете користити било који други.
Ако требате пратити један мрежни интерфејс, онда то можете учинити са опцијом -и . Не заборавите да унесете име интерфејса након уноса. Ево примера извршења такве команде:
sudo tcpdump -i ppp0
Напомена: пре саме наредбе, потребно је да унесете "судо", јер захтева надуно право.
Пример:
Напомена: након притиска на Ентер у "Терминалу", пресретнути пакети ће се стално приказивати. Да бисте зауставили проток, морате притиснути комбинацију тастера Цтрл + Ц.
Ако покренете команду без додатних опција и филтера, видећете следећи формат за приказивање праћених пакета:
22:18:52.597573 IP vrrp-topf2.p.mail.ru.https > 10.0.6.67.35482 : Flags [P.], seq 1:595, ack 1118, win 6494, options [nop,nop,TS val 257060077 ecr 697597623], length 594
Где је боја истакнута:
Ова синтакса може да се емитује у прозору "Терминал" без додатних опција.
Као што знате из табеле, опција -в вам омогућава да повећате количину информација. Ми ћемо анализирати на примјер. Хајде да проверимо исти интерфејс:
sudo tcpdump -v -i ppp0
Пример:
Овдје можете видети да је на излазу приказана сљедећа линија:
IP (tos 0x0, ttl 58 , id 30675, offset 0, flags [DF] , proto TCP (6) , length 52
Где је боја истакнута:
Такође, у синтакси команде, можете одредити опцију -вв или -ввв , што ће додатно повећати количину информација приказаних на екрану.
Табела опција помиње могућност да сачувате све излазне податке у одвојеној датотеци тако да их могу касније прегледати. За ово је одговорна опција -в . Да бисте је користили, прилично је једноставно, само показите на команду, а затим унесите име будућег фајла помоћу екстензије ".пцап" . Размотримо све на примјеру:
sudo tcpdump -i ppp0 -w file.pcap
Пример:
Имајте на уму: приликом снимања евиденција у датотеци на екрану "Терминал" се не приказује текст.
Када желите да погледате снимљени излаз, потребно је да користите опцију -р , а затим да напишете име претходно снимљене датотеке. Користи се без других опција и филтера:
sudo tcpdump -r file.pcap
Пример:
Обе ове опције су савршене када треба да сачувате велике количине текста за касније разматрање.
Из табеле филтера знамо да вам дст омогућава приказивање само оних пакета које су примљене од адресе на конзолном екрану, како је наведено у синтакси наредбе. Стога је веома згодно прегледати пакете које је примио ваш рачунар. Да бисте то урадили, морате само да наведете своју ИП адресу у тиму:
sudo tcpdump -i ppp0 ip dst 10.0.6.67
Пример:
Као што видите, поред дст-а , у тиму смо такође написали ип филтер. Другим речима, рекли смо рачунару да би приликом бирања пакета обратио пажњу на своју ИП адресу, а не на друге параметре.
По ИП-у можете филтрирати и слати пакете. У примјеру, вратимо нашу ИП адресу. Сада ћемо пратити који пакети се шаљу са нашег рачунара на друге адресе. Да бисте то урадили, извршите следећу наредбу:
sudo tcpdump -i ppp0 ip src 10.0.6.67
Пример:
Као што видите, у синтакси команде промијенили смо дст филтер у срц , па смо тако рекли машини да тражи пошиљаоца по ИП-у.
По аналогији са ИП-ом у команди, можемо одредити филтер хоста како би уништили пакете са великим интересом. То јест, у синтакси, умјесто ИП адресе пошиљаоца / примаоца, потребно је одредити његов хост. Изгледа овако:
sudo tcpdump -i ppp0 dst host google-public-dns-a.google.com
Пример:
На слици можете видети да се у "Терминалу" приказују само они пакети који су послани са наше ИП адресе за хостовање гоогле.цом. Као што видите, уместо гоогле хоста, можете унети било који други.
Као и при ИП филтрирању, дст синтакса може се заменити помоћу срц да бисте видели пакете који се шаљу на ваш рачунар:
sudo tcpdump -i ppp0 src host google-public-dns-a.google.com
Напомена: филтер хост мора бити подешен након дст или срц, иначе ће наредба генерирати грешку. У случају ИП филтрирања, напротив, дст и срц су испред ИП филтера.
Ако у истој команди морате истовремено користити неколико филтера, онда је потребно да примените и или или филтер (у зависности од случаја). Спецификацијом филтера у синтакси и одвајањем их са овим оператором, ви их "присиљавате" да раде као један. На пример, изгледа овако:
sudo tcpdump -i ppp0 ip dst 95.47.144.254 or ip src 95.47.144.254
Пример:
Из синтаксе команде јасно је да ћемо на екрану "Терминал" приказати све пакете које су послате на адресу 95.47.144.254 и пакете примљене на истој адреси. Такође можете променити неке варијабле у овом изразу. На пример, уместо ИП-а, одредите ХОСТ или замените саме адресе.
Порт филтер је савршен када морате добити информације о пакетима са одређеним портом. Дакле, ако желите да видите одговоре или ДНС упите, морате да наведете порт 53:
sudo tcpdump -vv -i ppp0 port 53
Пример:
Ако желите да видите хттп пакете, морате унети порт 80:
sudo tcpdump -vv -i ppp0 port 80
Пример:
Између осталог, могуће је пратити опсег прикључака одједном. За то се користи портранге филтер:
sudo tcpdump portrange 50-80
Као што видите, није потребно навести додатне опције у вези са филтером портранге . Довољно је само да подесите опсег.
Такође можете приказати само саобраћај који одговара било ком протоколу. Да бисте то урадили, морате користити назив овог протокола као филтер. Хајде да погледамо пример удп :
sudo tcpdump -vvv -i ppp0 udp
Пример:
Као што се види на слици, након извршења команде, у "Терминал" су приказани само пакети са удп протоколом. Сходно томе, можете извршити филтрирање на другим, на примјер, арп :
sudo tcpdump -vvv -i ppp0 arp
или тцп :
sudo tcpdump -vvv -i ppp0 tcp
Нет оператер помаже у филтрирању пакета, узимајући као основу именовање своје мреже. Да бисте је користили као и остало - потребно је да наведете нет атрибут у синтакси, а затим унесите мрежну адресу. Ево примера такве команде:
sudo tcpdump -i ppp0 net 192.168.1.1
Пример:
Нисмо сматрали још два занимљивог филтера: мање и веће . Из табеле са филтерима знамо да служе за излазне пакете података веће ( мање ) или мање ( веће ) величине одређене након уноса атрибута.
Претпоставимо да желимо пратити само пакете који не прелазе 50-битну ознаку, онда ће наредба изгледати овако:
sudo tcpdump -i ppp0 less 50
Пример:
Сада ћемо приказати у "Терминал" пакети који су већи од 50 бита:
sudo tcpdump -i ppp0 greater 50
Пример:
Као што видите, они се подједнако примјењују, разлика је само у имену филтера.
На крају текста можете закључити да је команда тцпдумп одличан алат, помоћу кога можете пратити било који пакет података послат преко Интернета. Али за то није довољно само уписати тим у "Терминал" . Да бисте постигли жељени резултат, добићете само ако користите све врсте опција и филтера, као и њихове комбинације.