我的编程空间,编程开发者的网络收藏夹
学习永远不晚

抓包工具WireShark使用及TCP三次握手报文分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

抓包工具WireShark使用及TCP三次握手报文分析

(1)定位网络问题

大部分场合都可以通过程序调试来定位问题,但有些场景使用抓包来定位接口问题更准确、更方便,如以下场景:

  1. 你发送数据给后台,但后台没有收到,可以对接口进行抓包分析,看是后台处理有问题,还是没有将数据发出去,或是发送数据格式有误;
  2. 你和后台接口联调测通,但业务数据对不上,你认为是后台问题,后台认为是你发的问题,可以抓包确认问题所在;
  3. 线上出现bug需要定位,但你没在公司,没有代码可调试,可直接抓包分析;
  4. 系统性能不佳,抓包看下接口响应时长,是不是后台出现性能问题。

(2)学习网络协议,使用抓包工具分析网络数据更直观。

  • F12

浏览器自带的抓包工具,只能抓取当期浏览器中的网络请求。

  • Fiddler
  • Charles
  • Wireshark

Wireshark支持多协议、用户友好、开源、多操作系统支持,所以Wireshark是我们最常用的抓包工具和报文分析工具。

下载安装

  • 下载

官网:https://www.wireshark.org/

点击主页上部分链接跳转到下载部分:
image.png
选择自己系统对应的版本下载:
image.png

  • 安装

安装很简单,安装完成之后:
image.png

使用

(1)捕捉过滤器(Capture Filter)

image.png

  • 说明

为第一层过滤器,筛选出对应的请求。默认会爬取当前电脑中所有的网络请求。
语法正确显示绿色,如上图所示,语法错误显示红色。

  • 语法

过滤器格式:协议 方向 主机端口(host/port/portrange)
示例:host 121.36.228.27

protocol(协议):可能值:http/https/ftp/udp/tcp/ipv4/ipv6/arp/icmp等协议。如果没有特别说明是什么协议,则默认使用所有支持的协议。
direction(方向):可能值:class="lazy" data-src/dst/class="lazy" data-src and dst/class="lazy" data-src or dst,默认class="lazy" data-src or dst。
host(s)(主机端口):可能值:net/port/host/portrange,默认host。
logical operation(逻辑运算):可能值:not/and/or,not具有最高优先级,and和or优先级相同,运算从左向右。

  • 使用

也可以在这里设置:
image.png

(2)显示过滤器(Display Filter)

  • 说明

第二层过滤器,在第一层的基础上显示具体点请求信息。
显示过滤器输入之后要按回车才会生效。在大文件里应用过滤显示器会有延迟。

  • 语法

示例:tcp and !mysql and tcp.port==3306,!mysql表示非MySQL协议。

比较操作符:==、!=、<、>、>=、=
逻辑操作符:and、or、not(没有条件满足)、xor(有且仅有一个条件满足)
IP地址:ip.addr(来源ip地址或者目标ip地址)、ip.class="lazy" data-src(来源ip地址限制)、ip.dst(目标ip地址限制)
协议过滤:arp、ip、icmp、udp、tcp、bootp、dns

TCP三次握手报文分析

  • 原理图

image.png

  • 捕捉器筛选

host 121.36.228.27
image.png

  • 筛选项

tcp and !mysql
image.png

  • 三次握手记录

截屏2023-08-29 10.03.50.png

  • 选中某一个请求对应的详细信息

image.png
说明:
第一次握手举例。

  1. Frame

帧,即当前请求,总览信息。

  1. Ethernet II

网卡信息,数据链路层信息。如下图所示:
截屏2023-08-29 10.19.45.png
以上红框对应的是目标地址(华为云服务器)和源地址(本机电脑)。

  1. Internet Protocol Version

IP层信息。如下图所示:
截屏2023-08-29 10.22.21.png
IP层对应的协议为TCP,源地址和目标地址为具体的IP地址。

  1. Transmission Control Protocol

TCP层信息。如下图所示:
image.png

第一次握手:
image.png
第一次握手标识Flags对应的位值为1表示SYN请求,seq=J=1406766747。

第二次握手:
image.png
第二次握手标识Flags对应的位置为1表示SYN和ACK请求,ack=J+1=1406766747+1=1406766748,seq=K=4187487345。

第三次握手:
image.png
第三次握手标识Flags对应的位置为1表示ACK请求,ack=K+1=4187487345+1=4187487346,seq=1406766748(没用到)。

来源地址:https://blog.csdn.net/u010355502/article/details/132558055

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

抓包工具WireShark使用及TCP三次握手报文分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

抓包工具WireShark使用及TCP三次握手报文分析

为什么要抓包 (1)定位网络问题 大部分场合都可以通过程序调试来定位问题,但有些场景使用抓包来定位接口问题更准确、更方便,如以下场景: 你发送数据给后台,但后台没有收到,可以对接口进行抓包分析,看是后台处理有问题,还是没有将数据发出去,或是
2023-08-30

Wireshark抓包分析TCP协议:三次握手和四次挥手

Wireshark抓包分析TCP协议 为了更好的学习和理解TCP协议的连接和断开连接的过程,我们来引入一个非常适合用来学习网络协议的抓包工具Wireshark。这个抓包工具可以详细看到每一层网络报文的详细信息。

编程热搜

目录