Ако вам је потребно анализирати или пресретати мрежне пакете у Линуку, најбоље је користити тцпдумп конзолни услужни програм. Али проблем се јавља у прилично сложеном управљању. Обичан корисник ће открити да је рад са корисником неприкладан, али то је само на први поглед. Чланак ће вам рећи како је тцпдумп структуриран, какву синтаксу има, како га користити, а такође даје бројне примјере његове употребе.

Прочитајте такође: Упутства за подешавање Интернет везе у Убунту , Дебиан , Убунту Сервер

Инсталација

Већина програмера оперативних система заснованих на Линук-у укључује тцпдумп услужни програм на претходно инсталирану листу, али ако из неког разлога није у вашој дистрибуцији, увек можете да га преузмете и инсталирате преко "Терминал" . Ако је ваш ОС заснован на Дебиану, а ово су Убунту, Линук Минт, Кали Линук и слично, потребно је покренути ову наредбу:

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

Пример:

филтрирање пакета по величини филтера већим у команди тцпдумп у Линуку

Као што видите, они се подједнако примјењују, разлика је само у имену филтера.

Закључак

На крају текста можете закључити да је команда тцпдумп одличан алат, помоћу кога можете пратити било који пакет података послат преко Интернета. Али за то није довољно само уписати тим у "Терминал" . Да бисте постигли жељени резултат, добићете само ако користите све врсте опција и филтера, као и њихове комбинације.