是一个类似tcpdump的嗅探软件,界面更人性化一些,今天我用它来检测一次HTTP连接过程。

安装好之后,先配置一下,选择Capture->
Options,先设定你要嗅探的网络接口,在我的机器上是:
ADMtek AN983/AN985/ADM951X NDIS5 Driver (Microsoft's Packet Scheduler) : \Device\NPF_{
154F772F-7D1B-403E-A84E-E80FD623D5FC}
然后在Capture Filter里输入tcp port http,说明只监听80端口的tcp请求。
设置好这些,你就可以点击Start开始检测了。
打开浏览器随便浏览一个网页,你就会得到类似下面的结果:

 

 

我浏览的是Google的页面。这里211.100.209.50是浏览器,66.249.89.147就是服务器。

下面具体解释一下这个HTTP连接过程:
 

-------------------------------------------------------------- 浏览器向服务器发出连接请求。 服务器回应了浏览器的请求,并要求确认。 浏览器回应了服务器的确认,连接成功。 浏览器发出一个页面HTTP请求。 服务器确认。 服务器发送数据。 客户端确认。 服务器响应了一个200状态,表示成功。 客户端发出一个图片HTTP请求。 服务器响应了一个304HTTP头,告诉浏览器别打扰它,直接用缓存。 客户端又发出一个图片HTTP请求。 服务器还是响应了一个304HTTP头。 浏览器确认。 服务器准备关闭连接,并要求确认。 浏览器确认。 浏览器准备关闭连接,并要求确认。 服务器确认。 -------------------------------------------------------------- 其中包含了我们常说的TCP三次握手的过程。 当“服务器回应了浏览器的请求,并要求确认”的时候, 如果浏览器没有正常的确认,服务器就会在SYN_RECV状态等下去,直到超时。 如果恶意程序伪造了大量类似的请求,那就是常说的SYN洪水***了。