博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wireshark网络抓包(一)——数据包、着色规则和提示
阅读量:6884 次
发布时间:2019-06-27

本文共 1870 字,大约阅读时间需要 6 分钟。

一、数据包详细信息

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)
表示这个包的发送方之前收到了一些分片,但由于某些原因迟迟无法组装起来。

转载于:https://blog.51cto.com/amazing61/2063871

你可能感兴趣的文章
MySQL 条件 select case 的实现(解决 零 做分母的问题 )
查看>>
openNebula rgister img instance vms error collections
查看>>
error Infos
查看>>
PL/sql配置相关
查看>>
Linux 查询服务数据
查看>>
20175318 2018-2019-2 《Java程序设计》第七周学习总结
查看>>
比特币:一种点对点的电子现金系统
查看>>
Android - 按钮组件详解
查看>>
MEF简单学习笔记
查看>>
Srping - bean的依赖注入(Dependency injection)
查看>>
[New Portal]Windows Azure Virtual Machine (3) 在VM上挂载磁盘
查看>>
字体随着ProgressBar的加载而滚动
查看>>
Handler 机制再了解
查看>>
如果你是前端工程师,把你的网站或者你知道的网站加进来吧
查看>>
阿里云产品头条(2017年12月刊)
查看>>
探究SQL添加非聚集索引,性能提高几十倍之谜
查看>>
Java 如何不使用 volatile 和锁实现共享变量的同步操作
查看>>
追踪解析 Disruptor 源码
查看>>
【剑指offer】让抽象问题具体化
查看>>
聊聊flink的AbstractNonHaServices
查看>>