Указание подробностей
зный способ анализа внутренней работы сети. Для этой цели разработано множество различных инструментов. Один из них — tcpdump. Здесь мы покажем вам, как наилучшим образом использовать этот замечательный инструмент как для сетевых инженеров, так и для тестеров на проникновение.Читайте также: Tor против VPN: одно лучше другого?
Что такое tcpdump?
tcpdump — это инструмент для анализа сетевых пакетов, который был разработан и выпущен в 1988 году группой ученых-компьютерщиков, работающих в лаборатории Лоуренса Беркли и ее группой сетевых исследований. Он используется для отображения содержимого пакетов, которые отправляе
Contents
Что такое 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
Здесь показан список флагов, которые можно использовать при использовании этого инструмента.
Если вы хотите просмотреть более полное и подробное руководство, вы можете просмотреть справочную страницу (страницу руководства) с помощью команды man
:
man 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
Читайте также: 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
Если вы хотите указать подсеть сети, используя нотацию 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]
Это делается с помощью флага -w
:
tcpdump -i [interface] -w [filename]
Например, вы можете сохранить захваченные данные в файле с именем «capture.txt»:
tcpdump -i eth0 -w capture.txt
Читайте также: Как открыть порты и настроить переадресацию портов на маршрутизаторе
Часто задаваемые вопросы
1. Я получил ошибку «Операция не разрешена». Как мне решить эту проблему?
Ниже приводится типичная ошибка, с которой пользователи могут столкнуться при попытке использовать tcpdump:
tcpdump выдает эту ошибку, если у вас нет необходимых разрешений для захвата пакетов. В большинстве случаев эту проблему можно решить, используя sudo
. Например:
sudo tcpdump -i eth0
2. Как узнать, какие сетевые интерфейсы доступны?
tcpdump имеет встроенную функцию, позволяющую проверять доступные сетевые интерфейсы в вашей системе.
Чтобы проверить интерфейсы, используйте флаг -D
:
tcpdump -D