
Сервер не может пинговать другие серверы, если только Wireshark не захватывает пакет. И я считаю, что процесс захватывает пакеты до процесса ping. Но как найти этот процесс?
решение1
ОК. Я сам решаю эту проблему. Правда в том, что пакет, отправленный на мой сервер, имеет правильный IP-адрес, но неправильный MAC-адрес. Поэтому, если wiredshark выключен, сетевая карта (NIC) сразу его отбросит. Но если wiredshark включен, он перехватит пакет и изменит MAC-адрес на правильный.
решение2
Я испытываю ту же проблему при пинге моего целевого устройства Ethernet с машины Windows 7 (Enterprise, SP1). В моей конфигурации есть 2 адаптера USB2Ethernet, а интерфейс Ethernet в Windows идет от драйвера адаптера. Эта аппаратная конфигурация точно работает (работает при пинге из Linux). Но не из Windows.
К сожалению, ваш ответ не проясняет корень проблемы. Если вы имеете в виду, что ответ ICMP имеет неправильный MAC-адрес, вопрос в том, почему он на самом деле неправильный. Если вы используете готовое программное обеспечение (стандартные инструменты, поставляемые с вашей ОС) и не создаете вручную запросы/ответы ICMP, вопрос все еще открыт, в чем корень проблемы неправильного MAC-адреса? Стек TCP/IP (с реализацией ICMP, являющейся его частью) работает AFAIU, сначала обнаруживая MAC-адрес через широковещательный запрос ARP, а затем выбирая целевой MAC-адрес на основе заданного ответа[ов].
В любом случае, я попытался установить статическую запись ARP для IP-адреса назначения (пробовал как MAC-адрес USB2Ethernet, подключенного к одноранговому узлу Windows, так и MAC-адрес целевого интерфейса Ethernet). Пока безуспешно.
На целевой системе (той, которая пингуется) я вижу, что ответы ICMP действительно отправляются, но система Windows, похоже, их отфильтровывает.
С помощью Wireshark, прослушивающего порт, проблема устраняется, и сетевое взаимодействие с целевой системой работает отлично (ICMP и все другие протоколы).
Полагаю, это как-то связано с неразборчивым режимом, в который Wireshark переводит интерфейс Ethernet во время сниффинга, и/или с какими-то настройками/службами Windows, о которых я не знаю.