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 ...
随机推荐
- Gradle依赖项学习总结,dependencies、transitive、force、exclude的使用与依赖冲突解决
http://www.paincker.com/gradle-dependencies https://docs.gradle.org/current/userguide/dependency_man ...
- Scala中function的理解
在函数式语言中,函数是和value一样地位的一等公民,他可以作为变量,或者作为参数传递给另一个函数 ##作为变量 val f=(x:Int)=>x+1 为啥可以这样写? 由于scala是OOP, ...
- axis2开发实例(一)
主要参考<axis2之webservice新手超详细教程http://wenku.baidu.com/view/6eae036d011ca300a6c390a4.html> <axi ...
- 内层div的margin-top影响外层div——引出外边距合并Collapsing margins
内层div的margin-top影响外层div——引出外边距合并Collapsing margins 作者:zccst 今天才算是了解边距合并.正如一位前辈所言,每一个CSS的坑,都让你学到不少知识. ...
- jquery之选项卡效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(一)
一般情况下,在Android源码下编译一个jar包的典型makefile(Android.mk)如下: 在文件中加入以下内容: LOCAL_PATH:= $(call my-dir)#make jar ...
- Javascript 页面刷新
Javascript 页面刷新的实现代码收藏 1 2 3 4 5 6 7 8 history.go(0) location.reload() location=location location.as ...
- Delphi ADOQuery连接数据库的查询、插入、删除、修改
http://blog.csdn.net/chinazhd/article/details/45047777 //查询记录 procedure TForm1.Button1Click(Sender: ...
- FB面经 Prepare: All Palindromic Substrings
Given a string, calculate how many substring is palindrome. Ignore non-char characters. Ignore case; ...
- Centos7.2 编译安装PHP7
PHP7,编译安装: 环境:centos7.2 (注意:因为我用的nginx, 此配置参数没有考虑到apache,所以不合适需要用apache的朋友照搬过去运行,但是可以参考.) 直接下载P ...