TCP Dump,看不懂这4行?

Kel*_*l90 6 tcpip tcp tcpdump

我需要支持理解这 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="">
Run Code Online (Sandbox Code Playgroud)

Xav*_*cas 16

似乎客户端192.168.246.128试图连接到 Web 服务器,192.168.246.13但客户端的窗口92字节大小被慢读攻击预防机制拒绝。

  • 很好地抓住了那个窗口大小 (6认同)

Hrv*_*jar 9

在阅读@GuntramBlohm 对@XavierLucas 的回答的评论后进行编辑,我快速检查了某些 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

END EDIT tcpdump 输出的原始解释

逐行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="">
Run Code Online (Sandbox Code Playgroud)
  • IP : 192.168.246.128 与源端口 54955 尝试连接到 IP 192.168.246.13 端口 80 (http)

  • TCP 连接启动是通过设置由字母 S 指示的SYN标志来启动的

  • 连接尝试的序号是 2910497703

  • 窗口大小为 5840,最大段大小为 1460

第二行13:13:22.407560

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="">
Run Code Online (Sandbox Code Playgroud)
  • 带有源端口 80 的 IP 192.168.246.13 响应来自 192.168.246.128 src 端口 407445 的连接尝试,并带有由字母 S 和 ack 指示的标志SYN+ACK

  • 序列号 3762608065 和上面一行的序列号加一得到 2910497704

  • 窗口设置为 64240 ,最大段大小 (mss) 1460

第三行是三路握手的最终包

13:13:22.407963 IP 192.168.246.128.54955 > 192.168.246.13.80: . ack 1 win 92 <nop,nop,timestamp 518611="" 0="">
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 它具有与上面相同的 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="">
Run Code Online (Sandbox Code Playgroud)

此行读取 192.168.246.128:54955 和 192.168.246.13:80 之间的连接已重置(RST 标志)和 ACK 标志,表示到目前为止传输的数据已按预期接受。可以在此处找到有关此的更多信息