用 Wireshark 图解:TCP 三次握手
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

“snow warn throughout the winter”
一、什么是 Wireshark ?
简单地说,Wireshark 是抓包工具。官网说,“Wireshark 是一个网络包分析工具。 网络数据包分析仪将尝试捕获网络数据包并试图尽可能详尽显示该数据包。”
推荐一本书《Wireshark 网络分析就这么简单》,Wireshark 工具下载地址 https://www.wireshark.org/download.html。
Wireshark 不单单能抓包,主要的 Features 是对数据包进行各种的分析。下载打开界面非常简单直观:

最上面是 Packet List 窗口,它列出了所有网络包。
在 Packet List 中选定的网络包会详细地显示在中间的 Packet Details 窗口中。
最底下是 Packet Bytes Details 窗口(16 进制数据),我们一般不会用到它。
二、我们抓什么包呢?如题 TCP
TCP 一脸懵逼。记得上次在 《图解Http协议》得知,HTTP 是一个客户端和服务器端请求和响应的标准TCP。其实建立在 TCP 之上的。那我们就抓 HTTP,这很简单。
三、实操 Wireshark
选择 Capture – Options,选择当前网络,点击 Start 。如图:

浏览器打开我的博客 www.bysocket.com ,然后在 Wireshark 中的过滤器输入博客 IP 过滤:ip.addr == 106.14.40.18
选择第一行,如第一张图,简单介绍下 Packet Details 窗口参数详情:
Frame – 物理层
Ethernet – 数据链路层
Internet Protocol Version – 网络层
Transmission Control Protocol – 传输层
大家知道 网络层次划分为 标准的OSI七层模型,还有 TCP/IP四层协议 以及 TCP/IP五层协议。如图:

其中,Transmission Control Protocol – 传输层是我们最为关心的。如图已经展开了:

具体我们先学习 TCP 报文段格式:

那么第二个红框,由上至下,一一大家可以对应下,重点的是:
Sequence number – 序号
Acknowledgment number – 确认号
Flags – 标志位
— Acknowledgment 确认位
— Push 急迫位
— Reset 重置位
— Syn 同步位
— Fin 终止位
a. 第一次握手标志位
localhost Seq=0 -> 博客地址
从标志位看出,同步位有值,在做请求(SYN):Syn 同步位为1
b. 第二次握手标志位
博客地址 Seq=0 Ack=1 -> localhost
从标志位看出,确认位、同步位有值,在做应答(SYN+ACK):Syn 同步位为 1 、Acknowledgment 确认位为 1
c. 第三次握手标志位
localhost Seq=1 Ack=1 -> 博客地址 (注: Seq=Seq+1)
从标志位看出,只有确认位有值,在做再次确认(SYN):Acknowledgment 确认位为 1
综上所述,一个完整的三次握手就是:请求(SYN) — 应答(SYN+ACK) — 再次确认(SYN)

如以上文章或链接对你有帮助的话,别忘了在文章结尾处评论哈~ 你也可以点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章。
用 Wireshark 图解:TCP 三次握手的更多相关文章
- linux Wireshark图解TCP三次握手与四次挥手
Linux Wireshark图解TCP三次握手与四次挥手 原文章链接:Wireshark图解TCP三次握手与四次挥手 文章内容丰富 值得学习
- wireshark抓包直观图解 TCP三次握手/四次挥手详解
转http://www.seanyxie.com/category/linux/ 作者:seanyxie | 一. TCP/IP协议族 TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负 ...
- WireShark:TCP三次握手 抓包
本机ip:192.168.201.200 服务器ip:192.168.230.20 抓到的数据如下: 第一次握手: SYN标记位为1,表示这是一个连接请求.seq 用于服务端返回确认信息,此时ack ...
- wireshark抓包图解 TCP三次握手/四次挥手详解[转]
原文链接:http://www.seanyxie.com/wireshark%E6%8A%93%E5%8C%85%E5%9B%BE%E8%A7%A3-tcp%E4%B8%89%E6%AC%A1%E6% ...
- wireshark抓包图解 TCP三次握手/四次挥手详解
http://www.seanyxie.com/wireshark%E6%8A%93%E5%8C%85%E5%9B%BE%E8%A7%A3-tcp%E4%B8%89%E6%AC%A1%E6%8F%A1 ...
- 图解TCP三次握手
参考:https://blog.csdn.net/u012804886/article/details/80998114
- TCP三次握手(通俗易懂)
一--导读 前不久中国和外国RPEC协议的签订,标志着东亚自贸区的建立成功.现在韩国和日本要做贸易.日本一直监听着韩国总统的一举一动,但他又不会主动.(服务器的监听状态)只是被动的等着韩国总统先开口. ...
- TCP三次握手及四次挥手详细图解
TCP三次握手及四次挥手详细图解 Andrew Huangbluedrum@163.com 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不 ...
- wireshark抓包工具简介以及tcp三次握手的一些含义
wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了.为了安全考虑, ...
- Wireshark基本介绍和学习TCP三次握手
wireshark介绍 wireshark的官方下载网站: http://www.wireshark.org/ wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示 ...
随机推荐
- C# 截取字符串方法(包含中英混合)
private string GetByteString(string center, int maxlen, string endStr) { , (center.Length < maxle ...
- HttpLib - 一个对 Http 协议进行封装的库
今日,在 Codeplex 上看到一个开源项目,对 Http 协议进行了封装,这下可以方便这些在 .NET 平台下访问 Web 服务器的同学们了,比如,从 Web 服务器抓取一个页面,使用 .NET ...
- ASP.NET Core重写个人博客站点小结
今天用ASP.NET Core重写了个人博客站点,原来是基于ASP.NET 4.5开发的.重写工作总体很顺利,最后成功发布到Ubunt+Nginx平台上.效果如下: 右边的Header信息里可以看到已 ...
- bootstrap日期选择器-datetimepicker
地址:http://www.bootcss.com/p/bootstrap-datetimepicker/ 使用方法,html: <div class="input-append da ...
- Java-认识字符集-转载
问题起源 对于计算机而言,它仅认识两个0和1,不管是在内存中还是外部存储设备上,我们所看到的文字.图片.视频等等“数据”在计算机中都是已二进制形式存在的.不同字符对应二进制数的规则,就是字符的编码.字 ...
- paip.java 线程无限wait的解决
paip.java 线程无限wait的解决 jprofl>threads>thread dump> 查看棉线程执行的code stack... 估计是.比如.BlockingQue ...
- paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:ht ...
- 如何在windows7上安装启明星系统。
启明星系统提供多种安装方式.安装包里自带了setup.exe.每个程序的 install下有在线安装(例如请假应用程序为book,则默认为 http://localhost/book/install ...
- 模拟storage copy 功能失败的记录
试验设想: 机器1: alter database begin backup 然后,在oracle仍然活动的状态下,将$ORACLE_BASE目录全部压缩拷贝到机器2 机器2: startup:失败 ...
- JS 清除字符串数组中,重复元素
<script language="JavaScript"> <!-- var arrData=new Array(); for(var i=0; i<10 ...