Tinyhttpd:抓包分析【2】
一、问题引入
分析http就离不开报文,或者可以利用 wireshark 抓包解析报文。
二、解决过程
http协议基于 tcp/ip 之上的应用层。
- tcp三次握手
- http get request 报文
通过报文内容可以看到,客户端 HTTP Version是 HTTP 1.1
。客户端请求方法:GET
💡 对比HTTP请求报文标准格式
- http respond 报文
通过报文内容可以看到,服务器 HTTP Version是 HTTP 1.0
。
💡 对比HTTP响应报文标准格式
👉 分析 http respond 报文,这时由两个重组TCP段拼接而成,第一个TCP段长17字节,第二个TCP段长269字节
- http post request 报文
客户端请求方法:POST
- http respond 报文
- http get 超长的html文件
web服务器中html文件的信息:
👉 由图可以看出,当返回的html文件过大,IP层会进行分包(MTU:1500),这里看到的一个html文件是通过 6
个 TCP segment of a reassembled PDU
组合而成
三、反思总结
涉及协议的问题,一定离不开报文分析。然而分析报文,直接抓包解析是最好的途径。