抓包工具 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/706028.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

js实现一个数据结构——栈

栈的概念就不再赘述&#xff0c;无可厚非的先进后出&#xff0c;而JS又是高级语言&#xff0c;数组中的方法十分丰富&#xff0c;已经自带了push pop方法进行入栈出栈的操作。 1.基本实现 class Stack {constructor() {this.items [];}// 入栈push(item) {this.items.push(i…

【C++入门(1)】命名空间

一、C出世 我们先简单认识下C的来历&#xff0c;C是在C语言的基础上发展来的。 当年C的设计者Bjarne Stroustrup&#xff0c;本贾尼斯特劳斯特卢普先生设计C语言之初&#xff0c;是为了对C语言做出一些更改&#xff0c;弥补C语言在一些方面的不足&#xff0c;或者做出其他的设…

二阶段提交(2pc)协议

二阶段提交&#xff08;2pc&#xff09;协议 1、 简介 二阶段提交算法是一个分布式一致性算法&#xff0c;强一致、中心化的原子提交协议&#xff0c;主要用来解决分布式事务问题。在单体spring应用中我们往往通过一个Transactional注解就可以保证方法的事务性&#xff0c;但…

破解发展难题 台山这家合作社以农业社会化服务助推乡村振兴

风吹稻田千层浪&#xff0c;眼下&#xff0c;台山四九镇的早稻长势喜人&#xff0c;沉甸甸的稻穗迎风而动&#xff0c;已进入破口抽穗的关键期&#xff0c;即将在6月底陆续迎来丰收。在台山市明华汇种养专业合作社管理的稻田里&#xff0c;合作社负责人梁明喜正仔细观察着稻苗的…

算法第六天:力扣第977题有序数组的平方

一、977.有序数组的平方的链接与题目描述 977. 有序数组的平方的链接如下所示&#xff1a;https://leetcode.cn/problems/squares-of-a-sorted-array/description/https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 给你一个按 非递减顺序 排序的整数数组…

#慧眼识模每日PK[话题]##用五种语言说爸爸我爱你[话题]#

#慧眼识模每日PK #用五种语言说爸爸我爱你 你觉得哪个模型回答得更好&#xff1f;欢迎留言 A.蓝 B.紫 更多问题&#xff0c;扫码体验吧&#xff5e; by 国家&#xff08;杭州&#xff09;新型交换中心

Whisper语音识别 -- 自回归解码分析

前言 Whisper 是由 OpenAI 开发的一种先进语音识别系统。它采用深度学习技术&#xff0c;能够高效、准确地将语音转换为文本。Whisper 支持多种语言和口音&#xff0c;并且在处理背景噪音和语音变异方面表现出色。其广泛应用于语音助手、翻译服务、字幕生成等领域&#xff0c;为…

鸿蒙轻内核A核源码分析系列七 进程管理 (3)

本文记录下进程相关的初始化函数&#xff0c;如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。 1、LiteOS-A内核进程创建初始化通用函数 先看看一些内部函数&#xff0c;不管是初始化用户态进程还…

收银系统小程序商城商品详情页再升级!

本期导读 1.新增&#xff1a;商品详情页新增商品参数模块&#xff1b; 2.新增&#xff1a;商品详情页新增保障服务模块&#xff1b; 3.新增&#xff1a;线上商城商品新增划线价&#xff1b; 4.新增&#xff1a;线上商城分销商品新增“赚”字标签及预收收益&#xff1b; 5.…

Linux-笔记 全志平台OTG虚拟 串口、网口、U盘笔记

前言&#xff1a; 此文章方法适用于全志通用平台&#xff0c;并且三种虚拟功能同一时间只能使用一个&#xff0c;原因是此3种功能都是内核USB Gadget precomposed configurations的其中一个选项&#xff0c;只能单选&#xff0c;不能多选&#xff0c;而且不能通过修改配置文件去…

我的考研经历

当我写下这篇文章时&#xff0c;我已经从考研 的失败中走出来了&#xff0c;考研的整个过程都写在博客日志里面了&#xff0c;在整理并阅读考研的日志时&#xff0c;想写下一篇总结&#xff0c;也算是为了更好的吸取教训。 前期日志模板&#xff1a;时间安排的还算紧凑&#x…

安鸾学院靶场——安全基础

文章目录 1、Burp抓包2、指纹识别3、压缩包解密4、Nginx整数溢出漏洞5、PHP代码基础6、linux基础命令7、Mysql数据库基础8、目录扫描9、端口扫描10、docker容器基础11、文件类型 1、Burp抓包 抓取http://47.100.220.113:8007/的返回包&#xff0c;可以拿到包含flag的txt文件。…

DDei在线设计器-配置主题风格

DDeiCore-主题 DDei-Core插件提供了默认主题和黑色主题。 如需了解详细的API教程以及参数说明&#xff0c;请参考DDei文档 默认主题 黑色主题 使用指南 引入 import { DDeiCoreThemeBlack } from "ddei-editor";使用并修改设置 extensions: [......//通过配置&am…

【FreeRTOS】内存管理

目录 1 为什么要自己实现内存管理2 FreeRTOS的5中内存管理方法2.1 Heap_12.2 Heap_22.3 Heap_32.4 Heap_4 2.5 Heap_53 Heap相关的函数3.1 pvPortMalloc/vPortFree3.2 xPortGetFreeHeapSize 3.3 xPortGetMinimumEverFreeHeapSize3.4 malloc失败的钩子函数 参考《FreeRTOS入门与…

Python私教张大鹏 Vue3整合AntDesignVue之DatePicker 日期选择框

案例&#xff1a;选择日期 <script setup> import {ref} from "vue";const date ref(null) </script> <template><div class"p-8 bg-indigo-50 text-center"><a-date-picker v-model:value"date"/><a-divide…

原子阿波罗STM32F429程序的控制器改为STM32F407驱动LCD屏

原子大神的阿波罗开发板使用STM32F429IGT6控制器&#xff0c;编程风格也与探索者F407系列有了很大的不同&#xff0c;使用BSP功能模块编程了&#xff0c;也有点类似于安富莱的编程风格了。这种模块式程序风格的优点是更加方便移植&#xff0c;更方便泡系统。 但无奈手里只有F40…

模拟笔试 - 卡码网周赛第二十一期(23年美团笔试真题)

第一题&#xff1a;小美的排列询问 解题思路: 简单题&#xff0c;一次遍历数组&#xff0c;判断 是否有和x、y相等并且相连 即可。 可优化逻辑&#xff1a;因为x和y是后输入的&#xff0c;必须存储整个数组&#xff0c;但是上面说了 **排列是指一个长度为n的数组&#xff0…

搭建一个好玩的 RSS 订阅网站记录

全文相关链接 Github仓库创建链接Railway官网Supabase官网f-droid上的co.appreactor.news应用下载链接Railway账户使用量估算链接 全文相关代码 原文地址: https://blog.taoshuge.eu.org/p/270/ Dockerfile FROM docker.io/miniflux/miniflux:2.1.3环境变量 DATABASE_URL…

UniApp或微信小程序中scroll-view组件使用show-scrollbar在真机Android或IOS中隐藏不了滚动条的解决办法

show-scrollbar 属性 不论是使用 变量 还是直接使用 布尔值或者直接使用 css 都是在 ios、Android 上是都没有效果。。 真机中还是出现滚动条 解决办法 添加下面CSS ::-webkit-scrollbar {display: none;width: 0 !important;height: 0 !important;-webkit-appearance: no…