• Wireshark网络分析工具(二)


    一、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重传是服务器程序报错有关,与网络无关。

  • 相关阅读:
    酒香也怕巷子深,谈谈前端简历书写技巧。
    谈谈自己对语义化的认识
    服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词)
    Python常用库大全
    Python七大原则,24种设计模式
    Python设计模式(4):行为型
    Python设计模式(3):结构型
    Python设计模式(2):创建型
    python设计模式
    数据库的优化
  • 原文地址:https://www.cnblogs.com/luihengk/p/6857157.html
Copyright © 2020-2023  润新知