ГлавнаяОперационные системыLinuxКак использовать tcpdump для захвата пакетов

Как использовать tcpdump для захвата пакетов

Указание подробностей

зный способ анализа внутренней работы сети. Для этой цели разработано множество различных инструментов. Один из них — tcpdump. Здесь мы покажем вам, как наилучшим образом использовать этот замечательный инструмент как для сетевых инженеров, так и для тестеров на проникновение.

Читайте также: Tor против VPN: одно лучше другого?

Что такое tcpdump?

tcpdump — это инструмент для анализа сетевых пакетов, который был разработан и выпущен в 1988 году группой ученых-компьютерщиков, работающих в лаборатории Лоуренса Беркли и ее группой сетевых исследований. Он используется для отображения содержимого пакетов, которые отправляе

Что такое tcpdump?

лита поставляется с множеством опций, позволяющих сделать захват пакетов более конкретным и целенаправленным. Некоторые из этих вариантов включают различные сетевые протоколы и сетевые интерфейсы.

Установка

Многие дистрибутивы Linux поставляются с утилитой, установленной прямо из коробки. Однако, если выбранный вами дистрибутив этого не поддерживает, установка, к счастью, будет быстрой и простой.

Если вы используете, например, Ubuntu или Debian, его можно установить с помощью apt:

sudo apt install tcpdump

В CentOS то же самое делается с помощью yum:

sudo yum install tcpdump

И в Arch Linux, используя pacman:

sudo pacman -S tcpdump

Читайте также: Что такое луковая маршрутизация и как вернуть конфиденциальность

Основы

Установив tcpdu

Установка

мотреть руководство, используя флаг -h:

tcpdump -h

Здесь показан список флагов, которые можно использовать при использовании этого инструмента.

Команда справки Tcpdump

Если вы хотите просмотреть более полное и подробное руководство, вы можете просмотреть справочную страницу (страницу руководства) с помощью команды man:

man tcpdump
Справочная страница Tcpdump

Вы можете запустить базовый перехват пакетов, набрав:

tcpdump

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

Если вы не хотите, чтобы tcpdump разрешал имена хостов, а вместо этого выводил только IP-адреса, вы можете использовать флаг -n:

tcpdump -n

<

Если вы хотите указать количество пакетов, которые хотите перехватить, используйте флаг -c:

tcpdump -c 

Основы

umber of packets]

Указание сетевого интерфейса

Вы можете указать свой выбор сетевого интерфейса, используя флаг -i:

tcpdump -i [interface]

Два наиболее распространенных имени сетевого интерфейса в большинстве систем — eth0 и wlan0:

tcpdump -i eth0
tcpdump -i wlan0

Если вы хотите собирать данные на всех интерфейсах, вы можете использовать опцию any:

tcpdump -i any
Tcpdump Захват любых интерфейсов

Читайте также: Ethernet-коммутатор, концентратор и сплиттер: в чем разница?

Указание порта/диапазона портов

Если вы хотите собирать только данные, использующие определенный номер порта, используйте команду:

tcpdump -i [interface] port [port number]

Предположим, вы хотите перехватывать трафик на интерфейсе eth0и на порту 443 (HTTPS). Введите следующее:

tcpdump -i eth0 port 443

Кроме того, tcpdump позволяет указать диапазон портов:

tcpdump -i [interface] portrange [port range]

Указание хоста или подсети

Бывают случаи, когда вы захотите ограничить перехваченные пакеты только теми, которые отправлены/получены с определенного хоста или подсети. К счастью, tcpdump позволяет это сделать.

Вы можете указать хост, используя следующий формат:

tcpdump -i [interfa

Указание сетевого интерфейса

ost]

В качестве примера перехватите трафик на интерфейсе eth0 и укажите хост 127.0.0.1 (ваш собственный IP-адрес обратной связи):

tcpdump -i eth0 host 127.0.0.1
Захват трафика хоста Tcpdump

Если вы хотите указать подсеть сети, используя нотацию CIDR, вы можете использовать следующий формат:

tcpdump -i [interface] net [subnet]

Например:

tcpdump -i eth0 net 10.0.0.0/8

Вы также можете напрямую указать исходный хост:

tcpdump -i [interface] src [host]

И хост назначения:

tcpdump -i [interface] dst [host]

Читайте также: Как запустить Nmap без рута или

Указание порта/диапазона портов

tcpdump позволяет указать степень детализации захвата пакетов. Это очень полезно, если вы не хотите, чтобы во время захвата вас перегружало количество информации.

Существует три дополнительных варианта подробностей: флаги -v, -vvи -vvv:

tcpdump -i [interface] -v
tcpdump -i [interface] -vv
tcpdump -i [interface] -vvv
Tcpdump Укажите многословность

Первый вариант указывает наименьшую многословность, а третий вариант — наибольшую.

Сохранение снимка в файл

Указание хоста или подсети

анные в файл, чтобы их можно было далее анализировать и интерпретировать.

Это делается с помощью флага -w:

tcpdump -i [interface] -w [filename]

Например, вы можете сохранить захваченные данные в файле с именем «capture.txt»:

tcpdump -i eth0 -w capture.txt

Читайте также: Как открыть порты и настроить переадресацию портов на маршрутизаторе

Часто задаваемые вопросы

1. Я получил ошибку «Операция не разрешена». Как мне решить эту проблему?

Ниже приводится типичная ошибка, с которой пользователи могут столкнуться при попытке использовать tcpdump:

Ошибка операции Tcpdump не разрешена

tcpdump выдает эту ошибку, если у вас нет необходимых разрешений для захвата пакетов. В большинстве случаев эту проблему можно решить, используя sudo. Например:

sudo tcpdump -i eth0

2. Как узнать, какие сетевые интерфейсы доступны?

tcpdump имеет встроенную функцию, позволяющую проверять доступные сетевые интерфейсы в вашей системе.

Чтобы проверить интерфейсы, используйте флаг -D:

tcpdump -D

Сохранение снимка в файл

Часто задаваемые вопросы

1. Я получил ошибку «Операция не разрешена». Как мне решить эту проблему?

2. Как узнать, какие сетевые интерфейсы доступны?

ПОХОЖИЕ СТАТЬИ

Популярные записи