想查看HTTP请求和应答报文,可以先了解一下TCP和HTTP协议:HTTP是第七层也就是应用层协议,它是建立在TCP协议之上的,因此,抓包分析的话,HTTP交互都是从TCP三次握手开始的。
以一次简单的HTTP交互为例说明:
客户端-->syn-->服务器 (TCP层交互)
服务器-->syn ack-->客户端 (TCP层交互)
客户端-->ack-->服务器 (TCP层交互)
TCP三次握手建立连接后,
4. 客户端发送GET/POST请求数据 (HTTP层交互)
5. 服务器收到GET/POST请求,回复ack (TCP层交互)
6. 服务器根据请求回复相应的数据 (HTTP层交互)
7. 客户端收到服务器数据,回复ack (TCP层交互)
在完成HTTP数据交互后,TCP四次分手断开连接:
8. 客户端-->fin ack-->服务器
9. 服务器-->ack-->客户端
10. 服务器-->fin ack-->客户端
11. 客户端-->ack-->服务器
这样,一次简单的HTTP交互就完成了。如果要查看的话,windows下可用wireshark等抓包工具,linux下用tcpdump就行。wireshark和tcpdump都可以指定网卡和设置相关规则,过滤掉不想关的报文。
2009-12-07