Проблема, с которой вы можете столкнуться, связана с тем, что ICMP является уровнем 3 модели OSI и не использует порт для связи.Короче говоря, ICMP не предназначен для этого.Желаемое поведение все еще возможно, но, возможно, используемый вами IP-стек мешает, и если это в системе Windows, то вы на 100% уверены, что это ваша проблема.Я бы запустил Wireshark, чтобы убедиться, что вы действительно получаете входящие пакеты, если это так, то я бы использовал libpcap для отслеживания ответов ICMP.Если проблема связана с отправкой, вам придется использовать необработанные сокеты и создавать свои собственные пакеты ICMP.