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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nginx一个端口配置多个项目_映射地址怎么设置

    nginx一个端口配置多个项目_映射地址怎么设置Nginx默认的80端口如果想要同时配置多个项目,让项目实现不需要指定端口号即可访问,按照如下配置即可更多精彩更多技术博客,请移步IT人才终生实训与职业进阶平台-实训在线前置内容使用Nginx部署Vue项目这片笔记里面介绍了如何使用Nginx部署项目找到对应项目的Nginx配置一般比较规范的配置方式是为每个单独的项目创建.conf文件,如…

    2022年9月4日
    14
  • idea 2021激活码破解方法

    idea 2021激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    56
  • 四旋翼飞行器的飞控实现「建议收藏」

    尝试制作这个四旋翼飞控的过程,感触颇多,整理了思绪之后,把重要的点一一记下来;这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘; 另外,四旋翼飞行器的运动方式请百度百科,不太复杂,具体不再赘述; 这是飞控程序的控制流程(一个执行周期):   比较重要的地方:1.i2c通信方式;

    2022年4月10日
    98
  • Python搭建代理IP池(一)- 获取 IP[通俗易懂]

    Python搭建代理IP池(一)- 获取 IP[通俗易懂]使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个IP的访问速度或访问次数,超出了它的限制你的IP就会被封掉。对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了,避免频繁访问;而对于访问次数,就需要使用代理IP来帮忙了,使用多个代理IP轮换着去访问目标网址可以有效地解决问题。目前网上有很多的代理服务网站可以提供代理服务,也提供一些免费的代理,但可用性较差,如果需…

    2022年6月5日
    127
  • IntelliJ IDEA 配置Tomcat运行web项目[通俗易懂]

    IntelliJ IDEA 配置Tomcat运行web项目[通俗易懂]1.IDEA Run/EditConfigurations中点击“+”号没有tomcat server…解决办法:File—&gt;Setting—&gt;Build,Execution,Deployment—-&gt;Application Servers—&gt;"+"这里添加了之后Edit Configuration里面就可以看到Tomcat Server了 (全部按…

    2022年8月29日
    2
  • iOS越狱包「建议收藏」

    iOS越狱包「建议收藏」编译完了的程序是xxx.app文件夹,我们需要制作成ipa安装包,方便安装找一个不大于500*500的png图片(程序icon图标即可),改名为:iTunesArtwork,注意不能有后缀名。建立一个文件夹,名为:Payload,把刚才编译的xxx.app拷贝到这个文件夹里面。然后选中Payload和iTunesArtwork,右键生成压缩zip文件,比如:xxx.zip,把后缀名

    2022年5月29日
    34

发表回复

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

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