SSH底层也是TCP协议,下面通过一个wireshark抓取SSH服务的流量
首先启动wireshark后,通过telent连接SSH服务,并键入”cc“后得到如下结果
# telnet xx.xx.xx.xx 22Trying xx.xx.xx.xx...Connected to xx.xx.xx.xx.Escape character is '^]'.SSH-2.0-OpenSSH_7.4ccProtocol mismatch.Connection closed by foreign host.
可以看出是服务端主动端口了连接,得到如下的TCP流量图,
下面逐一解释每条记录,在建立连接初始化时候,服务端和客户端的seq都为0(相对值),这个值是随机生成的,高级的工具都会将他翻译成相对值。
- 客户端SYN建立TCP连接, seq = 0,此时客户端的seq已经变成 1
- 服务端相应SYN,ACK , seq = 0,ACK=1 此时服务端seq也变成了1
- 客户端相应ACK, seq=1 , ACK= 1 TCP的连接建立 <