В настоящее время пытаюсь реализовать простую программу ping для обучения сетевому программированию на C # и .NET.
Мне удалось инициализировать необработанный сокет и правильно создать пакет эхо-запроса ICMP. При запуске моей программы Wireshark подтверждает, что я отправляю эхо-запрос в нужное место, однако удаленный компьютер никогда не отправит эхо-ответ. Я попытался отправить на несколько машин все с одинаковым результатом (и каждый из этих компьютеров можно пропинговать с помощью утилиты Windows ping). Мой код выглядит так:
IcmpPacket echoReq = new IcmpPacket;
/*Some code to initialize packet*/
rawSocket.Send(echoReq, destinationIP); //syntax may be wrong, dont have the code infront of me sorry
rawSocket.ReceiveFrom(buffer, remoteEndpoint);
Если кто-нибудь может подсказать какие-либо причины, по которым удаленные машины не отправляют никакого ответа, я был бы очень признателен.