ポール・グリーン2010年4月29日2019年10月23日ノーコメントある人が次のようなトレースを送ってきて、「パケット番号」が重複しているので、それが再送を表しているかどうかを尋ねてきました。A私は、彼女が「パケット番号」という言葉を使っていることに少し戸惑いました。私は、これらは送信元と送信先のポート番号であって、パケット番号ではないと説明しました。残念ながら、私は彼女の質問に答えることができませんでした。彼女はTCPパケットヘッダから、これらが再送であるかどうかを判断するのに十分な情報を取得していなかったからです。TCPパケットが再送であるかどうかを判断するには、パケットのシーケンス番号を取得する必要があります。データのバイトごとにシーケンス番号をインクリメントします。受信側のホストは、次に表示されると予想されるシーケンス番号を確認応答フィールドにエコーで返します。以下の例は、パケットが送信されたか受信されたかという情報以上のものに興味がある場合に、packet_monitorの制御引数の最小セットとして推奨するものを示しています。引数は監視するIPインターフェースを識別します。全てのインターフェースを監視します。Packet_monitorは大量のストリームメモリを使用することができます。これがないと再送を識別する方法がありません。これがなければ、再送を識別する方法がありません。引数は、特定の接続を識別するのに役立ち、見なければならないパケットの数を減らすのに役立ちます。0000各パケットには1バイトのデータしか含まれていないため、上記のシーケンス番号は1ずつ増加していますが、もしパケットに10バイト、23バイト、1023バイトが含まれている場合、シーケンス番号は10、23、1023によって上昇します。再送とはどのようなものでしょうか?再送では、シーケンス番号が前のシーケンス番号より小さいか、またはそれと同じで、少なくとも1バイトのデータを持っているものが再送されます。複数回繰り返されています。1回目以外はすべて再送です。引数は、表示されたすべてのパケットにタイムスタンプを置きます。これは、ログファイルのメッセージとトレースの関連付けを容易にし、再送シーケンスのようなイベントが実際にどのくらい続くかを推定することを可能にします。数値引数は、ホスト名やポート名を調べないことでオーバーヘッドを減らします。1b42、Urg->0000問題がTCPまたはIP層にあることがわかっている場合、通常はこれで必要な情報はすべて揃っています。問題がアプリケーション層にある可能性がある場合は、実際のデータも必要です。デフォルトでは、最初の128バイトのデータのみが表示されます。安全なサイズにするために、私は常にパケット内のすべてのデータを表示するために、長さを1500に設定しています。7b7a、Urg->0000tcpデータがありません。packet_monitorトレースを誰かに送信する前に、データをサニタイズすることを忘れないでください。状況によっては、IPアドレスをサニタイズしたいと思うかもしれません。IPアドレスは2つの場所にあり、プロトコルヘッダのデコード行では、標準的な点線付き10進法で表示されます。デコード行のすぐ上の行では、16進数の値として表示されます。7b7a、Urg->0000tcpデータがありません。データを実用的なインテリジェンスに変換することを可能にしています。Brasileiro。