Tracerouteまたはtcptracerouteを使用して60バイトを超えるTCPパケットを送信することはできません。

Tracerouteまたはtcptracerouteを使用して60バイトを超えるTCPパケットを送信することはできません。
[root@host33cn ~]# traceroute -M tcp -f 255 -m 255 -q 10 -w 1 -p 9101 10.11.1.6 1400
traceroute to 10.11.1.6 (10.11.1.6), 255 hops max, 60 byte packets
255  host05cn.zen.com (10.11.1.6)  0.112 ms  0.133 ms  0.070 ms  0.156 ms  0.091 ms  0.098 ms  0.072 ms  0.106 ms  0.113 ms  0.075 ms
[root@host33cn ~]#

上記のコマンドを使用して1400バイトを送信してください。インターフェイスMTUは1500です。ただし、TCPの場合はデフォルトの60バイトパケットを送信します。

60バイト未満の1000個のパケットを試しました。まだデータパケットの60バイトしか占有しませんが。

私が逃したものはありますか?

ベストアンサー1

tcpメソッド(-M tcp)を使用すると、TracerouteはデフォルトでTCP SYNパケットを使用します。 ~から ルート追跡(8):

tcp -T

    ファイアウォールをバイパスするように設計されたよく知られた最新の方法です。一定の宛先ポート(デフォルトは80、http)を使用します。

    ネットワークパスにいくつかのフィルタがある場合は、「不可能」UDPポート(デフォルトの方法の場合)またはさらにicmp echo(icmpの場合)がフィルタリングされ、トレースパス全体がこれらのファイアウォールの停止からブロックされます。ネットワークフィルタをバイパスするには、許可されたプロトコル/ポートの組み合わせのみを使用する必要があります。特定のメールサーバーを追跡すると-T -p 25触れても届く-Iできません。

    この方法は、ターゲットホストのアプリケーションが私たちのプローブを見ることを防ぐためのよく知られている「半オープンテクノロジー」を使用します。通常、tcp syn が送信されます。非受信ポートの場合、TCPリセットを受信すると完了します。アクティブな受信ポートの場合、tcp syn + ackをリッスンしますが、予想されるtcp ackの代わりにtcpリセットで応答するため、アプリケーションが認識しなくてもリモートTCPセッションは破棄されます。

わかるようにこの投稿、TCP SYNパケットにはペイロードを含めないでください。これはおそらくこの場合、Tracerouteがパケット長を無視する理由です。

Tracerouteは、この場合、ユーザーの混乱を避けるために、より明確に警告を表示したり実行を拒否したりできます。

マニュアルページでは、場合によってはパケット長を無視できると言われています。

    選択科目packet_len`gthはプローブパケットの合計サイズです(デフォルトはIPv4の場合は60バイト、IPv6の場合は80バイト)。場合によっては、指定されたサイズを無視するか、最小値に増やすことができます。

    (上記の「`」はマニュアルページに表示され、誤字のようです。)

おすすめ記事