转载之前:基于HTTP的视频流中,客户端有时会打开使用多条TCP与服务器连接,为了验证每一对话的sessionID是否相同,使用wireshark进行了抓包分析(抓到的都是加密的包,无卵用orz....),这里就需要学会从wireshark中看出握手是否成功,这就是我转载的原因啦!
开始!:
启动
点击start出现下面的对话框
wireshark是捕获机器上的 某一块网卡的网络包,当机器上有多块网卡的时候,需要选择一个网卡进行捕获操作。
选择网卡
>主页面上,直接点击选中后start
>capture->interfaces,选择后start
窗口介绍
1. Display Filter(显示过滤器), 用于过滤已经捕获到的数据
PS:过滤器分为显示过滤器和捕获过滤器。捕获过滤器用来过滤捕获的封包,以免捕获到过多的数据。
捕获过滤器的设置方式,capture->capture filters
2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同的协议。
3. Packet Details Pane(封包详细信息), 显示封包中的字段
各行信息说明如下:
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息
Hypertext Transfer Protocol: 应用层的信息
4. Dissector Pane(16进制数据)
16进制数据查看面板,也叫做解析器。这里显示的内容与“封包详细信息”中相同,只是改为以16进制的格式表述。
5. Miscellanous(地址栏)
三次握手抓包过程分析
首先来一张三次握手经典图解
下面使用wireshark实际分析三次握手过程
1.打开wireshark,打开浏览器输入网址blog.csdn.net/hello_yz并访问;
2.停止捕获 ,红方块。不停止的话后面一直抓一直抓......;
3.在封包列表中可以找到下图数据:
在图中可以看到,访问blog.csdn.net/hello_yz网站过程中,wireshark截获到了三次握手的三个数据包,第四个包才是http的。这也说明http确实是使用TCP建立连接的。
下面进行三个数据包的详细分析。
首先对 封包详细信息分析说明
选中一条TCP协议数据包,它的封包详细信息如下图:
第一次握手数据包,可以看到客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。如下图:
第二次握手数据包,可以看到服务器发回确认包, 标志位为 SYN,ACK. 将确认序号ACK设置为1.如下图:
第三次握手数据包,可以看到客户端再次发送确认包(ACK) ,标志位为ACK,将sequence+1.如下图:
经过上述三次握手过程,即建立了HTTP连接。
当三次握手无法顺利进行时,也就不能建立连接。
为了避免抓到过多冗余数据,可以进行捕获过滤器设置
在host文件中添加如下数据便于测试
102.54.94.97 www.oa.com
捕获过滤器设置如下图:
capture->capture filter->new
Filter name自己随意取,host www.oa.com表示只捕获主机名为www.oa.com的数据包
然后,capture->option,选好之后start
抓到的数据包如下所示,可以看到在客户端发出第一次握手的请求后,没有得到服务器的应答,握手失败,无法建立连接。
http://www.cnblogs.com/dyllove98/p/3192083.html