Tcp pingまたはtracerouteはどのように機能しますか? TCPハンドシェイクを確立するのにかかる時間だけを考慮に入れていますか?
また、ICMP pingでは、パケットサイズを指定できます。これは、TCP pingで実現できますか?
これらのユーティリティについて言及していると思います。
http://www.vdberg.org/~richard/tcpping.html
http://michael.toren.net/code/tcptraceroute/
Tcppingにはtcptracerouteが必要なので、tcptracerouteから始めます。
Tcptracerouteの作成者は、従来のtracerouteとは異なり、「UDPまたはICMP ECHOパケットの代わりにTCP SYNパケットを送信することにより、tcptracerouteは最も一般的なファイアウォールフィルターをバイパスできる」と述べています。
さらに、tcptracerouteが宛先ホストとのTCP接続を完全に確立することは決してないことに注意してください。
したがって、tcptracerouteは3ウェイハンドシェイクの完了にかかる時間を測定しません。最初の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」の標準仕様や参照実装については知りません。そのため、これらのテストを実装する特定のツールのペアを選択し、パケットスニファを使用してそれらの特定のツールの機能を確認する必要があります。 。