Intereting Posts

Как получить различные типы ICMP

У меня есть задача, на которую я потратил много времени. Я не владею Linux, но могу управлять основными вещами.

Задача состоит в сборе различных типов ICMP-пакетов. Я могу собрать их с помощью tcpdump (что я предпочитаю) или Wireshark.

Я могу получить ICMP-типы эхо-ответа и эхо-запроса с помощью ping, а время превышено с помощью tracepath или traceroute. Теперь то, что я пытаюсь получить, недоступно или временная метка или что-то еще. Мне нужны еще два типа, но я не знаю, как это сделать.

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

Может ли кто-нибудь мне посоветовать или сообщить мне, какие команды я могу использовать, и каким образом получить еще два типа ICMP-пакетов?

Вы можете создать некоторые из недостижимых вариантов ICMP с квалификаторами для iptables ... -j REJECT на отдельном целевом хосте. (Или VM). Возможные квалификаторы: icmp-net-unreachable , icmp-host-unreachable , icmp-port-unreachable , icmp-proto-unreachable , icmp-net-prohibited icmp-host-prohibited , icmp-host-prohibited icmp-admin-prohibited , icmp-admin-prohibited и tcp-reset .

Например:

 iptables -j REJECT --reject-with icmp-admin-prohibited 

icmpush делает то, что вам нужно.

От man icmpush :

icmpush – это инструмент, который создает ICMP-пакеты, полностью настраиваемые из командной строки.

Он поддерживает следующие типы ошибок ICMP: перенаправление, исходное погашение, превышение времени, устранение цели и проблема с параметром.

И следующие типы информации ICMP: запрос адресной маски, отметка времени, запрос информации, запрос эхо-сигнала, реклама маршрутизатора и реклама маршрутизатора.

icmpush лицензируется как GPLv2, доступен для debian (и, вероятно, большинство других дистрибутивов), а исходный код доступен по адресу http://www.securityfocus.com/data/tools/icmpush22.tar.gz