@Gambit, единственная фильтрация, поддерживаемая необработанными сокетами linux, - по протоколу IP, а для ICMP - тип сообщения ICMP. Я не знаю насчет окон.
ал многопоточную программу ping. Я создал rawsockets в каждом потоке (для каждого IP) и отправил эхо-запрос ICMP каждому с помощью sendto (), а затем выполнил recvfrom () в каждом потоке. Я получаю сообщения от IP-адресов в различных сокетах (например, если я использовал сокет S1 для sendto для IP1, я получаю эхо-ответы от IP1 до S1, S2 и т. Д.). Нужно ли делать привязку?
Также другая проблема заключается в том, что, хотя я отправляю только 1 ICMP-запрос, я получаю много эхо-ответов от цели. Есть ли способ, которым я могу ограничить это? Это заставляет меня пропустить некоторые другие пакеты ICMP. Есть ли способ для моей программы попросить, чтобы цель прекратила посылать эхо ICMP?
Спасибо,