使用wireshark
抓包分析网络协议TCP
和HTTP
Basic
- 色彩标识,Wireshark 通过颜色让各种流量的报文一目了然。比如默认绿色是 TCP 报文,深蓝色是 DNS,浅蓝是 UDP,黑色标识出有问题的 TCP 报文——比如乱序报文
- 在 SampleCaptures 下载样本文件
使用 wireshark 观察网络基本协议
TCP
TCP/IP
通过三次握手建立一个连接。这一过程中的三种报文是:SYN
,SYN/ACK
,ACK
。第一步是找到 PC 发送到网络服务器的第一个 SYN 报文,这标识了 TCP 三次握手的开始。
如果你找不到第一个 SYN 报文,选择Edit -> Find Packet菜单选项。选择 Display Filter,输入过滤条件:tcp.flags
,这时会看到一个 flag 列表用于选择。选择合适的 flag,tcp.flags.syn==1
。点击 Find,之后 trace 中的第一个 SYN 报文就会高亮出来了。
Find Packet
也可以用于搜索十六进制字符或搜索字符串。
一个快速过滤 TCP 报文流的方式是在Packet List Panel中右键报文,并且选择Follow TCP Stream。这就创建了一个只显示 TCP 会话报文的自动过滤条件。
这一步骤会弹出一个会话显示窗口,默认情况下包含 TCP 会话的 ASCII 代码,客户端报文用红色表示服务器报文则为蓝色。窗口类似下图所示,对于读取协议有效载荷非常有帮助,比如 HTTP,SMTP,FTP。
更改为十六进制 Dump 模式查看载荷的十六进制代码,如下图所示:
关闭弹出窗口,Wireshark 就只显示所选 TCP 报文流。现在可以轻松分辨出 3 次握手信号。
Wireshark 自动为此 TCP 会话创建了一个显示过滤。本例中:tcp.stream eq 14
HTTP
抓包如下:
Follow HTTP
如下
Wireshark 自动创建tcp.stream eq 14