wireshark抓包分析[通俗易懂]

wireshark抓包分析[通俗易懂]TCP协议首部:分析第一个包:源地址:我自己电脑的IP,就不放上来了Destination:222.199.191.33目的地址TCP:表明是个TCP协议Length:66表明包的长度

大家好,又见面了,我是你们的朋友全栈君。

TCP协议首部:

wireshark抓包分析[通俗易懂]

分析第一个包:

wireshark抓包分析[通俗易懂]

源地址:我自己电脑的IP,就不放上来了

Destination: 222.199.191.33 目的地址

TCP:表明是个TCP协议

Length:66 表明包的长度是66个字节 ??

56739->443 :表明是从源地址的56739端口发送给目的地址的443端口

[SYN]表明这是一个TCP的同步请求,是TCP握手的第一步

Seq=0: TCP协议中的序号,这里为0.

在TCP中第一个SYN 包所包含的 sequence 是随机的,而第一个 SYN+ACK包里的sequence 也是随机的,wireshark 为了你便于观察都使用相对值,初始化这两个随机值为0,后面的sequence 和 acknowledge 都在上面累加

Win=8192: 发送报文段一方的接收窗口。TCP协议中的字段

Len=0: 发送文件TCP报文段Datas段的长度

MSS=1460: 最大报文段长度,指每个TCP报文段中数据字段的最大长度。它不包含首部长度。是TCP首部中,选项中的字段。

WS=256:窗口扩大因子;只能在连接建立阶段确定;在连接期间他的值不能够改变;新的窗口值=首部中定义的窗口值乘以2的(窗口扩大因子)的次方;由于窗口值不够用。选项中的字段。 ??书上说,窗口扩大选项占3个字节,其中一个字节表示移位值S,S最大为14,新的窗口值等于TCP首部中的窗口位数从16增大到(16+S)。可这里WS怎么会等于256呢??

答:这里的256是指窗口扩大了256倍,其S=8, 2的8次方 = 256. 符合S<=14. 打开软件下面TCP部分的详细说明,有介绍。

SACK_PERM=1: 允许选择确认。 TCP选项中的字段。

 

恩,总算了解一点点了,这些信息是TCP协议上的内容。

下面,分析一下详细的内容,点击上面的包,下面会出现详细的信息,比如下面这样:

wireshark抓包分析[通俗易懂]

分别是什么意思呢?

经我思索了半天,才恍然大悟,这是根据网络分层模型显示的不同层的内容。

Frame 551: 对应的是这个包的概略信息,里面有我们是否对其做过标记,怎么用彩色显示之类的内容。

Ethernet II: 对应网络接口层,表明采用Ethernet II的太网标准帧格式。

Internet Protocal Version 4: 对应网络层,表明采用IPv4

Transmission Control Protocol:对应传输层,表明采用TCP协议。

 

下面,一个一个点开,看看里面的详细内容。

Ethernet II:

 wireshark抓包分析[通俗易懂]

可以看到源和目标的硬件地址。

unicast表示单播。

??那一堆的…是什么? LG IG又是什么??

答:那些点是指要标明的字段中非重要的信息未,重要的位的数字被显示出来了。

 

IPv4:

先把IP首部的格式放上来,有助于分析:

wireshark抓包分析[通俗易懂]

 

 wireshark抓包分析[通俗易懂]

开始说明了使用的协议版本是IPv4, 首部长度是20字节。

Differentiated Services Field:区分服务字段

(DSCP 0x00: Default; ECN:0x00) 表示一个特定的上层协议所分配的重要级别,默认的DSCP值是0,相当于尽力传送,ECN字段被分为ECN-Capable Transport(ECT)bit和CEbit, ECT bit设置为0,表明该传输协议将忽略CE bit. CE bit 将由路由器设置,设置为0说明对末端节点不挤塞。

IP包的总长度为52字节,标志字段为1302

标识字段为0x02,表明没有分片,片偏移量为0,生存时间为128,上层协议为TCP

首部检验和下面的Good和Bad都是False, 我理解的是因为这是第一个包,不存在验证问题。

 

TCP

 wireshark抓包分析[通俗易懂]

 这里,看看这些包究竟在做什么

wireshark抓包分析[通俗易懂]

是我的电脑跟某个网站交互的前4个包。

其中前三个包可以明显看出是TCP的三次握手。

那么,问题来了:

为什么第三个包的长度比前两个短呢?在建立握手的过程中交换了什么信息呢?

(我自己的理解,不一定对,欢迎指正)

我们分析一下前三个包的信息,可以发现,只有TCP首部长度不同,前两个包用到了12个字节的TCP选项字段,而第三个包没有。

 

wireshark抓包分析[通俗易懂]

就多在画圈的地方了,在选项字段,双方传递了自己的最大报文长度(MSS),窗口扩大选项(window scale)和可选择确认选项(SACK)。其实就是为双方之后传递数据的大小,确认方式等做了信息交换,保证双方能够正常的通信。

 

 转: http://www.cnblogs.com/dplearning/p/4820098.html

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155308.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 卡盟网站怎么做_卡盟的货源哪里来

    卡盟网站怎么做_卡盟的货源哪里来服务器系统:cenos7.x64位(购买vps都知道ba?安装7.x以上系统)宝塔安装命令:bt.cn(自行获取)(baota我已经安装好了,接下来给大家演示如何操作搭建卡信乐)ssh输入宝塔命令会自动安装好自己查看一下登陆地址和账号密码就可以登陆面板后安装apache2.4+mysql5.5+php5.6phpadmin4.7(应该都会安装把!)登陆宝塔,打开网站的根目录的home文件夹,上传源码然后解压上传好后解压文件修改vhost文件里的域名创建一个数据库yunos数据库

    2022年8月12日
    7
  • 游戏开发完整流程

      1. 立项   Ø 一个项目立项的原因可能性非常多,有可能是公司拿到一个好的IP,也有可能是几个负责人有个很棒的idea,亦或是老板的梦想是做一个XX类型的游戏,这边不做过多的讨论。   Ø 立项过程中应该包含市场调查和产品定位,需要分析当前市场并且预测未来市场趋势,同时还要知道产品面对的对象以及这些对象应该有的特征、消费习惯等等。  …

    2022年4月5日
    363
  • String与Integer相互转换「建议收藏」

    String与Integer相互转换「建议收藏」String与Integer相互转换//方法一:Integer类的静态方法toString()Integera=2;Stringstr=Integer.toString(a)//方法二:Integer类的成员方法toString()Integera=2;Stringstr=a.toString();//方法三:String类的静态方法valueOf()…

    2022年6月7日
    52
  • ResNet18-TensorFlow[通俗易懂]

    ResNet18-TensorFlow[通俗易懂]1、ResNet代码#-*-coding:utf-8-*-“””CreatedonWedFeb2619:38:012020@author:HongyongHan”””importtensorflowastffromtensorflowimportkerasfromtensorflow.kerasimportlayers,SequentialclassBasicBlock(layers.Layer):#初始化函数#fil

    2022年5月18日
    63
  • debian查询端口进程_Linux 查看端口占用情况[通俗易懂]

    debian查询端口进程_Linux 查看端口占用情况[通俗易懂]Linux查看端口占用情况可以使用lsof和netstat命令。lsoflsof(listopenfiles)是一个列出当前系统打开文件的工具。lsof查看端口占用语法格式:lsof-i:端口号实例查看服务器8000端口的占用情况:#lsof-i:8000COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAM…

    2022年7月27日
    92
  • Postman下载与安装操作步骤【超详细】

    Postman下载与安装操作步骤【超详细】工欲善其事必先利其器,一套超详细清晰的下载安装postman教程,让小伙伴们轻轻松松安装好postman,快来试一试吧!!!

    2022年6月16日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号