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

Wireshark入门教程及破解

Wireshark抓包iOS入门教程


本文转自 咖啡机(K.F.J) 博客园博客,原文链接:  http://www.cnblogs.com/strick/p/6261463.html ,如需转载请自行联系原作者


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
Linux API 调度
深入了解DPDK:如何优化网络包处理性能(上)
深入了解DPDK:如何优化网络包处理性能
深入了解DPDK:如何优化网络包处理性能(上)
|
9月前
|
存储 缓存 网络协议
深入理解Linux网络——内核是如何接收到网络包的
一、相关实际问题 RingBuffer是什么,为什么会丢包 网络相关的硬中断、软中断是什么 Linux里的ksoftirqd内核线程是干什么
|
6天前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6天前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
6天前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6天前
|
数据挖掘 开发工具 Android开发
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
|
6天前
|
存储 缓存 网络协议
深入理解Linux网络——内核是如何发送网络包的
一、相关实际问题 1. 查看内核发送数据消耗的CPU时应该看sy还是si 2. 在服务器上查看/proc/softirqs,为什么NET_RX要比NET_TX大得多 3. 发送网络数据的时候都涉及那些内存拷贝操作 4. 零拷贝到底是怎么回事 5. 为什么Kafka的网络性能很突出
|
6月前
|
存储 监控 Cloud Native
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程(上)
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程
|
6天前
|
网络协议
Wireshark 如何过滤抓到的网络包?
Wireshark 如何过滤抓到的网络包?

热门文章

最新文章