SpaceCore WIKI
RU
RU
  • Личный кабинет и Регистрация
    • Регистрация
    • Раздел «Клиент»
    • Раздел «Финансы»
    • Как получить бесплатный VDS?
    • Верификация аккаунта (KYC)
  • Обслуживание клиентов
    • Как оформить заказ?
    • Как обратиться в поддержку?
    • Панель игрового хостинга
    • Настройка BILLmanager 6 для реселлинга
  • Коммуникации
    • Уведомления в Telegram
    • Уведомления на веб-хостинге
    • Использование пинг-бота в Telegram
  • Информационное табло
    • Заблокированные порты (VPS/VDS)
    • Что такое IOPS?
    • НДС для Евросоюза и UK
  • VPS и Выделенные серверы
    • Как пользоваться VPS/VDS?
    • Смена пароля от VDS
  • Настройка ОС и ПО
    • Java [Linux]
    • Screen
    • Восстановление пароля Linux
    • Подключение через SSH-ключи
    • Отключение доступа к Linux через пароль
    • Развертывание MikroTik RouterOS на VDS
  • ИИ
    • Разворачиваем DeepSeek на своем сервере в пару кликов
  • Windows
    • Подключение по RDP
    • Настройка подключения RDP
    • Смена пароля
    • Установка через QEMU
    • Добавление IPv4
    • Скачивание файлов
    • Брут-форсинг Windows
  • Настройка сети и Безопасность
    • Запрет взаимодействия с приватными сетями
    • Работа с TCPDump
    • Изменение значения MTU
    • Настройка IPTables
    • [DNS] Temporary failure resolving...
    • Измерение скорости сети [SpeedTest]
    • Как приобрести доменное имя?
    • Как направить домен на IP-адрес?
    • Как защитить свой сервер? Основы кибербезопасности
  • VPN и Приватность
    • WireGuard VPN [Easy]
    • OpenVPN [Easy]
    • Установка Outline VPN
    • Установка TorrServer
    • Установка 3X UI
    • Установка Marzban
    • Прокси определенных сайтов (V2RayN)
    • Использование Nekoray
  • Мониторинг Системы
    • Мониторинг трафика через VnStat
    • Как собрать трассировку?
    • Получение серийных номеров накопителей
  • Администрирование и Бэкапы
    • Работа с FTP-хранилищем
    • Авто-отгрузка бекапов
    • Установка FTP-сервера
    • Монтирование накопителей Linux
  • Веб-разработка
    • Установка Apache2
    • Установка Nginx
    • Установка PHP
    • Установка MySQL
    • Подключение phpMyAdmin
    • Генерация Let's Encrypt SSL
  • Minecraft
    • Установка сервера Minecraft Java
    • Установка сервера Minecraft Bedrock/PE
    • Установка сервера BungeeCord
    • Установка ядра SpongeForge 1.12.2
    • Настройка server.properties
    • Установка иконки на сервер
    • Параметры запуска
    • Установка ресурспака на сервер
  • Hetzner Servers
    • Управление сервером
    • Смена пароля посредством Rescue
    • Установка операционной системы
  • 🇩🇪Contabo
    • Панель управления
    • Расширение дискового пространства
Powered by GitBook
On this page
  • Установка TCPDump
  • Аргументы для команды
  • Использование
  • Аргументы фильтрации
  • Расширенные операторы
  • Завершение
  1. Настройка сети и Безопасность

Работа с TCPDump

Данная утилита является полезным инструментом для перехвата и сбора пакетов, поступающих на сервер, а также исходящих от него.

Установка TCPDump

Для Ubuntu/Debian:

apt install tcpdump

Для Red Hat / CentOS:

sudo yum install tcpdump

Аргументы для команды

-c — завершает сбор пакетов после достижения установленного количества.

-C — позволяет установить максимальный размер файла дампа, после достижения которого будет создан новый файл.

-e — выводит информацию об уровне соединения для каждого обработанного пакета.

-F — вывод пакетов из заданного файла, а не интерфейса.

-f — отображает доменное имя для каждого IP-адреса.

-G — создает новый файл дампа через указанное время.

-H — создает ограничение, ввиду которого TCPDump будет обрабатывать только заголовки 802.11s.

-i — имя интерфейса, с которого будут собираться пакеты. Для использования всех интерфейсов сервера укажите значение any.

-I — включает режим мониторинга для указанного интерфейса (для обнаружения всех проходящих пакетов).

-E — используется для расшифровки трафика IPSEC (необходимо указать ключ для расшифровки).

-K — отключает проверку контрольных сумм пакетов.

-L — вывод поддерживаемых протоколов подключения для указанного интерфейса.

-n — пропуск доменных имен в дампе.

-nn — вывод адресов вместе с их портами.

-q — минимализация выводимой информации о пакетах.

-tttt — отображает для каждого пакета временные метки в стандартном формате.

-v, -vv, -vvv — более подробный вывод информации о пакетах.

-Z — пользователь системы, от имени которого будет создаваться файл дампа.

-w — имя файла, в который будет сохранен дамп (по умолчанию без этого аргумента дамп выводится в реальном времени без записи в файл).

Использование

Чтобы не засорять наш дамп лишними пакетами, следует выбрать конкретный интерфейс, с которого мы хотим собрать информацию, а не все. Посмотреть список всех интерфейсов можно при помощи данной команды:

tcpdump -D

На наших виртуальных серверах (VDS) основным сетевым интерфейсом является ens3.

Для вывода логов нашего сетевого интерфейса в реальном времени используем команду:

tcpdump -i ens3

Не забывайте, что для TCPDump требуются права суперпользователя, поэтому данные команды следует выполнять от имени root, либо с использованием sudo.

После использования команды мы увидим множество бегущих строк, для остановки дампа используйте сочетание клавиш Ctrl + C

Собранные пакеты данных имеют примерно такой вид:

22:31:56.330185 IP fsn.spacecore.network.65383 > fsn.spacecore.network.ssh: Flags [P.], seq 7841:7905, ack 10730080, win 6145, length 64

Но при использовании разных протоколов внутренности пакета могут отличаться.

Попробуем увидеть более подробную информацию о пакетах, используя аргумент -v

tcpdump -i ens3 -v

Теперь наши пакеты имеют более массивную структуру типа:

22:36:42.254306 IP (tos 0x0, ttl 122, id 61139, offset 0, flags [DF], proto TCP (6), length 104) fsn.spacecore.network.65383 > fsn.spacecore.network.ssh: Flags [P.], cksum 0x2699 (correct), seq 321:385, ack 1027616, win 6141, length 64

В данном случае видна более подробная информация о протоколе IP-адреса(-ов):

P (tos 0x0, ttl 122, id 61139, offset 0, flags [DF], proto TCP (6)

Аргументы фильтрации

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

host — имя хоста.

ip — IP-адрес.

port — порт.

proto — протокол.

net — адрес конкретной сети или подсети.

src — источник.

dst — получатель.

Доступные протоколы: tcp, udp, icmp, arp, rarp, decnet и т.д

Также эти аргументы можно комбинировать друг с другом.

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

tcpdump dst 192.168.1.1

Или наоборот, все пакеты, которые исходят к нашему серверу из подсети-источника (можно также использовать конкретный IP-адрес, как в примере выше):

tcpdump src net 192.168.1.1/24

Для поиска пакетов необходимого размера можно использовать аргументы на примере

tcpdump less 48 // пакеты меньше 48 бит
tcpdump greater 128 // пакеты больше 128 бит

Допустим у Вас есть несколько серверов Garry's Mod на разных портах, и Вы хотите проверить, ведется ли на них DDoS-атака на текущий момент. Для этого нам подойдет команда:

tcpdump -nnv udp src portrange 27015-27025 -w garrysmod.dump

Обратите внимание на указываемый диапазон портов.

Благодаря аргументу -w дамп будет собран в файл garrysmod.dump

Расширенные операторы

Помимо всего прочего, в TCPDump доступны операторы для создания различных комбинаций аргументов.

AND или && (оператор «И»)

OR или || (оператор «ИЛИ»)

EXCEPT или ! (оператор «КРОМЕ»)

Допустим, мы хотим вывести весь трафик запросов MySQL, который отправляет 192.168.1.1 по порту 3306 (на любые адреса).

tcpdump -nnv src 192.168.1.1 and tcp dst port 3306

Завершение

Спасибо за прочтение! Мы подробно ознакомились с совершенно полезным инструментом TCPDump, который является неотъемлемой частью работы сетевых инженеров, а также обязательно пригодится рядовым пользователям.

PreviousЗапрет взаимодействия с приватными сетямиNextИзменение значения MTU

Last updated 1 year ago

Для чтения пакетов на Windows Вы можете использовать программу .

WireShark