一、数据包详细信息

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怎么抓包、wireshark抓包详细图文教程

Wireshark入门教程及破解

Wireshark抓包iOS入门教程

Wireshark网络抓包(一)——数据包、着色规则和提示的更多相关文章

  1. wireshark抓取OpenFlow数据包

    在写SDN控制器应用或者改写控制器源码的时候,经常需要抓包,验证网络功能,以及流表的执行结果等等,wireshark是个很好的抓包分析包的网络工具,下面简介如何用wireshark软件抓取OpenFl ...

  2. Wireshark网络抓包(三)——网络协议

    一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通 ...

  3. wireshark抓取mysql数据包

    最近在学习搭建数据库服务,因为跟产品相关所以需要从流量中拿到mysql的数据包.然后就想着在本机搭建mysql数据库,然后连接,用wireshark抓就行了. MySQL搭建用的是XAMPP,想说XA ...

  4. Wireshark学习笔记——怎样高速抓取HTTP数据包

    0.前言     在火狐浏览器和谷歌浏览器中能够很方便的调试network(抓取HTTP数据包),可是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.尽管也可使用H ...

  5. wireshark抓取本地数据包

    windows系统中,本地向自身发送数据包没有经过真实的网络接口,而是通过环路(loopback interface)接口发送,所以使用基于只能从真实网络接口中抓数据的winpcap是无法抓取本地数据 ...

  6. wireshark在windows下无法抓取localhost数据包

    在调试SSL时要抓包,通过tcpview和minisniffer等工具明明看到tcp连接已经建立并开始收发数据了,但wireshark却总是无法抓到相应的数据包. 今天早上,HQ的高工告诉我“wire ...

  7. wireshark如何抓取本机包

    在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信.但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以. 具体方法如下: 方法一 ...

  8. Fiddler:在PC和移动设备上抓取HTTPS数据包

    Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能 ...

  9. 图解Fiddler如何抓取Android数据包

    介绍Fiddler抓取Android数据包希望对大家的工作和学习有所帮助! 电脑开启wifi热点 首先在电脑上下载一个wifi软件,我这里用的是猎豹wifi,电脑开启wifi热点后,如下图所示:  设 ...

  10. Fiddler抓取https数据包

    Wireshark和Fiddler的优缺点: ①Wireshark是一种在网络层上工作的抓包工具,不仅自带大量的协议分析器,而且可以通过编写Wireshark插件来识别自定义的协议.虽然Wiresha ...

随机推荐

  1. Gradle依赖项学习总结,dependencies、transitive、force、exclude的使用与依赖冲突解决

    http://www.paincker.com/gradle-dependencies https://docs.gradle.org/current/userguide/dependency_man ...

  2. Scala中function的理解

    在函数式语言中,函数是和value一样地位的一等公民,他可以作为变量,或者作为参数传递给另一个函数 ##作为变量 val f=(x:Int)=>x+1 为啥可以这样写? 由于scala是OOP, ...

  3. axis2开发实例(一)

    主要参考<axis2之webservice新手超详细教程http://wenku.baidu.com/view/6eae036d011ca300a6c390a4.html> <axi ...

  4. 内层div的margin-top影响外层div——引出外边距合并Collapsing margins

    内层div的margin-top影响外层div——引出外边距合并Collapsing margins 作者:zccst 今天才算是了解边距合并.正如一位前辈所言,每一个CSS的坑,都让你学到不少知识. ...

  5. jquery之选项卡效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(一)

    一般情况下,在Android源码下编译一个jar包的典型makefile(Android.mk)如下: 在文件中加入以下内容: LOCAL_PATH:= $(call my-dir)#make jar ...

  7. Javascript 页面刷新

    Javascript 页面刷新的实现代码收藏 1 2 3 4 5 6 7 8 history.go(0) location.reload() location=location location.as ...

  8. Delphi ADOQuery连接数据库的查询、插入、删除、修改

    http://blog.csdn.net/chinazhd/article/details/45047777 //查询记录 procedure TForm1.Button1Click(Sender: ...

  9. FB面经 Prepare: All Palindromic Substrings

    Given a string, calculate how many substring is palindrome. Ignore non-char characters. Ignore case; ...

  10. Centos7.2 编译安装PHP7

    PHP7,编译安装: 环境:centos7.2    (注意:因为我用的nginx, 此配置参数没有考虑到apache,所以不合适需要用apache的朋友照搬过去运行,但是可以参考.)   直接下载P ...