Как да използвате tcpdump за наблюдение на нашата мрежа

Съдържание

В този урок ще видим как да работя с tcpdump. Това е инструмент с отворен код за командния ред, който е свикнал наблюдава мрежата, можем да го разберем като анализатор на пакети, които преминават през мрежата, където изпълнявате програмата. Използва се в Unix среди, въпреки че има вариант за Windows, наречен WinDump. Урок за EtherApe може да ви заинтересува, което е инструмент за графично виждане на състоянието на нашата мрежа.

В урока ще работим от Linux, по -специално в Ubuntu 16.04, за да работи инструментът, трябва да го стартираме с високи привилегии, с изключение на определени опции, които ще бъдат необходими.

Можем да използваме tcpdump за различни задачи, като например отстраняване на грешки в нашите мрежови приложения, четене на данните, които се изпращат между потребители през мрежата, в която се намираме и т.н. Ще поставим синтаксиса му по -долу:

 tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX #] [-B размер] [-c брой] [-C размер на файла] [-E нещо: секретно] [-F файл] [-G секунди] [-i интерфейс] [-j tstamptype] [- M тайна] [-номер] [-Q в | изход | входящ] [-r файл] [-s snaplen] [--time-stamp-precision precision] [--immediate-mode] [-T тип] [ --version] [-V файл] [-w файл] [-W брой файлове] [-y datalinktype] [-z команда] [-Z потребител] [израз]
Този инструмент има голям брой параметри, които можем да използваме, тук ще видим някои.

Някои параметри на tcpdump

  • -ДА СЕ: Отпечатайте пакетите в ASCII код.
  • : Отпечатайте пакетите в шестнадесетичен формат.
  • : Показва наличните интерфейси.
  • -° С номер: Той ще затвори програмата, когато посоченият брой пакети бъде уловен.
  • -i интерфейс: Програмата слуша на посочения интерфейс.
  • -Аз: Поставя интерфейса в режим на монитор.
  • -стр: Това не поставя интерфейса в безразборен режим.
  • -f файл: Изходът се съхранява във файла, който посочваме.
  • : Показва помощ за използването му.

Ако искаме да видим всички налични параметри, в Linux използваме:

 човек tcpdump
Използването на тази команда е по -пълно от помощта, предлагана от параметъра или --помогне, което би ни показало само следното:

Ще видим 10 примера, за да започнете с този мощен инструмент.

ЗабележкаВ почти всички примери ще видите, че sudo се използва преди tcpdump, както беше казано по -рано, е необходимо да го стартирате с високи привилегии, ако използвате терминала като root, не е необходимо да поставяте нищо пред tcpdump. Ако искате да спрете заснемането, можете да комбинирате клавишите:

CTRL + C

Пример 1
Най -простият пример, използващ параметъра -ДА СЕ. За целта изпълняваме:

 tcpdump -A

Нека да видим пример с малко повече съдържание.

Пример 2
Сега ще филтрираме по хост и ще добавим подробния режим с параметъра -v:

 sudo tcpdump хост 192.168.66.130 -v
По -долу е изображение, използващо горната команда:

За изображението направих пинг от друга машина, така че можем да видим ICMP. Нека преминем към третия пример.

Пример 3
В този пример ще разгледаме пакетите от същия хост, само този път пакетите, които имат отношение към порт 80:

 sudo tcpdump хост 192.168.66.130 и порт 80 -v
Ако погледнем улавянето, ще видим нещо подобно на следното:

Можете да видите колко лесно се борави с този инструмент, нека да продължим.

Пример 4
Ще използваме пример 3 и ще го променим, искаме да филтрираме пакетите с произход 192.168.66.130, които отиват към порт 80:

 sudo tcpdump src хост 192.168.66.130 и dst порт 80 -v
Виждаме, че сме използвали условното и, така че двете условия са изпълнени, можем също да използваме или, ако искаме само едно от тях да бъде изпълнено. Ако погледнем екранните снимки, виждаме POST заявка.

Преминаваме към петия пример.

Пример 5
Ще заснемем пакети, показващи интерфейс:

 sudo tcpdump -i ens33
ЗабележкаВашият интерфейс вероятно е eth0, можете да го видите с командата ifconfig, но и с параметъра -D на tcpdump ще работи за нас, ще го видим в следния пример.

По -долу можете да видите изображение на заснемането.

Да преминем към следващия.

Пример 6
В този пример единственото нещо, което ще направим, е да покажем наличните интерфейси, за това изпълняваме:

 tcpdump -D
В този случай не е необходимо да сте root.

Нека продължим.

Пример 7
Искаме да уловим 3 пакета, предназначени за порт 1987 и когато това се случи, спрем програмата:

 sudo tcpdump -c 3 dst порт 1987 г.
На следното изображение можем да видим, че са заснети само 3 пакета:

Нека видим още няколко примера.

Пример 8
Когато се интересуваме от получаването на всички tcp трафик пакети, които не отиват на определен порт, например порт 80, ще изпълним следното:

 sudo tcpdump не порт 80 и tcp
Изходът е подобен, така че в този пример не е зададено улавяне. Нека да преминем към предпоследния пример.

Пример 9
Ще заснемем 2 пакета от определен интерфейс и ще ги покажем в шестнадесетичен формат, за това трябва да изпълним:

 sudo tcpdump -i ens33 -x -c 2
По -долу можете да видите изхода:

Е, нека преминем към последния пример от урока.

Пример 10
В този пример ще запишем улавянето във файл, за да го разгледаме по -късно. Заснемането е ограничено до 3 пакета и е посочен интерфейс, така че ще изпълним:

 sudo tcpdump -w тест.pcap -i ens33 -c 3
Нека видим екранна снимка:

Ако искаме да прочетем този файл сега, трябва да изпълним:

 tcpdump -r test.pcap
Можем да го видим на следното изображение:

Урокът по tcpdump е стигнал дотук, той има много възможности и много опции, така че за да се научите как да боравите добре с този инструмент, най -добре е да практикувате и да откривате всичките му функции малко по малко. Може също да се интересувате да прочетете нещо за инструмента netcat, така че ето линк към урок с примери:

Как да използвате netcat

Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave