wireshark_checkin
这么多数据包,先快速找到主要部分。

标绿色的是 HTTP 协议相关的,鼠标左键点击 GET /reverse.c 这个条目,看 Wireshark 界面左下角,写着一个 Port: 7070,这个是 HTTP 服务器的开放端口。

接下来点击最上面的搜索框,输入 tcp.port == 7070,这样就可以快速过滤出所有有关这个端口的 TCP 报文

TIP
HTTP 协议是建立在 TCP 协议之上的,这里的 tcp.port == 7070 是过滤出所有有关这个端口的 TCP 报文,而 HTTP 在这个端口之上,因此也相当于过滤出了所有有关这个端口的 HTTP 报文。
这样变得好看多了,但是还不够清晰,因为这里包含了所有有关这个端口的 TCP/HTTP 请求和响应,假如只想看其中一个 HTTP 请求的流程:看 GET /flag.txt 这个条目

有一个 Src port: 33751,所以过滤器写 tcp.port == 33751,因为同一个 HTTP 请求和响应的客户端用的是同一个端口。这样就能只看有关 flag.txt 的这次请求和响应的所有过程。

这就是 3 次握手和四次挥手。
关于 TCP 的 3 次握手和 4 次挥手
3 次握手
4 次挥手
但是下面这个,只有一个 FIN,怎么回事?

因为还有一个 FIN 在 HTTP/1.1 这里面,发送完响应后,就立刻第一次挥手了。

flag 在右下角。