Как работает tcp ping или traceroute? Нужно ли учитывать только время, необходимое для установления TCP-рукопожатия?
Также в пинге ICMP вы можете указать размер пакета, это может быть достигнуто в пинге TCP?
Как работает 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. Это иногда называют полуоткрытым сканированием соединения.
С man-страницы 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», поэтому вам, вероятно, нужно выбрать определенную пару инструментов, которые реализуют эти тесты, а затем использовать анализатор пакетов, чтобы увидеть, что делают эти конкретные инструменты ,
Нужно ли учитывать только время, необходимое для установления TCP-рукопожатия?
нет ... ваша машина отправляет 3 UDP- пакета с TTL (Time-to-Live), равным 1. Когда эти пакеты достигнут маршрутизатора следующего перехода, он уменьшит TTL до 0 и, таким образом, отклонит пакет. Он отправит ICMP Time-to-Live Exceeded (Тип 11), TTL, равный 0 при передаче (Код 0) обратно на ваш компьютер - с адресом источника самого себя, поэтому вы теперь знаете адрес первого маршрутизатора в пути ,
Больше информации, пожалуйста, смотрите http://www.tek-tips.com/faqs.cfm?fid=381.
Traceroute '' - это утилита отладки сети, которая пытается отследить путь, по которому пакет проходит через сеть. Traceroute передает пакет с малыми значениями времени жизни (TTL). На каждом маршрутизаторе значение уменьшается на 1, а если TTL достигает 0, срок действия пакета истекает и отбрасывается. Traceroute зависит от обычной практики маршрутизатора по отправке сообщения ICMP Time Exceeded, задокументированного в RFC 792, обратно отправителю, когда это происходит.