Как да използвате tcpdump и 6 примера

Как да използвате tcpdump и 6 примера

Опитвате ли се да уловите пакети данни, за да анализирате трафика във вашата мрежа? Може би сте администратор на сървър, който се е сблъскал с проблем и иска да следи предадените данни в мрежата. Каквато и да е ситуацията, помощната програма tcpdump Linux е това, от което се нуждаете.





В тази статия ще обсъдим подробно командата tcpdump, заедно с някои ръководства за това как да инсталирате и използвате tcpdump на вашата Linux система.





Какво представлява командата tcpdump?

Tcpdump е мощен инструмент за наблюдение на мрежата, който позволява на потребителя да филтрира пакети и трафик в мрежата ефективно. Можете да получите подробна информация, свързана с TCP/IP и пакетите, предавани във вашата мрежа. Tcpdump е помощна програма за командния ред, което означава, че можете да я стартирате на Linux сървъри без дисплей.





Системните администратори също могат да интегрират помощната програма tcpdump с cron с цел автоматизиране на различни задачи като регистрация. Тъй като многобройните му функции го правят доста универсален, tcpdump работи както като средство за отстраняване на неизправности, така и като инструмент за сигурност.

Как да инсталирате tcpdump на Linux

Въпреки че през повечето време ще намерите tcpdump предварително инсталиран на вашата система, някои дистрибуции на Linux не се доставят с пакета. Следователно може да се наложи ръчно да инсталирате помощната програма във вашата система.



Можете да проверите дали tcpdump е инсталиран на вашата система, като използвате който команда.

which tcpdump

Ако изходът показва път към директорията ( /usr/bin/tcpdump ), тогава вашата система има инсталиран пакет. Ако обаче не, можете да го направите лесно, като използвате стандартния мениджър на пакети във вашата система.





За да инсталирате tcpdump на дистрибуции, базирани на Debian, като Ubuntu:

sudo apt-get install tcpdump

Инсталирането на tcpdump на CentOS също е лесно.





sudo yum install tcpdump

За дистрибуции, базирани на Arch:

sudo pacman -S tcpdump

За да инсталирате на Fedora:

sudo dnf install tcpdump

Обърнете внимание, че пакетът tcpdump изисква libcap като зависимост, така че не забравяйте да го инсталирате и във вашата система.

Примери за tcpdump за улавяне на мрежови пакети в Linux

Сега, след като успешно сте инсталирали tcpdump на вашата Linux машина, е време да наблюдавате някои пакети. Тъй като tcpdump изисква разрешения на суперпотребител за изпълнение на повечето операции, ще трябва да добавите sudo на вашите команди.

1. Избройте всички мрежови интерфейси

За да проверите кои мрежови интерфейси са достъпни за заснемане, използвайте флаг с командата tcpdump.

tcpdump -D

Преминаване на --list-интерфейси флаг като аргумент ще върне същия изход.

tcpdump --list-interfaces

Резултатът ще бъде списък на всички мрежови интерфейси, които присъстват във вашата система.

След като получите списъка с мрежови интерфейси, е време да наблюдавате мрежата си чрез улавяне на пакети във вашата система. Въпреки че можете да посочите кой интерфейс искате да използвате, всякакви аргумент команди tcpdump за улавяне на мрежови пакети, използвайки всеки активен интерфейс.

tcpdump --interface any

Системата ще покаже следния изход.

Windows 10 казва, че не е свързан с интернет, но аз съм

Свързани: Какво представлява моделът на взаимосвързаност на отворените системи?

2. Изходният формат на tcpdump

Започвайки от третия ред, всеки ред на изхода обозначава специфичен пакет, уловен от tcpdump. Ето как изглежда изходът на един пакет.

17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33

Имайте предвид, че не всички пакети се улавят по този начин, но това е общият формат, последван от повечето от тях.

Изходът съдържа следната информация.

  1. Времева отметка на получения пакет
  2. Име на интерфейса
  3. Поток на пакети
  4. Име на мрежовия протокол
  5. Подробности за IP адреса и порта
  6. TCP флагове
  7. Поредният номер на данните в пакета
  8. Ack данни
  9. Размер на прозореца
  10. Дължина на пакета

Първото поле ( 17: 00: 25,369138 ) показва времевата отметка, когато вашата система е изпратила или получила пакета. Записаното време се извлича от местното време на вашата система.

къде да намеря ключа за защита на мрежата

Второто и третото поле означават използвания интерфейс и потока на пакета. В горния фрагмент, wlp0s20f3 е името на безжичния интерфейс и Вън е пакетният поток.

Четвъртото поле включва информация, свързана с името на мрежовия протокол. Като цяло ще намерите два протокола- IP и IP6 , където IP означава IPV4, а IP6 е за IPV6.

Следващото поле съдържа IP адресите или името на системата източник и местоназначение. IP адресите са последвани от номера на порта.

Шестото поле в изхода се състои от TCP флагове. В изхода на tcpdump се използват различни флагове.

Име на флагаСтойностОписание
ГЛЕДКАСВръзката започна
КРАЙFВръзката завърши
НатиснетеPДанните се изтласкват
RSTRВръзката се нулира
ALAS.Признание

Изходът може също да съдържа комбинация от няколко флага на TCP. Например, ФЛАГ [е.] означава пакет FIN-ACK.

Придвижвайки се по -нататък в изходния фрагмент, следващото поле съдържа поредния номер ( последователност 196: 568 ) на данните в пакета. Първият пакет винаги има положително цяло число, а следващите пакети използват относителния пореден номер, за да подобрят потока от данни.

Следващото поле съдържа номера за потвърждение ( ack 1 ), или обикновен номер на Ack. Пакетът, уловен в машината на изпращача, има 1 като номер за потвърждение. В края на приемника номерът на Ack е стойността на следващия пакет.

Деветото поле в изхода отговаря на размера на прозореца ( спечелете 309 ), който е броят на наличните байтове в приемащия буфер. Има няколко други полета, които следват размера на прозореца, включително максималния размер на сегмента (MSS).

Последното поле ( дължина 33 ) съдържа дължината на общия пакет, уловен от tcpdump.

3. Ограничете броя на заловените пакети

Докато изпълнявате командата tcpdump за първи път, може да забележите, че системата продължава да улавя мрежови пакети, докато не предадете сигнал за прекъсване. Можете да замените това поведение по подразбиране, като предварително посочите броя на пакетите, които искате да заснемете, като използвате -° С флаг.

tcpdump --interface any -c 10

Гореспоменатата команда ще улови десет пакета от всеки активен мрежов интерфейс.

4. Филтриране на пакети въз основа на полета

Когато отстранявате проблем, получаването на голям блок извеждане на текст на терминала не го прави по -лесно. Това е мястото, където функцията за филтриране в tcpdump влиза в игра. Можете да филтрирате пакетите според различни полета, включително хост, протокол, номер на порт и др.

За да уловите само TCP пакети, въведете:

tcpdump --interface any -c 5 tcp

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

tcpdump --interface any -c 5 port 50

Горепосочената команда ще извлича само пакети, предадени през посочения порт.

За да получите подробности за пакета за определен хост:

tcpdump --interface any -c 5 host 112.123.13.145

Ако искате да филтрирате пакети, изпратени или получени от конкретен хост, използвайте src или и т.н. аргумент с командата.

tcpdump --interface any -c 5 src 112.123.13.145
tcpdump --interface any -c 5 dst 112.123.13.145

Можете също да използвате логическите оператори и и или да комбинирате два или повече израза заедно. Например, за да получите пакети, които принадлежат на IP източника 112.123.13.145 и използвайте порта 80 :

tcpdump --interface any -c 10 src 112.123.13.145 and port 80

Сложните изрази могат да бъдат групирани заедно с помощта скоби както следва:

tcpdump --interface any -c 10 '(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)'

5. Прегледайте съдържанието на пакета

Можете да използвате -ДА СЕ и flags с командата tcpdump за анализ на съдържанието на мрежовия пакет. The -ДА СЕ флаг означава ASCII формат и обозначава шестнадесетичен формат.

За да видите съдържанието на следващия мрежов пакет, уловен от системата:

tcpdump --interface any -c 1 -A
tcpdump --interface any -c 1 -x

Свързани: Какво е загуба на пакети и как да отстраним причината?

6. Запишете данни за улавяне във файл

Ако искате да запишете данните за улавяне за справочни цели, tcpdump е там, за да ви помогне. Просто предайте флаг с командата по подразбиране за запис на изхода във файл, вместо да го показва на екрана.

tcpdump --interface any -c 10 -w data.pcap

The .pcap разширение на файла означава улавяне на пакети данни. Можете също така да издадете горепосочената команда в подробен режим, като използвате -v флаг.

tcpdump --interface any -c 10 -w data.pcap -v

За да прочетете а .pcap файл, използвайки tcpdump, използвайте -r флаг, последван от пътя на файла. The -r означава Прочети .

microsoft office 2016 64 битова безплатно изтегляне с продуктов ключ
tcpdump -r data.pcap

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

tcpdump -r data.pcap port 80

Мониторинг на мрежовия трафик в Linux

Ако ви е възложена задачата да администрирате Linux сървър, тогава командата tcpdump е чудесен инструмент за включване във вашия арсенал. Можете лесно да отстраните проблеми, свързани с мрежата, като заснемете пакети, предадени във вашата мрежа в реално време.

Но преди всичко това вашето устройство трябва да е свързано с интернет. За начинаещи в Linux дори свързването с Wi-Fi чрез командния ред може да бъде малко предизвикателство. Но ако използвате правилните инструменти, това е лесно.

Дял Дял Туит електронна поща Как да се свържете с Wi-Fi чрез терминала на Linux с Nmcli

Искате ли да се свържете с Wi-Fi мрежа чрез командния ред на Linux? Ето какво трябва да знаете за командата nmcli.

Прочетете Напред
Свързани теми
  • Linux
  • Сигурност
  • Мрежова криминалистика
За автора Дийпеш Шарма(79 статии са публикувани)

Deepesh е младши редактор за Linux в MUO. Той пише информационни ръководства за Linux, като има за цел да осигури блажено преживяване на всички новодошли. Не съм сигурен за филмите, но ако искате да говорите за технологии, той е вашият човек. В свободното си време можете да го намерите да чете книги, да слуша различни музикални жанрове или да свири на китара.

Още от Deepesh Sharma

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате