转自:http://supben.iteye.com/blog/2329780

先看一段代码  程序片段是一个RPC调用 ,根据简历id获取简历实体。
本地IP 10.252.156.132, 远程ip 10.126.83.105

  1. public static void main(String[] args) {
  2. long id = 94105403661579l;
  3. try {
  4. Resume r = resumeService.loadByID(id);
  5. PrintUtil.printObject(r);
  6. } catch (Exception e) {
  7. e.printStackTrace();
  8. }
  9. }

通过wireshark 抓包,得到下边的结果

直接上结论

1).Source 发送方IP ,Destination 接收方IP,Protocol 协议类型 Length 包长度 Info 包内容

2). 前三帧是三次握手,

第四帧客户端把方法调用(包括参数)发送到服务端。包长139,

第五帧,服务端应答。

第六帧,服务端传输结果给客户端。长度952,

第七帧,客户端应答,

第八帧:服务端重传,

第九帧:客户端重答。

第十帧:客户端强行关闭,客户端通知服务端RST。

3).Info栏 49999 → 17019 表示了 发送者和接受者的端口

4). FLAGS 常见的有5种类型,分别是

SYN 表示建立连接,

FIN 表示关闭连接,

ACK 表示响应,

PSH 表示有 DATA数据传输,

RST 表示连接重置

5)Seq= 上一次的Ack,  Ack = 上一次的Seq+ Len,如 4 5两帧,6 7两帧

6)第六帧,服务端发送的时间点 17:25:16.790782,而客户端相应ACK的发送时间为17:25:16.991076,

超过了200ms,大于RTO的时间,触发了TCP Retransmission (TCP重传),即第8帧

7)服务端收到客户端的调用,是先回了一个ACK包,然后再在新的一帧传输返回数据。而不是理解的直接回复返回值。

8)  注意看 4,5,6 三帧  客户端发起调用,服务端回ACK,服务端返回查询结果。  三次请求Seq的值是一样的,可见Seq并不是调用一次升级一次。而是有点类似于回合的概念。一个回合升级一次

9 ) 笔者第10帧的时候是ctrl+c直接关闭的客户端。 如果友好断开的话,会经过TCP 4次挥手关闭。最后Info体里应该会有FIN标识。 有兴趣的同学可以自测下。

10) INFO包体里的 WIN, MSS,WS,SACK_PERM 等都是优化网络性能很重要的参数。此处不表。

wireshark 分析 TCP 请求(转)的更多相关文章

  1. [转]使用wireshark分析TCP/IP协议中TCP包头的格式

    本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数 ...

  2. Linux网络编程--wireshark分析TCP包头的格式

    摘要:     本文简介了TCP面向连接理论知识,具体讲述了TCP报文各个字段含义.并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述     TCP是面向连接的可靠传输 ...

  3. 使用 WireShark 分析 TCP/IP 三次握手 和 四次挥手

    TCP 三次握手 示意图 Wireshark 抓包注意事项 为了演示一个TCP三次握手建立连接的过程,我们通过 Chrome 访问一个网页. 已知 HTTP 协议就是建立在TCP链接上的 比如访问以下 ...

  4. 使用wireshark分析tcp/ip报文之报文头

    以太网报文的结构如下: 其中,以太网的帧头: 14 Bytes:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B. IP头部: TCP头部: http:// ...

  5. wireshark抓包分析——TCP/IP协议

    本文来自网易云社区 当我们需要跟踪网络有关的信息时,经常会说"抓包".这里抓包究竟是什么?抓到的包又能分析出什么?在本文中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通 ...

  6. Wireshark抓包分析TCP协议

      版权声明:本文为作者原创文章,可以随意转载,但必须在明确位置表明出处!!! 之前有一篇文章介绍了http协议「初识http协议」, http协议协议是基于tcp协议的,所以作者觉得有必要针对tcp ...

  7. 【极客思考】计算机网络:Wireshark抓包分析TCP中的三次握手与四次挥手

    [摘要]本文重点分析计算机网络中TCP协议中的握手和挥手的过程. [前提说明] 前段时间突然看到了一篇关于TCP/IP模型的文章,心想这段时间在家里也用wireshark抓了点包,那么想着想着就觉得需 ...

  8. Wireshark抓包分析TCP“三次握手,四次挥手”

    1.目的 客户端与服务器之间建立TCP/IP连接,我们知道是通过三次握手,四次挥手实现的,但是很多地方对这个知识的描述仅限于理论层面,这次我们通过网络抓包的方式来看一下实际的TCP/IP传输过程. 2 ...

  9. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

    Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...

随机推荐

  1. MVC5+EF6 完整教程

    随笔分类 - MVC ASP.NET MVC MVC5+EF6 完整教程17--升级到EFCore2.0 摘要: EF Core 2.0上周已经发布了,我们也升级到core 文章内容基于vs2017, ...

  2. System.Web.Mvc 4.0.0.1 和 4.0.0.0 区别

    只是一个安全补丁的问题:  http://www.microsoft.com/zh-cn/download/details.aspx?id=44533&WT.mc_id=rss_alldown ...

  3. Light项目---vue搭建前端时遇见的一些问题

    css样式中设置的: opacity 表示透明度 将js对象存储到localStorge中 的时候,直接存储是不行的,会变成[object Object],都是这样的数据, 需要将其进行JSON化处理 ...

  4. asp.net网站Application_Start疑是不执行的现象

    今天遇见了一个很诡异的事情,发布了新代码后,发现在Application_Start中读取的一些配置参数变为空了,最开始我以为是什么特殊的原因程序没有执行Application_Start,导致它们的 ...

  5. 基于Docker构建Jenkins CI平台

    1.部署gitlab 1.1 部署gitlab docker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80 \ -p 9998:22 \ -v $ ...

  6. mongodb4.0数据库权限配置

    今天给大家分享一个关于mongodb数据库权限配置的小知识点,这里呢,我用的是mongodb4.0版本,下载地址:https://www.mongodb.com/download-center/com ...

  7. 查看git HEAD

    如果想看 HEAD 指向,可以通过 cat .git/HEAD 查看, 如果 HEAD 指向的是一个引用,还可以用 git symbolic-ref HEAD 查看它的指向.

  8. vue基础二

    1.vue实例 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的.在实例化 Vue 时,需要传入一个选项对象,它可以包含数据.模板.挂载元素.方法.生命周期钩子等选 ...

  9. 深入理解js——构造函数的继承

    看了阮一峰的网络日志(http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html),记录一下构 ...

  10. cartographer和ROS的坐标系关系

    参考定义见:backpack_3d.lua    Local map frame是一次slam过程中的原点.但是现在cartographer支持Incremental mapping.global m ...