TCP协议首部:

分析第一个包:

源地址:我自己电脑的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协议上的内容。

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

分别是什么意思呢?

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

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

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

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

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

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

Ethernet II:

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

unicast表示单播。

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

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

IPv4:

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

开始说明了使用的协议版本是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

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

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

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

那么,问题来了:

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

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

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

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

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

wireshark抓包分析的更多相关文章

  1. Wireshark抓包分析/TCP/Http/Https及代理IP的识别

    前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...

  2. 用Wireshark抓包分析超过70秒的请求

    超过70秒的请求是通过分析IIS日志发现的: 10.159.63.104是SLB的内网IP. 通过Wireshark抓包分析请求是9:22:21收到的(tcp.stream eq 23080): 09 ...

  3. Wireshark抓包分析HTTPS与HTTP报文的差异

    一.什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换 ...

  4. wireshark 抓包分析 TCPIP协议的握手

    wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...

  5. wireshark抓包分析工具的使用

    # wireshark抓包分析工具的使用 ## 常用抓包指令 - `ip.src==192.168.60.26 and ip.dst==111.7.187.220 and tcp.port == 80 ...

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

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

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

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

  8. 【计算机网络】wireshark抓包分析1

    学习计算机网络很久了,但总是局限于书本知识,感觉get不到重点.经师兄建议用wireshark抓包分析看看. 我自己以前并没有做过抓包分析,所以这篇博文可能会有很多错误,只是我自己的一个记录,路过的亲 ...

  9. TCP/IP详解卷1 - wireshark抓包分析

    TCP/IP详解卷1 - 系列文 TCP/IP详解卷1 - 思维导图(1) TCP/IP详解卷1 - wireshark抓包分析 引言 在初学TCP/IP协议时,会觉得协议是一种很抽象的东西,通过wi ...

  10. 使用wireshark抓包分析-抓包实用技巧

    目录 使用wireshark抓包分析-抓包实用技巧 前言 自定义捕获条件 输入配置 输出配置 命令行抓包 抓取多个接口 抓包分析 批量分析 合并包 结论 参考文献 使用wireshark抓包分析-抓包 ...

随机推荐

  1. pymsql与ORM--python操作MySQL之利器

    pymsql 原生模块 pymsql是python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL impor ...

  2. lowB三人组算法-冒泡排序-选择排序-插入排序

    冒泡排序 时间复杂度:O(n2)  算法稳定 第一趟,从第一个数开始,相邻两个数比较,大的数交换放后,交换到最后位置得出一个第一大数 第二趟,从第一个数开始,相邻两个数比较,大的数交换放后,交换到倒数 ...

  3. 1.1 - python基础语法 - 总结练习题

    1.编译型与解释型语言的区别,哪些属于编译型,哪些属于解释型 编译型:c/c++/go 运行速度快,开发效率低,不可跨平台 解释型:python/java/php/ruby 运行速度低,开发效率高,可 ...

  4. 剑指Offer——矩阵中的路径

    题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵 ...

  5. 22.Atomicity and Transactions-官方文档摘录

    原子性和事务 1 在单个文档修改多个嵌入文档,写操作都在文档级别上都是原子的 2 在单个写操作修改多个文档时,每个文档的修改都具有原子性,但是,作为一个整体的操作,并不是原子的.其他操作可能有交互.使 ...

  6. django URL的补充 默认值 传多个参数

    url 后面还可以加上默认值 默认值 url(r'^index/', views.index, {'name': 'root'}), urls.py url对应关系 from django.conf. ...

  7. rtsp/rtmp/hls/onvif测试源以及ffmpeg在流媒体方面的应用

    一.rtsp/rtmp/hls/onvif测试源 1. rtsp rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov 2.rtmp rtmp://l ...

  8. TQ2440系统介绍入门 、linux系统目录结构

    TQ2440开发板系统安装步骤: 1.先用JTAG线安装BIOS到开发板.下载BIOS,NOR/NAND开关选在NOR位置. 2.linux安装步骤: (1).格式化分区 (2).安装BIOS---& ...

  9. UVA10341:Solve It(二分+math.h库)

    题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/E 题目要求:p*e-x+ q*sin(x) + r*co ...

  10. python手写神经网络实现识别手写数字

    写在开头:这个实验和matlab手写神经网络实现识别手写数字一样. 实验说明 一直想自己写一个神经网络来实现手写数字的识别,而不是套用别人的框架.恰巧前几天,有幸从同学那拿到5000张已经贴好标签的手 ...