我有一个 IP YY.YY.YY.YY 的 ssh 服务器在端口 5022 上侦听,它显示以下流量(使用 TCPDUMP),其中 XX.XX.XX.XX 是外部未知 IP,
10:34:58.879055 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: S 1093512123:1093512123(0) win 29200 <mss 1460,sackOK,timestamp 4152861140 0,nop,wscale 7> (DF) [tos 0x68]
10:34:58.879222 YY.YY.YY.YY.5022 > XX.XX.XX.XX.59800: S 1017497190:1017497190(0) ack 1093512124 win 16384 <mss 1460,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 4107297338 4152861140> (DF)
10:34:58.902942 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: . ack 1 win 229 <nop,nop,timestamp 4152861164 4107297338> (DF) [tos 0x68]
10:34:58.902980 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: P 1:24(23) ack 1 win 229 <nop,nop,timestamp 4152861164 4107297338> (DF) [tos 0x68]
10:34:58.916629 YY.YY.YY.YY.5022 > XX.XX.XX.XX.59800: P 1:22(21) ack 24 win 271 <nop,nop,timestamp 4107297338 4152861164> (DF)
10:34:58.939061 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: . ack 22 win 229 <nop,nop,timestamp 4152861201 4107297338> (DF) [tos 0x68]
10:34:58.939120 YY.YY.YY.YY.5022 > XX.XX.XX.XX.59800: P 22:1054(1032) ack 24 win 271 <nop,nop,timestamp 4107297338 4152861201> (DF)
10:34:58.939603 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: P 24:672(648) ack 22 win 229 <nop,nop,timestamp 4152861201 4107297338> (DF) [tos 0x68]
10:34:58.941607 YY.YY.YY.YY.5022 > XX.XX.XX.XX.59800: F 1054:1054(0) ack 672 win 271 <nop,nop,timestamp 4107297338 4152861201> (DF)
10:34:58.961672 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: F 672:672(0) ack 1054 win 245 <nop,nop,timestamp 4152861223 4107297338> (DF) [tos 0x68]
10:34:58.961721 YY.YY.YY.YY.5022 > XX.XX.XX.XX.59800: F 1054:1054(0) ack 673 win 271 <nop,nop,timestamp 4107297338 4152861223> (DF)
10:34:58.963932 XX.XX.XX.XX.59800 > YY.YY.YY.YY.5022: . ack 1055 win 245 <nop,nop,timestamp 4152861226 4107297338> (DF) [tos 0x68]
我害怕的是标志 S、P 和 F,这意味着同步、推送、完成......
我不擅长网络,但我可以认为连接损害了我的服务器吗?该IP和muy服务器之间是否有完整的流量,或者只是连接尝试?
谢谢。
Syn、Push、Fin 是 TCP 数据包的正常标志。他们自己并没有说明您的服务器是否受到损害。
查看流量,我猜测它甚至在尝试对服务器进行身份验证之前就失败了:
这是 3 次 TCP 握手,由想要连接到 YY.YY.YY.YY 的 XX.XX.XX.XX 发起。Syn 标志表明这是一个新连接的开始。
在每个 SSH 连接开始时,每一方都会发送一个“横幅”,这是一个简短的文本,说明它使用哪种 SSH 软件。这些数据包看起来像 XX.XX.XX.XX 将其标语发送到 YY.YY.YY.YY;然后 YY.YY.YY.YY 承认它并将其横幅发送给 XX.XX.XX.XX;然后 XX.XX.XX.XX 承认它。
根据SSH协议,在发送banner之后,每一方都会发送一条消息,说明它支持哪些加密算法,支持哪些密钥交换协议等,以便双方协商加密连接时使用的加密密钥.
显然 YY.YY.YY.YY 不喜欢 XX.XX.XX.XX 发送的内容(可能没有他们都支持的算法?或者 XX.XX.XX.XX 发送了格式错误的数据包?),所以不要继续对于密钥交换,它决定告诉 XX.XX.XX.XX(通过使用 Fin 标志)它想要关闭连接而不是进一步继续连接。XX.XX.XX.XX 也使用 Fin 标志来关闭连接(要么是因为它也确定无法进行密钥交换,要么是因为它得到了 YY.YY.YY.YY 的 Fin)。
理论上使用 XX.XX.XX.XX 的人可以修复 XX.XX.XX.XX 以支持更多的算法,以便成功完成密钥交换并尝试暴力登录。