web-dev-qa-db-ja.com

TCPダンプ、これらの4行を理解できませんか?

これらの4行を理解するためのサポートが必要です。 tcpダンプのように見えますが、実際にはここで何が起こっているのか正確には理解していません。

13:13:22.407445 IP 192.168.246.128.54955 > 192.168.246.13.80: S 2910497703:2910497703(0) win 5840 <mss 1460,sackok,timestamp="" 518611="" 0,nop,wscale="" 6="">
13:13:22.407560 IP 192.168.246.13.80 > 192.168.246.128.54955: S 3762608065:3762608065(0) ack 2910497704 win 64240 <mss 1460,nop,wscale="" 0,nop,nop,timestamp="" 0="" 0,nop,nop,sackok="">
13:13:22.407963 IP 192.168.246.128.54955 > 192.168.246.13.80: . ack 1 win 92 <nop,nop,timestamp 518611="" 0="">
13:13:22.408321 IP 192.168.246.128.54955 > 192.168.246.13.80: R 1:1(0) ack 1 win 92 <nop,nop,timestamp 518611="" 0="">
6
Kell90

クライアントのようです192.168.246.128 Webサーバーに接続しようとしました192.168.246.13ですが、クライアントのウィンドウサイズは92バイトは slow-read attack 防止メカニズムによって拒否されました。

16
Xavier Lucas

[〜#〜] edit [〜#〜]@XavierLucasによる回答で@GuntramBlohmによるコメントを読んだ後、特定のnmapスキャンを実行する方法を簡単に確認しました回線上に見え、OPのパターンはnmap -sTと一致しているようですTCP接続スキャン

例えばポート80が開いているケース

# nmap -sT localhost -p80
11:06:20.734518 IP 127.0.0.1.58802 > 127.0.0.1.80: Flags [S], seq 2064268743, win 32792, options [mss 16396,sackOK,TS val 3605220739 ecr 0,nop,wscale 8], length 0
11:06:20.734540 IP 127.0.0.1.80 > 127.0.0.1.58802: Flags [S.], seq 2269627608, ack 2064268744, win 32768, options [mss 16396,sackOK,TS val 3605220739 ecr 3605220739,nop,wscale 8], length 0
11:06:20.734551 IP 127.0.0.1.58802 > 127.0.0.1.80: Flags [.], ack 1, win 129, options [nop,nop,TS val 3605220739 ecr 3605220739], length 0
11:06:20.734718 IP 127.0.0.1.58802 > 127.0.0.1.80: Flags [R.], seq 1, ack 1, win 129, options [nop,nop,TS val 3605220739 ecr 3605220739], length 0

ポート80が閉じているケース

# nmap -sT localhost -p80
12:18:07.737075 IP 127.0.0.1.58294 > 127.0.0.1.80: Flags [S], seq 2548091563, win 32792, options [mss 16396,sackOK,TS val 672612170 ecr 0,nop,wscale 7], length 0
12:18:07.737085 IP 127.0.0.1.80 > 127.0.0.1.58294: Flags [R.], seq 0, ack 2548091564, win 0, length 0

END EDITtcpdump出力の元の解釈

行ごと13:13:22.407445

13:13:22.407445 IP 192.168.246.128.54955 > 192.168.246.13.80: S 2910497703:2910497703(0) win 5840 <mss 1460,sackok,timestamp="" 518611="" 0,nop,wscale="" 6="">
  • IP:送信元ポート54955の192.168.246.128がIP 192.168.246.13ポート80(http)に接続しようとします

  • TCP接続の開始は、文字Sで示される[〜#〜] syn [〜#〜]フラグを設定することによって開始されます

  • 接続試行のシーケンス番号は2910497703です

  • ウィンドウサイズは5840、最大セグメントサイズは1460

13:13:22.407560の2行目

13:13:22.407560 IP 192.168.246.13.80 > 192.168.246.128.54955: S 3762608065:3762608065(0) ack 2910497704 win 64240 <mss 1460,nop,wscale="" 0,nop,nop,timestamp="" 0="" 0,nop,nop,sackok="">
  • 送信元ポート80のIP 192.168.246.13は、192.168.246.128 srcポート407445からの接続試行に、Sとackで示されるフラグSYN + ACKで応答します。

  • シーケンス番号3762608065と上の行のシーケンス番号が1ずつ増えて2910497704になります。

  • ウィンドウは64240に設定され、最大セグメントサイズ(mss)1460

3行目は、3方向ハンドシェイクの最終パケットです

13:13:22.407963 IP 192.168.246.128.54955 > 192.168.246.13.80: . ack 1 win 92 <nop,nop,timestamp 518611="" 0="">

enter image description here

  • 上記と同じsrcIP:port-dstIP:portペアで、ACKフラグのみが設定されています。

最終行

13:13:22.408321 IP 192.168.246.128.54955 > 192.168.246.13.80: R 1:1(0) ack 1 win 92 <nop,nop,timestamp 518611="" 0="">

この行は、192.168.246.128:54955と192.168.246.13:80の間の接続がリセットされ(RSTフラグ)、これまでに送信されたデータを示すACKフラグが期待どおりに受け入れられたことを読み取ります。この詳細については、 ここ を参照してください。

9
Hrvoje Špoljar