Wireshark 是帮助我们分析网络请求的利器,建议每个同学都装一个。我们先用 Wireshark 抓取一个完整的连接建立、发送数据、断开连接的过程。
简单的介绍一下操作流程。
1、首先打开 Wireshark,在欢迎界面会列出当前机器上的所有网口、虚机网口等可以抓取的部件。
2,接下来要用 Telnet 连接一个外网服务器,所以我选择第一个 WI-FI:en0,这样 Wireshark 就会捕获我连接的 wifi 上的网络传输。
3、想要抓一下最简单的 TCP 连接、发数据、断开的过程,所以要做一下抓取过滤。Wireshark 中的过滤器可以实现这样的需求。在下图红框部分可以选了一个过滤器。
4、因为当前没有直接可用的符合要求的过滤器,所以,需要自己写一个。点击前面的绿色书签图标,然后在弹出窗口中点击加号添加一个。
内容如下,语法就不解释了,一看就知道。
tcp and host
5、选择好刚添加的这个过滤器,双击wifi这个 interface 进入就开始捕获了。
6、这里用了 telnet 连接这台服务器的 6379 端口 telnet ip 6379,因为这台服务器上装着 redis,可以模拟发数据。
在控制台中连接到 6379 端口成功,然后在 Wireshark 上马上捕获到了。
这就是三次握手的过程。
7、然后直接关掉终端,这样会自动触发断开连接,并且发送最少的数据,方便我们观察。整个的过程都被 Wireshark 完整的捕捉到了。
第一部分是连接建立的三次握手,第二部分是发了长度为 1个字节的数据,第三步是客户端主动发起的断开连接的四次挥手过程。
Wireshark 简单介绍
有图先看图
概览信息
也就是图中最上面的红色框部分。这一次的连接建立和中断一共产生了来回 8 次的请求,每次请求会在列表上列出时间、源端IP、目的端IP、以太网帧长度以及概览信息,包括数据传输方向(源端口->目标端口)、标记情况、序号、确认序号、窗口大小等等。
以太网帧
在每次请求信息中,还包括以太网帧,因为信息最终都会通过帧的形式发送出去。
IP数据报
还有 IP 数据报内容,其中包含了源端 IP 和 目的端 IP 等信息。
TCP段
TCP 段当然是重点了,其中包含了 TCP 协议中的所有信息,包括端口号、