【网络安全】WIFI WPA/WPA2协议:深入解析与实践
WIFI WPA/WPA2协议:深入解析与实践
1. WPA/WPA2 协议
1.1 监听 Wi-Fi 流量
解析 WPA/WPA2 的第一步是监听 Wi-Fi 流量,捕获设备与接入点之间的 4 次握手数据。然而,设备通常不会频繁连接或重新连接,为了加速过程,攻击者会发送断开认证包 (Deauthentication Packet),强制客户端重新连接,从而捕获新的握手数据。
1.2 四次握手详解
四次握手是设备与路由器确认密码正确性的重要过程。其基本步骤如下:
-
路由器发送挑战信息: 路由器向客户端发送一个挑战信息,要求其证明拥有正确的网络密码 (PSK)。
-
客户端加密响应: 客户端使用 PSK 加密挑战信息,并将加密结果发送回路由器。
-
路由器验证并确认: 路由器验证客户端的加密响应,确认其拥有正确的 PSK,然后发送自己的确认信息。
-
最终验证并建立连接: 客户端验证路由器的确认信息,双方完成握手,建立加密连接。
尽管四次握手过程中并不会直接暴露 PSK,但握手数据中包含的信息足以用于离线暴力破解或字典攻击。
1.3 准备工作
在攻击设备上执行以下命令,确定可用的无线网络设备:
sudo iw dev
输出示例:
glitch@wifi:~$ iw dev
phy#2Interface wlan2ifindex 5wdev 0x200000001addr 02:00:00:00:02:00type managedtxpower 20.00 dBm
我们可以使用设备/接口wlan2,并且从此输出中可以获取两个对我们有用的重要细节:
addr
是我们设备的MAC/BSSID。BSSID代表基本服务集标识符,它是无线设备或接入点物理地址的唯一标识符。type
显示为managed 。这是大多数 Wi-Fi 设备(如笔记本电脑、手机等)连接 Wi-Fi 网络时使用的标准模式。在 managed 模式下,设备充当客户端,连接到接入点以加入网络。还有另一种模式称为监控模式monitor mode,我们将很快讨论。
1.4 扫描 Wi-Fi 网络
现在,我们想使用我们的设备扫描附近的 Wi-Fi 网络wlan2。我们可以使用
sudo iw dev wlan2 scan
dev wlan2指定您要使用的无线设备,并scan告诉iw扫描该区域以查找可用的 Wi-Fi 网络。
输出示例:
glitch@wifi:~$ sudo iw dev wlan2 scan
BSS 02:00:00:00:00:00(on wlan2)last seen: 520.388s [boottime]TSF: 1730575383370084 usec (20029d, 19:23:03)freq: 2437beacon interval: 100 TUscapability: ESS Privacy ShortSlotTime (0x0411)signal: -30.00 dBmlast seen: 0 ms agoInformation elements from Probe Response frame:SSID: MalwareM_APSupported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Parameter set: channel 6ERP: Barker_Preamble_ModeExtended supported rates: 24.0 36.0 48.0 54.0 RSN: * Version: 1* Group cipher: CCMP* Pairwise ciphers: CCMP* Authentication suites: PSK* Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)Supported operating classes:* current operating class: 81Extended capabilities:* Extended Channel Switching* Operating Mode Notification
这里有很多信息需要剖析,但以下是表明该设备是接入点的最重要的细节:
- 设备的BSSID和SSID分别为和。由于显示了SSID,这意味着设备正在通告网络名称,接入点会这样做以允许客户端发现并连接到网络。
02:00:00:00:00:00 MalwareM_AP
- RSN(Robust Security Network)的存在表明网络正在使用 WPA2,因为 RSN 是 WPA2 标准的一部分。WPA2 网络通常使用 RSN 来定义加密和身份验证设置。
Group and Pairwise ciphers
是 CCMP 。带有密码块链接消息认证码协议 (CCMP) 的计数器模式是 WPA2 使用的加密方法。- RSN 里面的值
Authentication suites
是PSK,表示这是一个 WPA2-Personal 网络,使用共享密码进行身份验证。 - 另一个重要细节是
DS Parameter set
显示通道 6 的值。就 Wi-Fi 而言,通道是指更宽泛的 Wi-Fi 频谱内允许无线设备相互通信的特定频率范围。Wi-Fi 有多种通道,它们都有助于在不同的频段分配网络流量,从而减少干扰。最常见的两种 Wi-Fi 通道是 2.4 GHz 和 5GHz。在 2.4GHz 频段,通常使用通道 1、6 和 11,因为它们不重叠,可最大限度地减少干扰。在 5 GHz频段,有更多可用通道,允许更多网络共存而不会受到干扰。
现在是时候讨论我们可以在某些无线设备上使用的另一种模式:监控模式。这是一种主要用于网络分析和安全审计的特殊模式。在此模式下,Wi-Fi 接口会监听特定信道上的所有无线流量,无论它是否定向到设备。它会被动捕获范围内的所有网络流量以进行分析,而无需加入网络。我们想检查我们的wlan2
接口是否可以使用监控模式。为此,我们将运行命令sudo ip link set dev wlan2 down
关闭我们的设备。然后我们将使用 切换模式以sudo iw dev wlan2 set type monitor
将 wlan2 更改为监控模式。然后使用 重新打开我们的设备sudo ip link set dev wlan2 up
。
glitch@wifi:~$ sudo ip link set dev wlan2 down
glitch@wifi:~$ sudo iw dev wlan2 set type monitor
glitch@wifi:~$ sudo ip link set dev wlan2 up
我们可以使用命令确认我们的接口处于监控模式sudo iw dev wlan2 info
。
输出示例:
glitch@wifi:~$ sudo iw dev wlan2 info
Interface wlan2ifindex 5wdev 0x200000001addr 02:00:00:00:02:00type monitorwiphy 2channel 1 (2412 MHz), width: 20 MHz (no HT), center1: 2412 MHztxpower 20.00 dBm
2. 结论
WPA/WPA2 虽然安全性较高,但仍存在被破解的可能性。
增强防护: 使用强密码、启用 WPA3、禁用 WPS 以及定期更新固件均可显著提高 Wi-Fi 网络安全性。
通过理解其工作原理和漏洞,我们可以更好地保护自己的网络安全。
相关文章:
【网络安全】WIFI WPA/WPA2协议:深入解析与实践
WIFI WPA/WPA2协议:深入解析与实践 1. WPA/WPA2 协议 1.1 监听 Wi-Fi 流量 解析 WPA/WPA2 的第一步是监听 Wi-Fi 流量,捕获设备与接入点之间的 4 次握手数据。然而,设备通常不会频繁连接或重新连接,为了加速过程,攻…...
穷举vs暴搜vs深搜vs回溯vs剪枝专题一>子集
题目: 两个方法本质就是决策树的画法不同 方法一解析: 代码: class Solution {private List<List<Integer>> ret;//返回结果private List<Integer> path;//记录路径,注意返回现场public List<List<Int…...
试题转excel;word转excel;大风车excel
一、问题描述 一名教师朋友,偶尔会需要整理一些高质量的题目到excel中 以往都是手动复制搬运,几百道题几乎需要一个下午的时间 关键这些事,枯燥无聊费眼睛,实在是看起来就很蠢的工作 就想着做一个工具,可以自动处理…...
Unity NTPComponent应用, 实现一个无后端高效获取网络时间的组件
无后端高效获取网络时间的组件 废话不多说,直接上源码m_NowSerivceTime 一个基于你发行游戏地区的时间偏移, 比如北京时区就是 8, 巴西就是-3,美国就是-5using Newtonsoft.Json; 如果这里报错, 就说明项目没有 NewtonsoftJson插件…...
复合机器人为生产提供精准的建议和决策支持
在现代化生产的浪潮中,智能复合机器人以其卓越的性能和高度智能化特点,正成为保障生产安全与可靠性的重要力量。 智能复合机器人具备精确的感知、判断和决策能力,能够在复杂的生产环境中自主导航、精确操作,避免了人为因素可能导致…...
springboot/ssm二手儿童绘本交易系统Java代码编写web项目闲置书籍源码
springboot/ssm二手儿童绘本交易系统Java代码编写web项目闲置书籍源码 基于springboot(可改ssm)vue项目 开发语言:Java package com.controller;import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map;import javax.s…...
30. Three.js案例-绘制并渲染圆弧
30. Three.js案例-绘制并渲染圆弧 实现效果 知识点 WebGLRenderer WebGLRenderer 是 Three.js 中用于渲染 3D 场景的核心类。它利用 WebGL 技术在浏览器中渲染 3D 图形。 构造器 new THREE.WebGLRenderer(parameters) 参数类型描述parametersObject可选参数对象ÿ…...
类和对象(2)
大家好,今天我们继续来学习类和对象的知识,那么今天我们来看看类的概念和类的定义相关的知识,那么话不多说,我们直接开始。 2.类定义和使用 面向对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机,但是…...
240004基于ssm+maven+mysql+Java的房屋租赁系统的设计与实现
基于ssmmavenmysql的房屋租赁系统的设计与实现 1.项目描述2.运行环境3.项目截图4.源码获取 1.项目描述 该项目在原有的基础上进行了优化,包括新增了注册功能,房屋模糊查询功能,管理员和用户信息管理等功能,以及对网站界面进行了优…...
HTTP、WebSocket、gRPC 或 WebRTC:各种协议的区别
在为您的应用程序选择通信协议时,有很多不同的选择。 本文将了解四种流行的解决方案:HTTP、WebSocket、gRPC 和 WebRTC。 我们将通过深入学习其背后原理、最佳用途及其优缺点来探索每个协议。 通信方式在不断改进:变得更快、更方便、更可靠&…...
FlowNex 中的两相建模基础知识
通过 FlowNex 中的两相建模解开高效流体动力学的秘密,彻底改变制造业。 挑战 两相流是指两个不同相(通常是液体和气体)同时流动,它们具有不同的特性和行为。在制造业中,了解两相流对于优化热交换器、化学反应器和流体…...
Mysql笔记
windows安装记录Windows中Mysql安装-CSDN博客 用到的库 通过网盘分享的文件:atguigudb.sql 链接: https://pan.baidu.com/s/1YfC20c2vK9odn-XRJJwUJw 提取码: utk7 --来自百度网盘超级会员v5的分享 Mysql4中表关联关系 1.1对1,比较少用,因为完全可以一张表,当有…...
docker拉取rabbitmq镜像安装延迟队列插件
我这里使用的是rabbitmq:3.12.0-management版本作为示例 1.拉取rabbitmq镜像 docker pull rabbitmq:3.12.0-management 2.启动rabbitmq docker run -d --namerabbitmq --restartalways -p 5672:5672 -p 15672:15672 rabbitmq:3.12.0-management 在咱们拉取时如果出现连接超时可…...
创建一个谷歌插件项目dome上线流程+源码
创建一个简单的 Chrome 扩展程序,其主要功能是 JSON 格式化。用户可以通过点击扩展图标打开一个弹出窗口,在弹出窗口中输入或粘贴 JSON 数据,然后点击格式化按钮来格式化 JSON 数据 谷歌插件(即 Chrome 扩展程序)主要设…...
举例说明如何在linux下检测摄像头设备具备的功能
假设摄像头设备文件为/dev/video1 ,下面是一个专门用于检测 /dev/video1 设备能力的简化程序。这个程序将打印出设备的所有能力、格式和其他相关信息,以帮助你了解设备支持的功能。 检测 /dev/video1 设备能力的程序 #include <fcntl.h> #includ…...
win10配置子系统Ubuntu子系统(无需通过Windows应用市场)实际操作记录
win10配置子系统Ubuntu子系统(无需通过Windows应用市场)实际操作记录 参考教程 : win10配置子系统Ubuntu子系统(无需通过Windows应用市场) - 一佳一 - 博客园 开启虚拟机服务的 以管理员方式运行PowerShell运行命令。 …...
东北大学《2024年839自动控制原理真题》 (完整版)
本文内容,全部选自自动化考研联盟的:《东北大学839自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题...
5G中的ATG Band
Air to Ground Networks for NR是R18 NR引入的。ATG很多部分和NTN类似中的内容类似。比较明显不同的是,NTN的RF内容有TS 38.101-5单独去讲,而ATG则会和地面网络共用某些band,这部分在38.101-1中有描述。 所以会存在ATG与地面网络之间的相邻信…...
nginx负载均衡配置
目录 一、简介 二、nginx下载 二、nginx配置 四、注意点 (1)/api与/api/的区别 (2)http://gatewayserver与http://gatewayserver/的区别 一、简介 Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器,也是一个IMA…...
【教学类-83-02】20241214立体书三角嘴2.0——青蛙(扁菱形嘴)
背景需求: 制作小鸡立体贺卡三角嘴,它的嘴是正菱形(四条边长度相等,类似正方形) 【教学类-83-01】20241215立体书三角嘴1.0——小鸡(正菱形嘴)-CSDN博客文章浏览阅读744次,点赞22次…...
vscode设置终端代理
转载请标明出处:小帆的帆的博客 设置终端代理 修改项目的.vscode/settings.json {"terminal.integrated.env.windows": {"http_proxy": "http://127.0.0.1:7890","https_proxy": "http://127.0.0.1:7890"}, }…...
【C++】函数计算题解论
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯思路解析3.1 函数的递归定义3.2 边界条件控制3.3 记忆化搜索 💯C实现代码💯添加解释💯小结 💯前言 在…...
Redis篇-21--运维篇3-集群(分片,水平扩展,高可用,集群配置案例,扩展哨兵案例)
1、概述 Redis集群(Cluster)通过分片(sharding)实现了水平扩展,允许数据分布在多个节点上,从而提升性能和存储容量。 在Redis集群中,数据被分割成16384个哈希槽(hash slots&#x…...
Unity3d场景童话梦幻卡通Q版城镇建筑植物山石3D模型游戏美术素材
注明:网络素材,仅供学习使用! https://download.csdn.net/download/elineSea/90017291...
深入理解addEventListener中的第二个参数:listener
起因 首先,之前留给我们的一点东西,js的深入内容关键在addEventListener,这个函数中的参数,它们三个参数,分别为type、listener、options,当然在这里还有一些小的问题,比如mdn文档中它介绍到了另…...
数据库镜像(Database Mirroring):高可用性与灾难恢复技术
一、引言 在现代信息系统中,数据的可用性和完整性至关重要,尤其是对金融、电商、医疗等高并发和高可靠性要求的行业。数据库镜像(Database Mirroring) 作为一种高可用性与灾难恢复技术,通过将主数据库的数据实时复制到…...
【Qt】按钮类控件:QPushButton、QRadioButton、QCheckBox、ToolButton
目录 QPushButton 例子: QRadioButton 例子: 按钮的常见信号函数 单选按钮分组 例子: QCheckButton 例子: QToolButton QWidget的常见属性及其功能对于它的派生类控件都是有效的(也就是Qt中的各种控件),包括…...
day-21 内核链表以及栈
1.昨日作业 1.删除指定节点 找到删除就完事了,双向可以停在删除处。 /***************************** 功能:删除指定结点(通过姓名)* 参数:phead;oldname; * 返回:成功0,失-1&…...
深度与视差的关系及其转换
深度与视差的关系及其转换 在计算机视觉和立体视觉中,深度和视差是两个重要的概念。理解这两者之间的关系对于实现立体图像处理、三维重建以及深度估计至关重要。在这篇博客中,我们将深入探讨深度和视差的概念,并介绍它们之间的转换关系。 …...
Unity全局光照详解
之前就学过但是太久没用又忘了,因此用最简洁易懂的语言做个记录。 全局光照分为两个系统,分别是实时光照和混合光照。(点击window/Rendering/Lighing打开此面板) 其中全局光照对于我来说都是新技术了,上一次学…...
外观模式的理解和实践
外观模式(Facade Pattern)是一种常用的软件设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。该模式定义了一个高层的接口,使得子系统更容易使用。简单来说,外观模式就是通过引入一个外观角色…...
【前端知识】Javascript进阶-类和继承
文章目录 概述一、类(Class)二、继承(Inheritance) 三、继承的实现方式作用一、类和作用二、继承和作用 概述 当然可以,以下是对JavaScript中类和继承的详细介绍: 一、类(Class) 定…...
Kylin麒麟操作系统 | Nginx服务部署
目录 一、理论储备1. Nginx概述2. Nginx与Apache的区别3. Nginx的服务配置 二、任务实施任务1 Nginx的编译安装1. Server配置2. 客户端测试 任务2 Nginx反向代理1. Server1配置2. Server2配置3. 客户端测试 一、理论储备 1. Nginx概述 Nginx是一个轻量级的web服务器ÿ…...
51单片机--- 串口控制仿真
51单片机--- 串口控制仿真 实验目标:51单片机接收串口数据,根据数据点亮LED。 实验步骤: 在Proteus里画出原理图 在Keil里用C语言编写程序 在Proteus中导入HEX文件,启动仿真 实验协议: 波特率115200 数据位:8位,停止位:1位,校验位:无。 命令格式: 一条命令为…...
<数据集>输电线塔杂物识别数据集<目标检测>
数据集下载链接 <数据集>输电线塔杂物识别数据集<目标检测>https://download.csdn.net/download/qq_53332949/90141102数据集格式:VOCYOLO格式 图片数量:1099张 标注数量(xml文件个数):1099 …...
HarmonyOS学习 --- Mac电脑获取手机UDID
一,手机打开开发者选项 1,打开“设置 > 关于本机”,连续点击7次版本号,打开开发者选项。 2,打开“USB调试”。 二,配置环境变量 获取OpenHarmony SDK 安装路径 /Users/admin/Library/OpenHarmony/Sdk/10…...
OpenIPC开源FPV之Adaptive-Link地面站代码解析
OpenIPC开源FPV之Adaptive-Link地面站代码解析 1. 源由2. 框架代码3. 软件配置3.1 默认配置3.2 加载配置3.3 更新配置 4. 通信例程4.1 TCP报文解析4.2 UDP报文发送 5. 特殊指令5.1 request_keyframe5.2 drop_gop5.3 resume_adaptive5.4 pause_adaptive 6. 总结7. 参考资料 1. 源…...
Linux Docker环境中解决中文字体乱码问题完整指南
问题背景 在Linux Docker环境中运行涉及中文显示的应用时(如Selenium网页截图、PDF生成等),经常会遇到中文显示为方块或乱码的问题。这是因为Linux系统默认没有安装中文字体所导致的。 解决方案 我们可以从Windows系统复制常用中文字体到D…...
[数据结构#1] 并查集 | FindRoot | Union | 优化 | 应用
目录 1. 并查集原理 问题背景 名称与编号映射 数据结构设计 2. 并查集基本操作 (1) 初始化 (2) 查询根节点 (FindRoot) (3) 合并集合 (Union) (4) 集合操作总结 并查集优化 (1) 路径压缩 (2) 按秩合并 3. 并查集的应用 (1) 统计省份数量 (2) 判断等式方程是否成…...
用于卫星影像间接RPC模型精化的通用光束法平差方法
引言 介绍了通用RPC模型的表达式,which has been down to death 描述了RPC模型产生误差的原因——主要与定义传感器方位的姿态角有关。 每个影像都会对应一个三维点云,但是对同一地物拍摄的不同影像对应出来的三维点云是不一样的,所以才需…...
关于Redis主从复制实验操作
需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!! 需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!! Redis主从复制需要一主二从(共三个Redis…...
【HarmonyOS】鸿蒙获取appIdentifier,Identifier
【HarmonyOS】鸿蒙获取appIdentifier,Identifier 一、前言 三方后台需要填写的所谓appIdentifier,Identifier信息,其实对应鸿蒙应用的appID。 二、解决方案: 注意,模拟器获取data.signatureInfo.appIndentifer为空…...
matplotlib(二)
目录 1、折线图(plot)与基础绘制图功能 1.1、设置图形风格 2、多坐标系显示图像 3、折线图的应用场景 1、折线图(plot)与基础绘制图功能 # import matplotlib.pyplot as plt # import random # #1.创建画布 # plt.figure(figs…...
Jenkins容器使用宿主机Docker(五)
DevOps之安装和配置 Jenkins (一) DevOps 之 CI/CD入门操作 (二) Sonar Qube介绍和安装(三) Harbor镜像仓库介绍&安装 (四) Jenkins容器使用宿主机Docker(五) Jenkins流水线初体验(六&#…...
基于前后端分离的食堂采购系统源码:从设计到开发的全流程详解
本篇文章,笔者将从系统设计到开发的全过程进行详解,帮助开发者和企业了解如何高效构建一套完善的食堂采购系统。 一、系统需求分析 在开发一套基于前后端分离的食堂采购系统前,必须对业务需求和功能模块进行详细分析,确保系统设…...
git使用教程(超详细)-透彻理解git
一.核心基础 核心概念有六个 首先请把与svn有关的一切概念暂时从你的脑海中移除掉,我们要重新认识本文所讲述的所有概念。 1.worktree worktree是一个目录,你在这里对文件进行增加、删除、修改。也就是我们常说的工作区。在git中worktree必须要与一个…...
Bugku---misc---隐写2
题目出处:首页 - Bugku CTF平台 ✨打开发现是一张图片,于是查看属性,放在010查看,这都是基本步骤了,发现里面有一个flag.rar!!!拿binwalk分析也确实存在 ✨于是按照压缩包的起始位置…...
数据仓库工具箱—读书笔记01(数据仓库、商业智能及维度建模初步)
数据仓库、商业智能及维度建模初步 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 博主在这里先把这本书"变薄"~有时间的小伙伴可以亲自再读一读,感受一下…...
将 Ubuntu 22.04 LTS 升级到 24.04 LTS
Ubuntu 24.04 LTS 将支持 Ubuntu 桌面、Ubuntu 服务器和 Ubuntu Core 5 年,直到 2029 年 4 月。 本文将介绍如何将当前 Ubuntu 22.04 系统升级到最新 Ubuntu 24.04 LTS版本。 备份个人数据 以防万一,把系统中的重要数据自己备份一下~ 安装配置SSH访问…...
Springboot3.x配置类(Configuration)和单元测试
配置类在Spring Boot框架中扮演着关键角色,它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置,取代了早期版本中依赖的XML配置文件。 集中化管理:借助Configuration注解,Spring Boot让用户能在一个或几个配…...