Wireshark网络抓包(一)——数据包、着色规则和提示
一、数据包详细信息
Packet Details面板内容如下,主要用于分析封包的详细信息。

帧:物理层、链路层
包:网络层
段:传输层、应用层

1)Frame
物理层数据帧概况

2)Ethernet II
数据链路层以太网帧头部信息

3)Internet Protocol Version 4
互联网层IP包头部信息

IP包头:

4)Transmission Control Protocol
传输层数据段头部信息,此处是TCP协议

TCP包头:

5)Hypertext Transfer Protocol
应用层信息,此处是HTTP协议
二、着色规则
Wireshark默认有一组着色规则,可以在Packet Details面板中展开包的帧部分,查看着色规则。

在View | Coloring Rules中,打开着色规则窗口,可以自己创建、删除、选中、去除。

三、Wireshark提示
1)Packet size limited during capture
说明被标记的那个包没有抓全。一般是由抓包方式引起,有些操作系统中默认只抓每个帧的前96个字节。
4号包全长171字节,但只有96字节被抓到。

2)TCP Previous segment not captured
如果Wireshark发现后一个包的Seq大于Seq+Len,就知道中间缺失了一段。
如果缺失的那段在整个网络包中找不到(排除了乱序),就会提示。
6号包的Seq是1449大于5号包的Seq+Len=1+1=1,说明中间有个1448字节的包没被抓到,就是“Seq=1,Len=1448”。

3)TCP ACKed unseen segment
当Wireshark发现被Ack的那个包没被抓到,就会提示。
32号包的Seq+Len=6889+1448=8337,说明下一个包Seq=8337。
而我们看到的是35号包的Seq=11233,意味着8337~11232这段数据没抓到。

4)TCP Out-of-Order
当Wireshark发现后一个包的Seq号小于前一个包的Seq+Len时,就会认为乱序,发出提示。
3362号包的Seq小于3360包的Seq,所以就是乱序。

5)TCP Dup ACK
当乱序或丢包发生时,接收方会收到一些Seq号比期望值大的包。没收到一个这种包就会Ack一次期望的Seq值,提现发送方。
7号包期望的下一个Seq=30763,但8号包Seq=32223,说明Seq=30763包丢失,9号包发了Ack=30763,表示“我要的是Seq=30763”。
10号、12号、14号也都是大于30763的,因此没收到一个就回复一次Ack。

6)TCP Fast Retransmission
当发送方收到3个或以上的【TCP Dup ACK】,就意识到之前发的包可能丢了,于是快速重传它。

7)TCP Retransmission
如果一个包真的丢了,又没有后续包可以在接收方触发【Dup Ack】就不会快速重传。
这种情况下发送方只好等到超时了再重传。
1053号包发出后,一直没有等到相应的Ack,只能在100多毫秒之后重传了。

8)TCP zerowindow
包种的“win”代表接收窗口的大小,当Wireshark在一个包中发现“win=0”时,就会发提示。

9)TCP window Full
此提示表示这个包的发送方已经把对方所声明的接收窗口耗尽了。
当Wireshark计算出Middle East已经有65535字节未被确认,就会发出此提示。

【TCP window Full】表示发送方暂时没办法再发送数据;
【TCP zerowindow】表示发送方暂时没办法再接收数据。
10)TCP segment of a reassembled PDU
Wireshark可以把属于同一个应用层的PDU的TCP包虚拟地集中起来。
TCP层收到上层大块报文后分解成段后发出去,主机响应一个查询或者命令时如果要回应很多数据(信息)而这些数据超出了TCP的最大MSS时,
主机会通过发送多个数据包来传送这些数据(注意:这些包并未被分片)。

11)Time-to-live exceeded(Fragment reassembly time exceeded)
表示这个包的发送方之前收到了一些分片,但由于某些原因迟迟无法组装起来。

参考资料:
wireshark怎么抓包、wireshark抓包详细图文教程
Wireshark网络抓包(一)——数据包、着色规则和提示的更多相关文章
- wireshark抓取OpenFlow数据包
在写SDN控制器应用或者改写控制器源码的时候,经常需要抓包,验证网络功能,以及流表的执行结果等等,wireshark是个很好的抓包分析包的网络工具,下面简介如何用wireshark软件抓取OpenFl ...
- Wireshark网络抓包(三)——网络协议
一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通 ...
- wireshark抓取mysql数据包
最近在学习搭建数据库服务,因为跟产品相关所以需要从流量中拿到mysql的数据包.然后就想着在本机搭建mysql数据库,然后连接,用wireshark抓就行了. MySQL搭建用的是XAMPP,想说XA ...
- Wireshark学习笔记——怎样高速抓取HTTP数据包
0.前言 在火狐浏览器和谷歌浏览器中能够很方便的调试network(抓取HTTP数据包),可是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.尽管也可使用H ...
- wireshark抓取本地数据包
windows系统中,本地向自身发送数据包没有经过真实的网络接口,而是通过环路(loopback interface)接口发送,所以使用基于只能从真实网络接口中抓数据的winpcap是无法抓取本地数据 ...
- wireshark在windows下无法抓取localhost数据包
在调试SSL时要抓包,通过tcpview和minisniffer等工具明明看到tcp连接已经建立并开始收发数据了,但wireshark却总是无法抓到相应的数据包. 今天早上,HQ的高工告诉我“wire ...
- wireshark如何抓取本机包
在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信.但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以. 具体方法如下: 方法一 ...
- Fiddler:在PC和移动设备上抓取HTTPS数据包
Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能 ...
- 图解Fiddler如何抓取Android数据包
介绍Fiddler抓取Android数据包希望对大家的工作和学习有所帮助! 电脑开启wifi热点 首先在电脑上下载一个wifi软件,我这里用的是猎豹wifi,电脑开启wifi热点后,如下图所示: 设 ...
- Fiddler抓取https数据包
Wireshark和Fiddler的优缺点: ①Wireshark是一种在网络层上工作的抓包工具,不仅自带大量的协议分析器,而且可以通过编写Wireshark插件来识别自定义的协议.虽然Wiresha ...
随机推荐
- markdown表格
markdown制作表格 一. 使用原生html表格标签制作 <table> <tr> <td>表头</td> </tr> <tr&g ...
- Ubuntu 开启SSH 以及LAMP环境安装
1. 更新 apt-get sudo apt-get update 2.安装 openssh sudo apt-get install openssh-server 3.设置root账号密码 sudo ...
- [转]hibernate缓存机制所有详解
以下文章来自http://www.blogjava.net/tbwshc/articles/380013.html Hibernate 所有缓存机制详解 hibernate提供的一级缓存 hibern ...
- 多年心愿,终于完成,热泪盈眶啊。。。Adrew NG 的 机器学习
谢谢Andrew老师!谢谢Coursera!谢谢自己!希望这是一个好的开始!希望自己也能使用机器学习来make a better world...
- PHPCMS v9 列表页实现文件下砸
{template "content","header"} <div class="list"> <div class=& ...
- linux 驱动入门6
看/sys目录经常看到bus device driver class. 这也是网上大量说的驱动驱动模型.这些的关系得熟悉得明白吧.是的.今天我先不整他们的关系.先逐个击破,然后再统一来理清楚他们之间的 ...
- CodeForces 652C Foe Pairs
只要计算每个位置最多能到哪个位置,累加即可,DP从后往前预处理一下每个位置到达的最远位置. 有坑点:输入的时候如果同一个点出发的,需要保存最小值. #include<cstdio> #in ...
- 如何在微软Hyper-V下发挥SQL Server最大功效
要建设稳定运行的虚拟化SQL Server系统,关键是确保虚拟化管理软件配置能提供数据库所需的资源.SQL Server是CPU密集型技术,因此支撑它的虚拟机需要能获得充足的处理器资源,同时不能引起与 ...
- JAVA解析HTML,获取待定元素属性
Document doc = Jsoup.parseBodyFragment(previewHtml); //html内容解析为Document int index = 0; StringBuffer ...
- C语言-结构体
C语言中数组是把相同类型的数据类型的变量集中在一起了,而结构体则是把不同类型的变量聚集在一起. 结构体也是一种数据类型,但是它是一种自定义的数据类型,也就是说和使用其他数据类型不一样,我们得先定义这种 ...