手动编译kernel和supplicant使树莓派支持wpa3

article/2025/10/17 23:03:44

目前支持wpa3的client毕竟还少,因此决定用树莓派作为wpa3 client,同时为了方便分析wpa3有关的supplicant和 kernel的代码流程,决定手动编译。

编译之前需要下载树莓派对应的工具链和driver patch。

https://community.cypress.com/docs/DOC-17441
git clone https://github.com/raspberrypi/tools ~/tools
git clone --depth=1 --branch rpi-4.14.y https://github.com/raspberrypi/linux

如果下载较慢可以直接通过网盘下载,我已经把对应的工具上传到了网盘

链接:https://pan.baidu.com/s/12-wwPcKhdQPEt-U9QsZ8pQ
提取码:k13o

WPA3 packet capture:
在这里插入图片描述

下来是步骤,按照这个步骤一定会成功

/*首先在ubuntu上编译树莓派的内核,我用的是ubuntu 18*/
sudo apt-get install git bison flex libssl-dev
/*下载工具链*/
git clone https://github.com/raspberrypi/tools ~/tools 或  unzip tools-master.zip  echo PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin >> ~/.bashrc
source ~/.bashrc/*下载kernel*/
git clone --depth=1 --branch rpi-4.14.y https://github.com/raspberrypi/kernel  或 unzip linux-rpi-4.19.y.zip/*解压cypress*/
unzip cypress-fmac-v4.14.77-2019_1031.zipcd kernel
cp -r ../cypress/cypress-patch ./*给kernel打patch*/
for i in cypress-patch/*.patch; do patch -p1 < $i; done
按照默认选项一路回车就行
/*我粘贴了打完patch之后的最后一段*/
Hunk #1 succeeded at 353 (offset 298 lines).
Hunk #2 FAILED at 4376.
1 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c.rej
patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
Hunk #1 FAILED at 1059.Hunk #2 FAILED at 1127.
2 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c.rej
patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
Reversed (or previously applied) patch detected!  Assume -R? [n] Apply anyway? [n] 
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c.rej
patching file include/linux/mmc/sdio_ids.h
Reversed (or previously applied) patch detected!  Assume -R? [n] 
Apply anyway? [n] 
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file include/linux/mmc/sdio_ids.h.rej/*有个冲突的地方*/
vi drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h
1011行的结构体重复定义,可以删掉或注释掉
/*** struct brcmf_dload_data_le - data passing to firmware for downloading*/
/*struct brcmf_dload_data_le {
*       __le16 flag;
*       __le16 dload_type;
*       __le32 len;
*       __le32 crc;
*       u8 data[1];
};*//*在kernel跟目录下*/
export KERNEL=kernel7
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
make -j2 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
mkdir /tmp/modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/tmp/modules modules_install/*把编译出来的image和module拷贝到树莓派*/
cd arch/arm/boot/
scp zImage pi@x.x.x.x:~/
cd /tmp/modules
tar czvf newmodules.tar.gz lib/
scp newmodules.tar.gz pi@x.x.x.x:~/**/*树莓派端*/**
mv zImage  kernelwifi.img
sudo cp kernelwifi.img /boot -rf
sudo vi /boot/config.txt
在最后一行加上
kernel=kernelwifi.imgtar -jxvf newmodules.tar.gz
/*备份一下已有的driver*/
mv /lib/firmware/brcm /lib/firmware/brcm_bak
scp cypress-fmac-v4.14.77-2019_1031.zip pi@x.x.x.x:~/
unzip cypress-fmac-v4.14.77-2019_1031.zip
sudo cp firmware/* /lib/firmware/brcm/
reboot
/*重启之后*/
pi@raspberrypi:~/hostap_2_6/wpa_supplicant $ uname -a
Linux raspberrypi 4.14.114-v7+ #2 SMP Fri May 17 21:57:57 CEST 2019 armv7l GNU/Linux

supplicant:

/*树莓派下下载*/
wget https://w1.fi/cgit/hostap/snapshot/hostap_2_6.tar.gz
tar xvzf hostap_2_6.tar.gz 
# SCP 并且 从Cypress中 解压 hostap_2_6 patch 
tar xvzf cypress-hostap_2_6-2019_0502.tar.gz 
mv cypress-hostap_2_6 hostap_2_6
cd hostap_2_6/
for i in cypress-hostap_2_6/*.patch; do patch -p1 < $i; done
cd wpa_supplicant/
vi .config
CONFIG_IEEE80211W=y
CONFIG_SAE=y
CONFIG_SUITEB=ysudo apt-get install libssl-dev libnl-dev
vi ../src/drivers/driver_nl80211.c
# line 4969 
/*              case WPA_KEY_MGMT_FT_IEEE8021X:mgmt = RSN_AUTH_KEY_MGMT_FT_802_1X;break;case WPA_KEY_MGMT_FT_PSK:mgmt = RSN_AUTH_KEY_MGMT_FT_PSK;break;*/
make

wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
eapol_version=1
ap_scan=1
fast_reauth=1
pmf=1
network={ssid="wpa3_sae"proto=RSNkey_mgmt=SAEsae_password="1234567890"
}

最后:

#杀掉现有的supplicant
sudo killall wpa_supplicant
#run
sudo ./wpa_supplicant -c wpa_supplicant.conf -dd -i wlan0

http://chatgpt.dhexx.cn/article/Hm3mk3rS.shtml

相关文章

学一点Wi-Fi:WPA3 BP/OCV/SCV/PK/H2E/TD

WFA在2020年底发布了WPA3标准的第三版&#xff0c;其中又提出了一些新的feature。这里结合之前的版本简单总结一下。 1. BP BP是Beacon Protection的缩写。 问&#xff1a;Beacon中的信息都是未加密的&#xff0c;所以可能存在攻击者会对AP发出的Beacon信息进行篡改。 解&a…

针对WPA3认证的802.11协议分析

i 一、对管理帧的关键参数分析 AP的认证方式&#xff0c;可通过802.11管理帧&#xff08;Beacon帧、Probe Response帧&#xff09;中的相关参数进行判断&#xff0c;以WPA/WPA2-Persoanl类型的AP为例进行具体说明&#xff1a; Beacon帧&#xff08;主动扫描&#xff0…

【Hostapd support for WPA3 R3 Wi-Fi Security】

概述 WiFi 联盟将从 2022 年 1 月开始强制要求 WPA3 R3 进行认证。现有的 wpa_supplicant v2.9 和 hostapd v2.9 及以下版本不支持 WPA3-R3。需更新到hostapd v2.10版本以上才支持。 笔记 1.Wi-Fi联盟推出了被称为WPA3 R3版本&#xff0c;其中提出了Hash to Element(H2E)作为…

第十七节:通信之WLAN(WPA3-Ⅰ)

欢迎大家一起学习探讨通信之WLAN。本节探讨关于WLAN的安全性&#xff0c;最新WLAN加密方式为WPA3&#xff08;Wi-Fi Protected Access 3&#xff09;,相对WPA2在WLAN网络数据安全方面提供更好的保护机制。WPA3加密方式分为企业模式和个人模式&#xff0c;本节重点讨论WPA3个人模…

WPA3也不安全啦?H2E了解一下

一、背景 借用权威大佬的一句话&#xff0c;这一切都是妥协。 WPA2方法被称为Wi-Fi最先进的加密协议从2004年到2018年整整14个年头&#xff0c;但是这期间被各种花样攻击&#xff0c;各种被攻破。终于在2018年联盟推出了WPA3加密协议&#xff0c;协议一推出&#xff0c;各大媒体…

WPA3之OWE

大概是WIFI联盟的人闲的蛋疼&#xff0c;折腾出一个WPA3模式。想解决什么问题呢&#xff1f;看到WPA就知道是安全问题。大家总认WIFI输入密码麻烦&#xff0c;比如公共场所上网&#xff0c;先看墙上或者桌子上哪里有密码提示。营运商也觉得很烦&#xff0c;于是不知不觉在机场和…

WPA2/WPA3混合与WPA3的hostapd配置区别

WPA3-Personal-only mode: ieee80211w2 and wpa_key_mgmtSAE WPA2/WPA3: ieee80211w2 and wpa_key_mgmtWPA-PSK SAE 关于ieee80211w: 关于wpa: hostapd配置文件详细介绍 hostap-wpa3/hostapd.conf at master vanhoefm/hostap-wpa3 GitHub

关于WPA3-H2E的技术讲解

序言 H2E是Hash-To-Element的缩写。 问:虽然使用WPA3 SAE解决了offline dictionary破解密钥的问题,但是原先用于生成PMK的算法在计算时间上和密钥有关联性(这也行?),仍然存在所谓被side-channel方式破解。 解:新的算法,使用hash计算一次即可,堵死这个理论缺口[4]。…

WPA3 vs WPA2

1. 背景 2017年10月份,有安全研究者公布了WPA2协议的一个弱点,会遭受到KRACK( Key Reinstallation AttaCK)攻击;攻击者可以获取STA和AP之间传输的数据,许多厂家已经发布相关补丁修复此漏洞;但是WPA2的形象和名声还是受到损害,因而WIFI联盟迅速推出了WPA3 2018年的6月…

[高通SDM450][Android9.0]设备默认支持连接WPA3-SAE加密协议的WIFI

文章目录 开发平台基本信息问题描述问题分析解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 前段时间&#xff0c;有个医院的客户反馈我们的设备无法连接上他们医院路由器的WIFI&#xff0c;并且设备显示wifi已保存&#xff0c;但就是…

WIFI驱动开发——WIFI支持WPA3连接

Linux Kernel Support WPA3 文章目录 Linux Kernel Support WPA31. WPA3是什么2. WPA3相对于WPA2改进的地方3. 如何使用WPA33.1 驱动加载确认3.2 编译生成wpa_supplicant&#xff0c;hostapd工具3.3 STA模式下&#xff0c;连接WPA3加密的WIFI3.3.1 wpa_supplicant的使用3.3.2 w…

Wifi 认证,关联,四次握手(WPA/WPA2/WPA3-SAE)

引入 WPA3-SAE也是针对四次握手的协议。 四次握手是 AP &#xff08;authenticator&#xff09; 和 &#xff08;supplicant&#xff09;进行四次信息交互&#xff0c;生成一个用于加密无线数据的秘钥。 这个过程发生在 WIFI 连接 的 过程。 为了更好的阐述 WPA3-SAE 的作用 …

从WiFI渗透攻击到WPA3

文章目录 前言一、Wi-Fi的概述1.Wi-Fi的发展2.WiFi的信道划分2.4GHz信道划分5GHz信道划分 二、Wi-Fi的测试1.测试准备2.测试过程 三、WPA/WPA2/WPA3的安全性1.WPA/WPA22.WPA3 前言 WiFi从发明到现在已经融入到生活的每个方面&#xff0c;在这个互联网发达的时代&#xff0c;无线…

企业业务的 WPA3 安全性为啥如此重要?

安全的无线连接是当今大多数业务连续性的重要要求&#xff0c;特别是对于企业和中小型企业而言&#xff0c;Wi-Fi 安全性至关重要&#xff0c;但也具有挑战性。过去使用Wi-Fi Protected Access II (WPA2)保护无线网络是非常正常和可靠的&#xff0c;但是由于网络安全网络问题频…

WPA3的特点有哪些?

在之前的文章中&#xff0c;我们聊到了无线网络&#xff08;Wi-Fi&#xff09;的加密技术&#xff0c;其中就有我们日常生活中常见的WPA2和更高安全级别的WPA3。今天我们就来重点聊一聊最新的Wi-Fi加密技术——WPA3。 WPA3全名为Wi-Fi Protected Access 3&#xff0c;是Wi-Fi联…

WPA3---SAE原理介绍

WPA3简介 WIFI联盟2018.4月发布WPA3 V1.0版本&#xff0c;详细参见WIFI联盟官网 https://www.wi-fi.org/zh-hans/discover-wi-fi/security 背景&#xff1a;2017年10月份&#xff0c;有安全研究者公布了WPA2协议的一个弱点&#xff0c;会遭受到KRACK&#xff08; Key Reinstal…

Win10专业工作站版本激活并获得数字权利的方法和密钥

Win10专业工作站版本作为win10最高级的版本&#xff0c;很多同学都想体验一下&#xff0c;但是激活和获得数字权利成了头疼的问题&#xff0c;今天小编就教你怎样激活和获得数字权利。 首先需要先输入一个公开的MAK版本密钥&#xff0c;MBQRK-FNDW8-B7GF4-V9PCW-6MV77 &#x…

Windows系统查看CDkey(系统激活秘钥)

1、winR输入regedit后回车 2、 依次打开路径&#xff1a;计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform&#xff1a;

数字证书与密钥管理

数字证书与密钥管理 回顾 加密&#xff08;机密性&#xff09; 公钥对称加密 hash&#xff08;完整性&#xff09;安全签名 数字证书与PKI 用户或系统只有拥有自己的公钥和私钥后&#xff0c;才能实现数字签名和加密解密功能&#xff0c;由于公钥是随机产生的&#xff0c;因此从…

浅谈win101809专业工作站版本激活并且获取数字权利的方法

win10专业工作站版本是win10各个版本中功能最强大的&#xff0c;尤其是更新到1809版本之后&#xff0c;更是强大到没朋友。 工作站模式&#xff1a;微软通过识别CPU和GPU工作量来优化系统让系统达到最高性能 ReFS文件系统&#xff08;Dubbed ReFS&#xff09;&#xff1a;这是…