Назад | Перейти на главную страницу

Как работает TCP Ping или Traceroute?

Как работает tcp ping или traceroute? Учитывается ли только время, необходимое для установления связи TCP?

Также в пинге ICMP можно указать размер пакета, можно ли этого добиться в пинге TCP?

Я полагаю, вы имеете в виду эти утилиты:

http://www.vdberg.org/~richard/tcpping.html

http://michael.toren.net/code/tcptraceroute/

Так как tcpping требует tcptraceroute, я начну с tcptraceroute.

Автор tcptraceroute утверждает, что, в отличие от традиционного traceroute, «отправляя TCP SYN-пакеты вместо UDP или ICMP ECHO-пакетов, tcptraceroute может обойти наиболее распространенные фильтры межсетевого экрана».

Далее: стоит отметить, что tcptraceroute никогда полностью не устанавливает TCP-соединение с целевым хостом.

Таким образом, tcptraceroute не измеряет время, необходимое для завершения трехстороннего рукопожатия, потому что этого никогда не происходит. Он измеряет время от начального SYN до SYN / ACK. Иногда это называют сканированием полуоткрытого соединения.

Из справочной страницы nmap:

          This technique is often referred to as half-open scanning,
          because you don’t open a full TCP connection. You send a SYN
          packet, as if you are going to open a real connection and then
          wait for a response. A SYN/ACK indicates the port is listening
          (open), while a RST (reset) is indicative of a non-listener. If
          no response is received after several retransmissions, the port
          is marked as filtered. The port is also marked filtered if an
          ICMP unreachable error (type 3, code 1,2, 3, 9, 10, or 13) is
          received.

Что касается вашего вопроса о размере пакета, в приведенном выше описании также есть ответ. Поскольку tcptraceroute отправляет стандартный пакет SYN, это должен быть небольшой пакет, возможно, 64 байта.

Я не знаю ни одной стандартной спецификации или эталонной реализации для "TCP Ping" или "TCP Traceroute", поэтому вам, вероятно, потребуется выбрать конкретную пару инструментов, реализующих эти тесты, а затем использовать анализатор пакетов, чтобы увидеть, что делают эти конкретные инструменты. .

Traceroute '' - это утилита сетевой отладки, которая пытается отследить путь, по которому пакет проходит через сеть. Traceroute передает пакет с малым временем жизни (TTL). На каждом маршрутизаторе значение уменьшается на 1, и если TTL достигает 0, срок действия пакета истек и он отбрасывается. Traceroute зависит от общей практики маршрутизатора отправки сообщения ICMP Time Exceeded, задокументированного в RFC 792, обратно отправителю, когда это происходит.

Учитывается ли только время, необходимое для установления связи TCP?

нет ... ваша машина отправляет 3 UDP пакеты с TTL (время жизни), равным 1. Когда эти пакеты достигают маршрутизатора следующего перехода, он уменьшает TTL до 0 и, таким образом, отклоняет пакет. Он отправит ICMP Time-to-Live Exceeded (тип 11), TTL равен 0 во время передачи (код 0) обратно на ваш компьютер - с собственным адресом источника, поэтому теперь вы знаете адрес первого маршрутизатора на пути .

Подробнее см. http://www.tek-tips.com/faqs.cfm?fid=381