当前位置: 首页 > article >正文

抓包工具(二)Wireshark 的下载、安装、使用、快捷键

目录

    • 一、什么是Wireshark?
    • 二、Wireshark下载
    • 三、Wireshark安装
    • 四、Wireshark使用
      • 4.1 基本使用
      • 4.2 过滤设置
        • 1)捕获过滤器
        • 2)显示过滤器
      • 4.3 过滤规则
        • 1)捕获过滤器-规则语法
        • 2)显示过滤器-规则语法
      • 4.4 常用的显示过滤器规则
    • 五、Wireshark快捷键

一、什么是Wireshark?

Wireshark 是一款广泛使用、免费开源的 网络封包分析软件。其主要功能是 捕获和显示网络数据包的详细信息,以便进行深入的 网络分析故障排查

wire:导线。shark:鲨鱼。可以理解为游行于导线,吞噬数据的鲨鱼。

Wireshark 作用于 OSI 七层协议的传输层,通过 WinPCAP 接口与网卡直接交换数据报文,从而能够截取各种网络封包,并尽可能详细地显示这些封包的内容。这使得 Wireshark 在网络封包和流量分析领域具有强大的功能,深受各种网络工程师和网络分析师的喜爱。

补充: 即使强大如 Wireshark 也无法抓取到本地ip、localhost、127.0.01这类回环地址的请求,需要依赖其它插件才能实现。


二、Wireshark下载

  • 下载地址: https://www.wireshark.org/

进入首页,点击 Download Wireshark Now

可以根据自己的操作系统下载不同的版本。

下载后如下所示:


三、Wireshark安装

双击打开,一直 Next。(其中有一步需要勾选是否在桌面展示,建议勾选)

注意,Wireshark 底层依赖了 WinPCAP当安装进行到下面这一步的时候会卡住

然后这时会有一个 Npcap 的安装界面弹出来,我们需要先完成 Npcap 的安装,Wireshark的安装进度条才会继续走

最终 Wireshark 安装完毕,点击 Finish 即可。

安装后,可以看到桌面上图标如下:(安装时勾选了桌面图标才会显示)

在这里插入图片描述


四、Wireshark使用

4.1 基本使用

双击图标启动之后,首先要选择网卡,曲线代表网卡的流量波动,选择后 双击网卡开始监控

双击网卡进入后便自动开始捕获网络请求,如下所示:

其中,数据详情区每行的内容如下:

  1. Frame:物理层的数据帧概况。
  2. Ethernet II:数据链路层以太网帧头部信息。
  3. Internet Protocol Version 4:互联网层IP包头部信息。
  4. Transmission Control Protocol:传输层T的数据段头部信息,此处是TCP。
  5. Hypertext Transfer Protocol:应用层的信息,此处是 HTTP 协议。

其中第4行的传输层包含了TCP的报文信息:

4.2 过滤设置

初学者使用 Wireshark 时,将会得到 大量的冗余数据包列表,以至于很难找到自己想要抓取的部分。这里我们对 Wireshark 的过滤功能进行介绍。

Wireshark 中自带了两种过滤器:

  • 捕获过滤器: 在抓包之前就进行过滤,只捕获目标数据。
  • 显示过滤器: 依然抓取所有数据包,但是显示的时候只显示目标数据。
1)捕获过滤器

点击 捕获 -> 捕获过滤器在抓包前设置,只抓取目标数据

里面自带了很多常用的过滤器,可以直接使用。

也可以新建自己的捕获过滤器,点击左下角的 +,创建一个新的过滤器。

创建好后,双击编辑名称和规则。下面这段规则表示:只筛选源ip为192.168.1.15的数据。

src host 192.168.1.15

创建好捕获过滤器之后,并不会自动生效,有两种方式去选择使用哪种捕获过滤器:

  • 第1种方式:点击工具栏的齿轮按钮⚙可以进行选择。

点击左侧的绿色按钮就可以看到刚才新创建的捕获过滤器了,这里也可以直接输入捕获过滤器的规则,不过常用的规则还是建议去手动创建下。选择后点击开始即可按照制定好的规则进行抓包。

可以看到,过滤规则成功生效,新捕获的内容全部都是以 192.168.1.15 作为源IP的请求数据。

在这里插入图片描述

  • 第2种方式:我们可以在双击 Wireshark 图标一进来的界面进行选择。

如果是已经进入捕获页面了,可以点击工具栏的 关闭捕获文件,返回选择网卡的界面。

在这里插入图片描述

2)显示过滤器

显示过滤器 是用于 在抓取数据包后根据设置好的过滤条件进行过滤。可以直接在上方的搜索栏编辑规则,回车生效

下面这段规则表示:只筛选源ip为192.168.1.15的数据。

ip.src == 192.168.1.15

在这里插入图片描述

4.3 过滤规则

根据上面的示例,假如我想实现 只筛选源ip为192.168.1.15的数据,两种过滤器的写法如下:

  • 捕获过滤器: src host 192.168.1.15
  • 显示过滤器: ip.src == 192.168.1.15

可以看出来,捕获过滤器、显示过滤器的规则语法是不一样的。这里我们就分别来总结一下常用的过滤规则有哪些。

1)捕获过滤器-规则语法

捕获过滤器采用的是 BPF(Berkeley Packet Filter) 语法,这是一种用于过滤数据包的表达式,广泛应用于各种抓包工具中。

BPF 语法中,过滤表达式的基本单位是 原语。相关的规则如下:

  1. 原语通常由多个 限定符(如:dir方向、type类型、proto协议)和一个 过滤值(如:192.168.1.1、80、443)组成。

限定符的类型和常用值如下:

dir(方向)

  • src: 过滤 请求源 中包含该内容的数据。
  • dst: 过滤 请求目标 中包含该内容的数据。
  • src or dst: 过滤 请求源 或者 请求目标 中包含该内容的数据。
  • src and dst: 过滤 请求源 并且 请求目标 都包含该内容的数据。(默认)

type(类型)

  • host: 根据 IP 进行过滤,可以是 ipv4、ipv6。(不支持直接使用域名,域名的话需要先解析为ip再进行筛选)
  • net: 根据 网段 进行过滤,支持net(网关,例:192.168.1)、mask(掩码,例:255.255.255.0)、CIDR(路由,例:192.168.1.0/24)三种形式。
  • port: 根据 端口 进行过滤(例:80、443等)。
  • portrange: 根据 端口范围 进行过滤(例:1-100)。

proto(协议):(默认不筛选协议类型。)

语法: 可以使用 ether proto + 协议,也可以直接使用如下协议。

  • ipip6arptcpudp。(其中 ip 指的是 IPv4 协议)
  • 不常用协议:ddi、 wlan、arprarp、decnet、 lat、 sca、 moproc、 mopdl。
  1. 一个表达式中可以包含多个原语,原语之间使用逻辑运算符进行拼接。

(注意:这里的逻辑运算符 &&||! 不能用 andornot 替代。)

2)显示过滤器-规则语法

IP地址过滤:

  • ip.addr:过滤 请求 中包含该IP地址的数据。
  • ip.src:过滤 请求源地址 为该IP地址的数据。
  • ip.dst:过滤 请求目标地址 为该IP地址的数据。

协议过滤:

  • tcpipicmparphttpdnsbootp(dhcp) 等。

端口过滤:

  • <协议>.port:过滤特定端口。
  • <协议>.srcport:过滤特定源端口。
  • <协议>.dstport:过滤特定目的端口。
  • <协议>.flags.sync:过滤SYN标志。
  • <协议>.flags.ack:过滤ACK标志。
  • ……

比较操作符:

  • ==!=><>=<=

逻辑操作符:

  • eq== 表示等于。
  • ne!= 表示不等于。
  • and&& 表示逻辑与。
  • or|| 表示逻辑或。
  • not! 表示逻辑非。

4.4 常用的显示过滤器规则

  1. 地址过滤: 过滤特定源地址或目的地址的数据包。例如:
  • 筛选目的地址为 192.168.1.164 的HTTP请求:http && ip.dst == 192.168.1.164

http只能过滤 HTTP 请求,如果是HTTPS请求需要使用 tls 过滤 TLS 协议的请求。但是过滤只有也 只能看到加密后的 TCP 请求信息,如果需要查看明文信息,则 需要在电脑安装wireshark的证书信息 才行。

  • 过滤TPC协议的80端口:tcp.port == 80
  • 过滤UDP协议的53端口:udp.port == 53
  • 过滤GET请求:http.request.method == “GET”
  • 过滤状态码为200的请求:http.response.status == 200
  • 筛选uri中包含"findById"的HTTP请求:http.request.uri contains “findById”
  • 使用逻辑运算符(如andor)组合多个过滤条件:ip.src == 192.168.1.107 and tcp.port == 80

通过这些常用显示过滤器规则,用户可以有效地从捕获的数据包中筛选出感兴趣的信息,从而提高分析效率和准确性。


五、Wireshark快捷键

  • Ctrl + E 开始/停止捕获。
  • Ctrl + R 重新开始捕获。
  • Ctrl + W 关闭捕获文件。
  • Ctrl + / 焦点定位到显示过滤器。
  • Ctrl + Alt + Shift + T 追踪TCP数据流。
  • Ctrl + Alt + Shift + H 追踪HTTP数据流。
  • Ctrl + Alt + Shift + S 追踪TLS数据流。
  • Ctrl + 合并所有数据详细区内容。
  • Ctrl + 展开所有数据详细区内容。
  • Ctrl + F 搜索。

整理完毕,完结撒花~🌻





参考地址:

1.网络分析工具——WireShark的使用(超详细),https://blog.csdn.net/zzwwhhpp/article/details/113077747

http://www.lryc.cn/news/2412603.html

相关文章:

  • Json文件格式化方法
  • Node.js环境配置
  • 【系统功能开发篇】若依管理系统功能介绍
  • nodejs详细安装步骤(保姆级教程)
  • poj 1204 Word Puzzles
  • 测试基础---测试用例01
  • 1350. 院系无效的学生 1355. 活动参与者 1369. 获取最近第二次的活动 1378. 使用唯一标识码替换员工ID1398. 购买了产品 A 和产品 B 却没有购买产品 C 的顾客
  • eCharts基础详解
  • Vscode 配置C/C++开发环境
  • 我用两个月时间,终于把CSDN付费资源项目玩明白了!
  • AVR单片机网址推荐 .
  • 经典智力题
  • Selenium + Webdriver 学习(六) 自动选择、检查下拉列表
  • smplayer 中文字幕乱码,进度条及拖放MKV
  • 四年背的单词 笔记目录
  • KVM 虚拟化详解
  • nrf52832 sdk15.2.0 dfu升级攻略
  • SanDisk U盘加密软件 在其他u盘使用
  • springboot笔记整理(超详细,手把手教程!)
  • 真正的RISC-V开发板——VEGA织女星开发板开箱评测
  • ROS学习笔记-安装、环境搭建、初步体验与基本包命令
  • 2020-12-21细雨算法2.0解读
  • 一款免费无限制的AI视频生成工具火了!国内无障碍访问!目前真正免费无限制,可以用来制作抖音短视频,视频效果体验不逊色于pika和runway,以及其他的免费AI在线人工智能大模型, 附教程
  • 计算机专业毕业设计题目大全——各种类型系统设计大全
  • 磁盘分区格式FAT32与NTFS
  • 网络入门基础(网络布线)
  • 2017 我的第一篇个人博客
  • 移动网络为什么“慢”? 腾讯工程师分享弱联网优化之道
  • 卷上天!上海交大博士应聘中学保健员 复旦附中回应
  • 大学操作系统课程笔记