WireShark从入门到精通

news2024/9/22 1:28:28

一、什么是WireShark?

Wireshark 是一个开源抓包工具或者叫网络嗅探器,用于分析网络流量和分析数据包。

其实WireShark以前的名字不叫WireShark,以前都叫做Ethereal,于1998 年首次开发,直到 2006 年才改为 Wireshark。

Wireshark 在网络排障中使用非常频繁,显示了网络模型中的第 2 层到第 5 层(链路层、网络层、传输层、应用层),不管是网络工程师、网络安全工程师、黑客、软件开发工程师,平时都会用到Wireshark。

二、WireShark下载与安装

2.1 WireShark下载

首先,我们访问WireShark的官网地址

https://www.wireshark.org/

点击【Download】:

WireShark界面

我们看到WireShark下载有windows系统的、mac系统的以及Linux系统的,我们这里以Windows系统为例,点击【Windows Installer (64-bit)】。

这里下载的是最新版本即3.6.7版本,如果你想下载旧版本的,可以点击下载界面下的【Old Stable Release】:

WireShark旧版本

2.2 WireShark 安装

WireShark下载好后就是安装了,直接双击程序:

WireShark程序

然后像安装普通软件一样,一直下一步就行,不想安装在系统盘,自行改下位置。

2.3 WireShark 安装成功

WireShark 安装成功后,我们点开看下:

WireShark 安装成功

我们看到安装好的版本就是刚刚我们下载的。

下面我们来介绍一下WireShark的使用。

三、WireShark 的使用

3.1 选择监听的网络

选择监听的网络

每个人的场景不一样,如果你连接的是有线网络,那么你就选择本地连接的某个网络,我这里是无线网WAN:

无线网WAN

如果你点进去,能够看到数据包在不停的刷,那么就表明你选择的网络是正确的。

3.2 WireShark 界面简单介绍

WireShark 界面包含:

菜单栏

工具栏

数据包列表面板

数据包详细信息面板

数据包字节信息面板

具体请看下图:

WireShark 界面

3.3 开始抓包和停止抓包

如果想要开始抓包,就点击:

开始抓包

如果想要停止抓包,就点击:

停止抓包

抓包过程中想要清空抓包列表,就点击:

清空抓包列表

3.4 抓包信息分析

会开始/停止抓包,那么抓到的包如何分析呢?

我们随便拿个包看下:

我们可以双击打开这个报文:

得到这样的界面:

Frame 40055:数据帧,编号为40055,数据帧就是我们抓到的这个包发送的数据,74字节,代表发送数据的大小有74字节的大小。

Ethernet II, Src: IntelCor_12:5a:b6 (5c:80:b6:12:5a:b6), Dst: 02:c8:a1:89:ae:d8 (02:c8:a1:89:ae:d8):以太网、二层,源目mac地址分别为5c:80:b6:12:5a:b6和02:c8:a1:89:ae:d8。

Internet Protocol Version 4, Src: 192.168.3.29, Dst: 52.205.128.109:ipv4、三层,源目ip地址分别为192.168.3.29和52.205.128.109。

Transmission Control Protocol, Src Port: 62641, Dst Port: 443, Seq: 0, Len: 0:TCP协议,源目端口号分别为62641和443,序列号为0,数据长度为0.

3.5 WireShark 会话着色规则

网上也有介绍WireShark会话着色规则的,不过都不是很全面。

想要看到最全的默认着色规则,需要这样:

这样我们就能看到所有的默认着色规则,我们需要记住这些默认的规则,这样的话就能很轻易的判断出每条会话属于什么类的信息。

3.6 WireShark 过滤器

Wireshark 中有两种类型的过滤器:第一个是捕获过滤器,另一个是显示过滤器。

捕获过滤器

捕获过滤器在启动捕获操作之前建立,参数只记录和存储用户想要分析的流量,一旦捕获操作开始,就不可能修改这种类型的过滤器。

显示过滤器

显示过滤器包含适用于所有捕获数据包的参数,可以在启动捕获操作之前设置此类过滤器,然后再调整或取消它,还可以在操作进行时建立它,显示过滤器将数据保存在跟踪缓冲区中,隐藏用户不感兴趣的流量并仅显示用户希望查看的信息。

Wireshark 有非常丰富的内置过滤器库,可帮助用户更好地监控他们的网络,想要使用Wireshark过滤器,可以在Wireshark工具栏下方输入相关规则:

尽管 Wireshark 拥有全面的过滤功能,但记住这些语法通常会很棘手,因为规则太多了,你压根顾不过来,所以,这里瑞哥给大家介绍一些常用的规则,足够大家平时使用了,至于遇到一些特殊场景的规则,谷歌一下就行。

❗ ❗ ❗ 注意:确保输入任何过滤器时显示过滤器背景为绿色,否则过滤器无效!

有效的过滤器:

有效的过滤器

无效的过滤器:

无效的过滤器

3.6.1 链路层协议

显示 ARP 流量:

arp

显示从 MAC 地址为02:c8:a1:89:ae:d8的设备发送的 ARP 协议帧:

arp.src.hw_mac == 02:c8:a1:89:ae:d8

显示从 IP 地址为192.168.3.29的设备发送的 ARP 协议帧:

arp.src.proto_ipv4==192.168.3.29

显示以太网流量:

eth

3.6.2 网络层协议

源 IP 地址:

ip.src==192.168.3.29

目标 IP 地址:

ip.dst==192.168.3.29

指定 IP 地址,不论其是源ip还是目的ip:

ip.addr==192.168.3.29

也可以使用:

ip.src==192.168.3.29||ip.addr==192.168.3.29
Tip:两者是一个效果,||是或者的意思

显示 IPv6 流量:

ipv6

3.6.3 传输层协议

查看 TCP 流量:

tcp

tcp 源端口 443 的流量:

tcp.srcport == 443

tcp 目的端口 443 的流量:

tcp.dstport == 443

tcp 指定端口443的流量,不论其是源端口还是目的端口:

tcp.port==443

其等价过滤表达式和ip地址一样用||连接:

tcp.srcport == 443 || tcp.dstport == 443

查看 UDP 流量:

udp

udp 源端口 5353 的流量:

udp.srcport == 5353

udp 目的端口 5353 的流量:

udp.dstport == 5353

udp 指定端口5353的流量,不论其是源端口还是目的端口:

udp.port==5353

其等价过滤表达式和ip地址一样用||连接:

udp.srcport == 5353 || udp.dstport == 5353

3.6.4 应用层协议

查看 HTTP 流量:

http

查看 HTTP POST请求 流量:

http.request.method == "POST"

查看 HTTP GET请求 流量:

http.request.method == "GET"

查看所有 DNS 请求和响应:

dns

3.7 保存WireShark文件

我们在抓完一段时间的包后想要保存抓包过程,我们可以在停止抓包后Ctrl + S进行保存,或者点击开始抓包,会提示你是否保存:

一旦保存成功,会在指定目录生成一个后缀名为.pcapng的抓包文件:

我们可以想要查看抓包过程或者报文的时候选择双击它:

四、总结

WireShark是一个非常好用、强大的工具,对于平时抓包分析十分有帮助,而且应用广泛,在IT领域几乎是家喻户晓,本文从WireShark基本介绍、WireShark下载与安装、WireShark 的使用三个方面对WireShark进行了详细展开,希望本文对您有所帮助。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

powerdns 系列之二 PowerDNS Authoritative Server

PowerDNS Authoritative Server 权威服务器,直接查询数据库去尝试解析,数据库中若不存在此记录,则直接返回空结果。 os: centos 7.8.2003 pnds: 4.7.3 安装 pdns 安装 pdns auth yum install epel-release yum-plugin-priorities curl -o…

Alibaba微服务组件Nacos注册中心学习笔记

1. 什么是 Nacos 什么是 Nacos官方网站:什么是 Nacos 官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 集 注册中心配置中心服务管理 平台 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服…

Vue前端项目【尚品汇】

Vue前端项目【尚品汇】1. 说明2. 对项目创建3.结构4. 项目运行起来时,浏览器自动打开5.关闭ESLint校验功能1. 说明 学习完了Vue后并没有一个整体的项目,让我明白前端的工程化开发。因此在B站找了一个开源的项目进行练手,并在这里进行记录。 …

深度学习理论介绍

在机器学习理论介绍中说过,深度学习是机器学习的一种技术,下面我们具体来看下。 1、 定义 深度学习首先是一种机器学习。深度学习的基础,叫做神经网络,这本身就是一种机器学习算法。 深度神经网络(Deep Neural Netwo…

产品小白如何从模仿开始学习Axure

​有一些小伙伴有这样的疑问,如果想学习产品经理的知识,但是从来对产品经理完全没有认识,该怎样去开始学习呢? 对于这种情况的小伙伴,有个建议是可以先从axure的学习入手。 那么问题又来了,应该如何开始axu…

只靠石墨烯电池,撑不起两轮电动车的“高端梦”

文|智能相对论作者|陈明涛在两轮电动车上,“石墨烯”电池已经成为品牌标配。雅迪、爱玛、台铃等都有搭载石墨烯电池的车型,雅迪的TTFAR石墨烯电池已经迭代到第4代,而第3代Plus电池搭载在冠能3 E9 PRO上完成量产上市;爱玛、台铃都和…

(侯捷C++)1.1面向对象高级编程(上)

一.C编程简介 1.C历史 B语言 → C语言 → C语言(new C → C with Class → C) 面向对象的语言:C、Java、C# 2.C演化 C 98(1.0) → C 03 → C 11(2.0) → C 14 Class两个经典分类:有指针(Complex类为例&#xff0…

python经典例题

目录标题1,计算数字的阶乘2,区间内的所有素数3,求前n个数字的平方和4,移除列表中的多个元素5,列表去重6,对简单列表元素排序7,对复杂列表元素排序8,读取成绩问卷并排序-读取文件&…

在MySQL5基础上安装MySQL8解压版安装服务指向MySQL5的问题

Windows10在MySQL5解压版基础上安装MySQL8解压版后服务启动失败 1. 遇到的问题: MySQL8目录下没有生成data文件夹启动服务失败,右键服务属性,可执行文件的路径竟然是MySQL目录下的日志文件在MySQL5目录下,日志内容会提示读取了M…

【C语言】动态内存实现通讯录(malloc,calloc,realloc)

目录 一、为什么要存在动态内存开辟 二、动态内存函数 2.1 malloc 2.1.1 函数介绍 2.1.2 函数的使用 2.1.3 free 2.2 calloc 2.2.1 函数介绍 2.2.2 函数的使用 2.3 realloc 2.3.1 函数的介绍 2.3.2 函数的使用 三、改进通讯录 3.1 初始化 3.2 增加信息 3.3 排序&am…

R语言贝叶斯方法在生态环境领域中的高阶技术应用

贝叶斯统计已经被广泛应用到物理学、生态学、心理学、计算机、哲学等各个学术领域,其火爆程度已经跨越了学术圈,如促使其自成统计江湖一派的贝叶斯定理在热播美剧《The Big Bang Theory》中都要秀一把。贝叶斯统计学即贝叶斯学派是一门基本思想与传统基于…

从正则表达式到NFA

一、正则表达式到NFA的基本结构 1. 我们先回顾一下 RE 的三个基本操作: 可选(alternative):对于给定的两个正则表达式 M 和 N,选择操作符( | )形成一个新的正则表达式 M|N ,如果一…

28.Isaac教程--使用Sight的远程操纵杆

使用Sight的远程操纵杆 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录使用Sight的远程操纵杆设置 Isaac 应用程序以使用虚拟游戏手柄小部件关于虚拟游戏手柄小部件使用虚拟游戏手柄小部件运作模式手柄模式鼠标模式键盘模式控制机器人运…

设计模式_行为型模式 -《责任链模式》

设计模式_行为型模式 -《责任链模式》 笔记整理自 黑马程序员Java设计模式详解, 23种Java设计模式(图解框架源码分析实战) 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象…

windows最小化安装mysql8

第一步:下载 从官网下载,https://dev.mysql.com/downloads/mysql 第二步:安装 下载后解压到目录即可。 我这里解压到D:\MYSQL\mysql-8.0.32-winx64\mysql-8.0.32-winx64 第三步:初始化配置 1、添加系统变量 在系统变量PATH后…

【C++】从0到1入门C++编程学习笔记 - 基础入门篇:数组

文章目录一、概述二、一维数组2.1 一维数组定义方式2.2 一维数组数组名2.3 C 实现冒泡排序三、二维数组3.1 二维数组定义方式3.2 二维数组数组名3.3 二维数组应用案例一、概述 所谓数组,就是一个集合,里面存放了相同类型的数据元素 特点1:数…

(15)go-micro微服务main.go开发

文章目录一 导包二 配置中心三 注册中心四 zap日志初始化五 初始化Mysql数据库六 初始化Redis连接七 注册服务八 初始化服务九 注册 handle十 启动服务十一 main.go全部代码十二 最后一 导包 import (micro2 "account/common/micro""account/config/logger&quo…

day17|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&#xff1…

Redis持久化——AOF机制详解

在运行情况下,Redis 以数据结构的形式将数据维持在内存中,为了让这些数据在 Redis 重启之后仍然可用,需要将数据写入持久存储 持久化是指将数据写入持久存储,例如固态磁盘(SSD) Redis 提供了一系列持久化选项。这些包括&#xff1…

[GYCTF2020]Blacklist(堆叠注入)

目录 信息收集 堆叠注入 payload 总结 信息收集 观察url变化是get请求的SQL注入题目 判断注入类型 1和1"回显一样 1回显报错 1 or 11# array(2) {[0]>string(1) "1"[1]>string(7) "hahahah" }array(2) {[0]>string(1) "2"[…