计算机网络实验2:网络嗅探
文章目录
- 1. 主要教学内容
- 2. Wireshark介绍
- 3. Wireshark下载
- 4. 使用Wireshark捕获包
- 4.1 选择网卡
- 4.2 停止抓包
- 4.3 保存数据
- 5. Wireshark的过滤规则
- 6. Wireshark实例
1. 主要教学内容
- 实验内容:安装、学习使用网络包分析工具Wireshark。
- 所需学时:1。
- 重难点:Wireshark的界面及功能了解。
- 周次:第一周。
- 教材相关章节:1.3。
2. Wireshark介绍
Wireshark 是常用的网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尽可能详细的显示包的情况。
Wireshark 是Etheral 更高级的版本,包含WinPcap。它具有方便易用的图形界面和众多分类信息及过滤选项,是一款免费、开源的网络协议检测软件 。Wireshatk通常运行在路由器或有路由功能的主机上,这样就能对大量的数据进行监控,几乎能得到以太网上传送的任何数据包。
Wireshark 不是人侵侦测软件。对于网络上的异常流量行为,Wireshark 不会产生警示或任何提示。通过仔细分析Wireshark 捕获的数据包能够帮助使用者对网络行为有更清楚的了解。Wireshark 没有数据包生成器,因而只能查看数据包而不能修改,它只会反映出被捕获的数据包的信息,并对其内容进行分析。
3. Wireshark下载
- 到Wireshark官网:
- 点击
Get started
- 对应系统版本进行下载即可:
- 安装详细教程
- 下载完成后打开界面:
4. 使用Wireshark捕获包
Wireshark的使用主要有三个步骤:
- 选择所要捕捉的物理网卡。
- 选择过滤规则。
- 捕捉数据包。
通过单击捕捉到的数据包, 在下方的窗口中查看数据包头以及数据字段等详细信息。使用者通过对相关协议知识的了解, 再加上实验观察到的现象, 对实验结果进行分析和论证,从而得出所有参数的含义。
一般来说,对于Windows系统,在命令行输入:
ipconfig
之后就会显示对应的物理网卡。又称网络适配器或网络接口卡(NIC),英文名为Network Interface Card。也有直接翻译为Network Card,简称NC。
详细操作,参考:Wireshark详细操作
4.1 选择网卡
打开 Wireshark 后,会直接进入“网卡选择界面”,Wi-Fi:en0
是我连接无线的网卡,我们抓一下这个网卡的流量,双击网卡名,自动开始抓包。
4.2 停止抓包
点击左上角的“红色按钮”,可以停止抓包。
4.3 保存数据
可以直接点击工具栏的保存按钮,保存抓包的数据。
5. Wireshark的过滤规则
Wireshark的一个重要功能就是过滤器(Filter) 。由于Wireshark 所捕捉的数据较复杂,要迅速、准确地获取需要的信息,就要使用过滤 、工具。可以有两次过滤:第一次是捕捉过滤,用于筛选需要的捕捉结果;第二次是显示过滤,只将需要查看的结果显示。
Filter位于工具栏上,可以按照规则输入过滤条件,如:
其中ip.src_host==192.168.1.10
表示过滤出源地址为192.168.1.10的数据包。
常见的过滤规则如下:
- 按协议类型过滤。
Wireshark 支持的协议包括TCP、UDP、ARP、ICMP、HTTP、 SMTP、FTP、DNS、MSN、IP、SSL、OICQ、BOOTP等。
- 例如只查看HTTP协议,则直接输人
http
。
- 按照IP地址过滤。
若仅显示与指定IP地址(例如192. 168.0. 123)通信的记录,则可输人ip.addr==192.168.0.123
。
如果限制为只要从192.168.0.123送来的记录,则输人ip.src==192.168.0.123
。
而得到目的IP地址为192.168.0.123的记录则应输人ip.dst==192.168.0.123
。
- 按照协议模式过滤。
例如HTTP协议可以针对HTTP的请求方式进行过滤:
- 只显示发送GET或POST请求的过滤规则:
http.request.method=="GET"
或http.request.method=="POST"
。
- 按端口过滤。
例如tcp.port eq 80
。不管端口是源还是目标的都只显示满足tcp.port== 80条件的包。
- 按MAC地址过滤。
eth.dst==A0:00:00:04:c5:84 // 过滤目的MAC
eth.src eq A0:00:00:04:c5:84 // 过滤源MAC
- 按包长度过滤。
例如udp.length==26
,这个长度是指udp本身固定长度8加上udp下面的数据包之和。
而tcp.len>=7
指的是IP数据包( tcp 下面数据),不包括tcp本身。ip.len==94
指除了以太网头固定长度为14,其他都算是ip.len,即从IP本身到最后。frame.len==119
指整个数据包长度,从eth开始到最后,即eth–> ip or arp --> tcp or udp --> data。
- 按参数过滤。
例如按TCP参数过滤:
tcp.flags // 显示包含TCP标识的数据包
tcp.flags.syn==0x02 // 显示包含TCP SYN标识的数据包
- 按内容过滤。
例如:
tcp[20] // 表示从20开始取1个字符
tcp[20:] // 表示从20开始取1个字符以上
tcp[20:8] // 表示从20开始取8个字符
- 采用逻辑运算过滤。
过滤语句可利用&&
或者and
(表示“与”)、||
或者or
(表示“或”)、!
或者not
(表示 “ 非”)组合使用多个限制规则,例如(http&&ip.dst==192.168.0.123)||dns
;再如要排除ARP包,则使用!arp
或者not arp
。
6. Wireshark实例
Wireshark面板:
快捷工具栏:
这里以ARP协议为例,演示数据的分析过程。首先启动监听(没有设置捕获过滤器),等过一段时间后,停止抓包。然后在显示过滤器输人arp
(注意是小写)作为过滤条件,按回车。得到ARP包如下:
Wireshark窗口的数据帧列表面板的每行都对应着网络上单独的一个数据包。默认情况下,每行会显示数据包的时间戳、源地址、目的地址 、所使用的协议、关于数据包的一些信息。通过单击此列表中的某一行,可以获悉更详细的信息。
这部分的信息分布与查看的协议有关,一般包含有物理层、数据链路层、网络层、传输层等各层信息。
-
在物理层可以得到线路的字节数和捕获到的字节数 ,还有抓包的时间戳和距离第一次抓包的时间间隔等信息。
-
在数据链路层可以得到源网卡物理地址和目的网卡物理地址以及帧类型。
-
在网络层可以得到版本号、源IP和目的IP地址、报头长度、包的总长度、TTL 和网络协议等信息。
-
在传输层可以得到源端口和目的端口以及序列号和控制位等有效信息。
展开数据包细节中的第一行,该行主要包含一些关于帧的详细信息:
- 帧的编号:1667( 捕获时的编号)。
- 帧的大小:60B。再将4B的CRC计算在里面,就刚好满足最小64B的要求。
- 接下来的信息还有帧被捕获的日期和时间、帧距离前一个帧的捕获时间差、帧距离第一个帧的捕获时间差等,以及表明帧装载的协议是ARP。
展开第2行,该行主要包含地址一类的信息:
展开第3行,主要包含协议的格式:
地址解析协议有硬件类型(以太网)、协议类型(IP)、硬件大小(6)、协议大小(4)、发送方MAC地址、发送方IP地 址、目的MAC地址、目的IP地址等。
相关文章:

计算机网络实验2:网络嗅探
文章目录 1. 主要教学内容2. Wireshark介绍3. Wireshark下载4. 使用Wireshark捕获包4.1 选择网卡4.2 停止抓包4.3 保存数据 5. Wireshark的过滤规则6. Wireshark实例 1. 主要教学内容 实验内容:安装、学习使用网络包分析工具Wireshark。所需学时:1。重难…...
智慧防灾:数字孪生技术的应用
最近的“杜苏芮”“卡努”有没有对大家产生影响呢? 频繁发生的台风和其他自然灾害引起了人们对于灾害预防和应对的高度关注。在这种背景下,数字孪生作为一项前沿技术,为灾害预防领域提供了全新的解决方案。本文就带大家了解一下数字孪生技术…...
Google 扫码器(仅限 Android)
Google 扫码器(仅限 Android) Google Code Scanner API 提供了全面的扫描解决方案,无需您的应用请求相机权限,同时保护用户隐私。这是通过将扫描代码委托给 Google Play 服务并仅将扫描结果返回给您的应用来完成的(视…...
pandoc word转markdown之后正则修改
问题 用pandoc工具将doc文件转换为markdown文件后,有关图片的处理会变成: (./url路径){width“3.46875in” height“1.0729166666666667in”} 但是我要展示到前端的,前端组件用的v-md-preview,结果展示的时候,后面的宽…...

使用Python和wxPython将图片转换为草图
导语: 将照片转换为艺术风格的草图是一种有趣的方式,可以为您的图像添加独特的效果。在本文中,我们将介绍如何使用Python编程语言和wxPython图形用户界面库来实现这一目标。我们将探讨如何使用OpenCV库将图像转换为草图,并使用wxPython创建一…...

深入浅出对话系统——闲聊对话系统进阶
引言 本文主要关注生成式闲聊对话系统的进阶技术。 基于Transformer的对话生成模型 本节主要介绍GPT系列文章,这是由OpenAI团队推出的,现在大火的ChatGPT也是它们推出的。 GPT : Improving Language Understanding by Generative Pre-Traini ng 在自…...
List与Set的区别
List与Set的区别 大家好,在我们平时的代码编写过程中,经常会碰到需要使用到集合类型: List与Set。很多时候,我们可能会将它们视为同一种类型进行使用,但是在实际的编程逻辑中,它们之间是存在很大差别的。接下来我们就…...

MyBatis 实战指南:探索灵活持久化的艺术
文章目录 前言一、初识 MyBatis1.1 什么是 MyBatis1.2 为什么学习 MyBatis 二、MyBatis 在软件开发框架中的定位三、基于 Spring Boot 创建 MyBatis 项目3.1 添加 MyBatis 框架的支持3.2 配置数据库连接信息和映射文件的保存路径(Mapper XML) 四、MyBati…...

高中教师能去美国做访问学者吗?
美国作为世界上高等教育水平较高的国家之一,吸引了众多学者前往交流学习。那么高中教师是否能够成为美国访问学者,这是当然的,高中老师是可以出国访学的,但是出国做访问学者会涉及到多方面的因素。 首先,教师个人的学术…...
93 | Python 设计模式 —— 建造者模式
文章目录 什么是建造者模式?建造者模式的四个角色Python建造者模式示例建造者模式的优点建造者模式的适用场景案例1:股票价格监控案例2:天气预报系统总结当构建复杂对象时,经常会遇到对象的创建过程非常复杂、包含多个步骤、或者有不同的配置选项。这时,使用建造者模式是一…...

nacos升级开启鉴权后,微服务无法连接的解决方案
版本: 软件版本号备注spring boot2.2.5.RELEASEspring-cloudHoxton.SR3spring-cloud-alibaba2.2.1.RELEASEnacos2.0.1从1.4.2版本进行升级。同时作为注册中心和配置中心 一、升级nacos版本,开启鉴权 1.在application.properties配置文件开启鉴权&…...
elementui弹窗页按钮重复提交问题解决
一、BUG场景 ruoyi平台,页面弹出窗有提交按钮,在提交时连续多次点击会发生重复提交。 二、错误方案 给按钮增加 :loading"submitLoading" 属性。 <el-dialog :title"title" :v-if"open" :visible.sync"open&…...

HBase-读流程
创建连接同写流程。 (1)读取本地缓存中的Meta表信息;(第一次启动客户端为空) (2)向ZK发起读取Meta表所在位置的请求; (3)ZK正常返回Meta表所在位置&#x…...

Matlab绘图 图例legend 太长,怎么减小指示线的长度
来源 绘图时,稍微减小文字已经不能正常放下图例,想通过调整图例指示线段长度缩减整个图例长度。 方法一 参考matlab官方论坛 leg legend(Plot1,Plot2,...); leg.ItemTokenSize [x1,x2]; By default x130 and x218 so put larger or smaller number…...

力扣17(电话号码中的字符组合)
题目表述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例1 输入:digits "23" 输出࿱…...

vue+element 下载压缩包和导出
export function goodsInspectionReportDwnloadZip (params) {return axios({url: "/warehouse-entry-server/v1/goodsInspectionReport/downloadZip",method: "get",params,responseType: "blob"}) } //下载handleDownloadFile() {if (!this.$r…...

构建Docker容器监控系统 (1)(Cadvisor +InfluxDB+Grafana)
目录 Cadvisor InfluxDBGrafana 1. Cadvisor 2.InfluxDB 3.Grafana 开始部署: 下载组件镜像 创建自定义网络 创建influxdb容器 创建数据库和数据库用户 创建Cadvisor 容器 准备测试镜像 创建granafa容器 访问granfana 添加数据源 Add data source 新建 …...

hive编译报错整理
背景 最近在修hive-1.2.0的一个bug,需要修改后重新打包部署到集群,打包的时候报下面的错误,原因很简单,从远程仓库里面已经拉不到这个包了。 org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde was not found in http…...
centos磁盘爆满可以清理mysql-bin.000011吗
mysql-bin.000011 是 MySQL 的二进制日志文件,用于记录数据库中的更改操作。删除该文件可能会导致数据库恢复、备份和复制等功能的中断或数据丢失。因此,在删除任何 MySQL 的二进制日志文件之前,请确保您了解其潜在影响并采取适当的备份措施。…...

SSM个人博客项目
文章目录 SSM个人博客系统实现项目介绍 一、准备工作0. 创建项目添加对应依赖1. 数据库设计2. 定时实体类 二、功能实现1.统一功能处理统一返回格式统一异常处理定义登录拦截器 2. 注册登录实现生成获取验证码密码加盐实现注册功能登录功能注销功能 3.登录用户博客列表获取登录…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...