Для перехвата ICMP-пакетов с помощью tcpdump можно использовать следующую команду: 1
sudo tcpdump -i any icmp
Она захватывает трафик с любого интерфейса, фильтрует его, чтобы показать только ICMP (используется командой ping), и выводит на экран. 1
Некоторые другие опции tcpdump, которые могут быть полезны:
- -i интерфейс. 3 Задает интерфейс, с которого необходимо анализировать трафик (без указания интерфейса — анализ «первого попавшегося»). 3
- -n. 3 Отключает преобразование IP в доменные имена. 3
- -e. 3 Включает вывод данных канального уровня (например, MAC-адреса). 3
- -v. 3 Выводит дополнительную информацию (TTL, опции IP). 3
- -s размер. 3 Указание размера захватываемых пакетов (по-умолчанию — пакеты больше 68 байт). 3
- -w имя_файла. 3 Задает имя файла, в который сохранять собранную информацию. 3
- -r имя_файла. 3 Чтение дампа из заданного файла. 3
- -p. 3 Захватывает только трафик, предназначенный данному узлу (по-умолчанию — захват всех пакетов, например в том числе широковещательных). 3
- -q. 3 Переводит tcpdump в «бесшумный режим», в котором пакет анализируется на транспортном уровне (протоколы TCP, UDP, ICMP), а не на сетевом (протокол IP). 3
- -t. 3 Отключает вывод меток времени. 3
Запуск и использование утилиты tcpdump необходимо производить от имени root-пользователя или пользователя с правами sudo. 4