一、TCP三次握手过称

1. 第一次握手的数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图:

2. 第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图:

3. 第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,如图:

二、TCP头部中几种常用的标记位

l  SYN:用来表示打开连接;

l  FIN:用来表示拆除连接;

l  ACK:用来确认(通过TCP连接)收到的数据;

l  RST:用来表示立刻拆除连接;

l  PSH:用来表示应将数据提交给末端应用程序(进程)处理。

三、Wireshark提示

- [packet size limited during capture] 标记这个包没有抓全 
- [tcp previous segment
not captured]网络包没有抓到:一种是真的丢包了,一种是抓包工具没有抓到。看对方回复的确认ack就能判断 
- [tcp asked unseen
segment] 几乎可以忽略,只抓到了后面的ack,没有抓到前面的数据包 
- [tcp out-of-order]乱序 
- [tcp dup ack]发生乱序或丢包了 
- [tcp fast
retransmission] 发送方收到3个或以上tcp dup ack,进入快速重传 
- [tcp retransmission]发生丢包,又没有后续包触发dup ack 
- [tcp zerowindow] win= 表示发送方当前还有多少缓冲区可以接收数据 
- [tcp window full] 发送方已经把接收方的窗口耗尽了,不能再发送数据了 
- [tcp segment of a
reassembled pdu] 这是启用了
edit—>preferences—>protocols—>tcp 菜单里的allow sub dissector to reassemble tcp streams,在最后一个包把所有的包虚拟的集中起来,方便复制整个应用层的edu (copy—>bytes—>printable
text only) 
- [continuation to #]则是上面选项没启用 
- [time-to-live exceeded]未收全包 无法组装

四、性能问题分析

- statistics->summary (查看统计信息,比如平均流量)

- statistics->service Response Time->ONC-RPC->program:NFS
Version:3—>create stat(衡量服务器性能)

- analyze—>expert info composite (查看重传统计、连接的建立、重置统计等等) 
- statistics->tcp stream graph->tcp sequence graph (生成统计图,考虑选择时间的长度)

五、分析命令

tcp.analysis.ack_rtt > 0.2 and tcp.len == 0 过滤是否存在延迟包

握手失败一般分两种类型,要么被拒绝,要么是丢包了。

表达式1:flags.reset ==1) && (tcp.seq ==1)

表达式2:(tcp.flags.syn ==1) && (tcp.analysis.retransmission)

六、重传

当发现网络包重传时,需要先检查重传出现的时间,即Wireshark抓包文件显示的发生TCP重传的时间点,与受监控服务器(生成的)日志显示的发生应用程序报告的时间点吻合,则可以判断TCP重传是服务器程序报错有关,与网络无关。

Wireshark网络分析工具(二)的更多相关文章

  1. Wireshark网络分析工具(一)

    关于Wireshark,熟悉网络或网络性能方面的同学应该知道,使用Wireshark工具通过抓取数据包,对系统网络问题进行分析,该工具简单.易用.易学! 百度百科上面是这样描述的:Wireshark( ...

  2. [转] X-RIME: 基于Hadoop的开源大规模社交网络分析工具

    转自http://www.dataguru.cn/forum.php?mod=viewthread&tid=286174 随着互联网的快速发展,涌现出了一大批以Facebook,Twitter ...

  3. 转:TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码

    TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码 http://blog.csdn.net/candle806/article/details/7490599 以 ...

  4. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4 环境都配置好以后, 开始搭建Jira的环境, 这里参考了一篇文 ...

  5. 小程序入口构造工具&二维码测试工具

    小程序入口构造工具&二维码测试工具 本文将介绍我们小程序中隐藏的两个工具页面.原理虽不复杂,收益却实实在在,或许也能给诸君带来启发. 入口构造工具 痛点 PM&运营 投放链接 PM&a ...

  6. Python实现C代码统计工具(二)

    目录 Python实现C代码统计工具(二) 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python实现C代码统计工具(二) 标签: Python 代码统计 声明 本文将对<Pytho ...

  7. Wireshark网络分析实战笔记(三)基本信息统计工具的使用方法

    Capture File Properties:获取网络中数据包的整体信息 用法:Statistics菜单条下Capture File Properties选项 Protocol Hierarchy: ...

  8. kettle工具二次开发-代码启动JOB

    kettle工具是一款优秀的数据同步.数据处理的BI工具,收到了很多人的青睐.kettle软件通过可视化的图标可以让我们很轻易的能完成数据同步.处理的开发工作.但是使用kettle可视化界面在跑JOB ...

  9. Excel通用类工具(二)

    前言 上一篇中写到了用反射来处理类中的不用的属性,但是Excel的列名还得手动输入,这样还是比较麻烦的,今天这篇就利用自定义注解来解决手动传入列名的问题:其实很简单的,只需要在上一篇的基础上加一个类就 ...

随机推荐

  1. 02-3设置第一启动项--进入BIOS设置USB方式启动

    设置USB方式启动 https://zhinan.sogou.com/guide/detail/?id=1610014869 如何设置电脑从U盘启动呢?今天小编教大家如何进入BIOS设置USB方式启动 ...

  2. linux tomacat 之部署 war包

    之前一篇写的是tomcat的linux安装,其中主要是jre 的问题,接下来讲讲 tomcat发布war包 这是一个相对简单的过程 打好war包后,将war包上传到/usr/local/tomcat/ ...

  3. 深入理解Tomcat虚拟文件夹

        我们知道,Web站点中的内容(包含网页,图片,音频文件等)一般都存放在App的文件夹下.但随着站点内容的不断丰富,用户须要把不同层次的内容组织成站点的子文件夹. 我们通常的做法是在站点主文件夹 ...

  4. 通过 P3P规范让IE跨域接受第三方cookie session

    所谓第三方 cookie,就是说你访问网页 A,却接收到域名 B 的 cookie 设定指令.这可能是由于网页 A 请求或链接了 B 的网页,比如上面提到的 iframe 以及 jsonp. 我查到了 ...

  5. PHP获取QQ群成员QQ号码

    .加入某个群 .进入群空间http://qun.qzone.qq.com/group#!/25998059/member 备注:25998059为群号码 .进入群成员列表 .使用浏览,在某个群成员头像 ...

  6. wp8 各种启动器

    PhoneCallTask  打电话 需要 ID_CAP_PHONEDIALER Windows Phone 8, Windows Phone OS 7.1

  7. UI-1-UI入门

    课程要点: 创建一个iOS工程 AppDelegate类 UIKit框架以及UIWindow 在window上添加第一个试图UIView NSTimer(定时器) 创建一个iOS工程 PS:接下来简单 ...

  8. objc_runtime使用方法的几个简单例子(转)

    1. 给NSObject类动态添加属性h定义部分 [cpp] @interface UIWebView (LoadProgress)  @property (nonatomic, assign) NS ...

  9. 一个奇怪的EL表达式错误

    下图是在Struts2的action中写的一个方法 JSP页面代码如下: 在页面访问如下路径:http://localhost:8088/maven_ssh/cust_getCustList 目前推测 ...

  10. linux mount-umount命令常用记录

    每次挂在u盘都忘记,这次记录下. umount命令: 必杀:umount -l /dev/sda1 (有时候卸载不能卸,加-l(不是1,是小写字母l)参数,表示在设备不忙时卸载设备,就可成功卸载设备) ...