Постоянный порядковый номер эхо-запроса ICMP - нет ответа

1286
Bartłomiej Sługocki

Я написал программу, которая (в бесконечном цикле) отправляет пакет эхо-запроса ICMP (пакет состоит только из заголовка IP и только заголовка ICMP), ждет некоторое время, а затем получает пакет эхо-ответа ICMP, отправленный сервером (если есть ).

Когда время ожидания достаточно велико (~ 10 с), все работает как положено - моя программа отправляет пакет, ждет, а затем, после времени ожидания, ответ готов к приему программой. Проблема возникает, когда я устанавливаю время ожидания менее 5 секунд (очевидно, оно все еще намного больше, чем время пинга): первая итерация цикла работает так, как должна, но на каждой последующей итерации я не получаю никаких пакетов эхо-ответа ICMP. Проблема появляется только тогда, когда заголовки ICMP всех пакетов, которые отправляет моя программа, одинаковы - когда заголовки имеют разные порядковые номера, проблема исчезает (для каждого запроса приходит ответ).

Я немного погуглил, но не нашел объяснения этому явлению. Сервер или один из маршрутизаторов на пути к серверу блокируют мои пакеты из-за того, что один и тот же контент поступает через слишком короткие промежутки времени? Это какая-то система против пинг-флуд-атаки?

0
Вы пробовали Wireshark? Что это говорит? 7 лет назад 1
Я использовал tcpdump - он не показывает пакетов ответов на мои запросы (кроме первого, конечно). Bartłomiej Sługocki 7 лет назад 0
Работает ли команда `ping` операционной системы с той же целью? Alex 7 лет назад 1
Да, ping работает правильно, но отправляемые им пакеты имеют разные порядковые номера - в этой ситуации моя программа также работает. Bartłomiej Sługocki 7 лет назад 0
Возможно, узел назначения игнорирует эти пакеты как дубликаты? В конце концов, это то, что порядковый номер для ... grawity 7 лет назад 1

0 ответов на вопрос

Похожие вопросы