低成本打造便携式无线网络攻防学习环境

1.摘要

一直以来, 无线网络安全问题与大众的个人隐私息息相关, 例如: 为了节省流量, 连接到一个看似安全的免费WiFi, 在使用过程中泄露自己的各类密码信息甚至银行卡账号密码信息。随着家用智能电器的普及, 家中的各类智能设备连入家里的无线网络, 却突然失灵, 甚至无法正常连接上网络。本文将从研究的角度搭建一个专门用于无线网络安全探索的实验环境。

2.设备选型

要了解无线攻击原理, 很有必要从攻击者的需求角度来模拟, 从硬件设备选择上, 普通电脑或服务器、虚拟机已经无法满足实际需求, 一款能够满足攻防技术复现还原的设备至少需要满足以下几点:

  • 可便携 - 设备体积偏小、携带、安装、拆卸均方便。

  • 可编程 - 设备上能够运行自主开发的控制程序, 由此对硬件性能有一定要求。

  • 可维护 - 能够方便提供软、硬件接口, 方便问题查找和维护。

  • 可续航 - 为了能够持续产生效果, 需要具备一定的连续工作能力, 包括: 有电源和无电源的情况都要考虑。

  • 可覆盖 - 主要针对信号强度, 普通电脑的无线网卡虽也可满足需求, 但信号范围覆盖有限会导致某些功能不稳定。

2.1 设备主体选型

针对以上特点, 这款无线硬件主体设备最终决定采用:Raspberry Pi 4B(树莓派), 其参数和需求满足对应关系如下:

硬件型号:Raspberry Pi 4B
硬件尺寸:88 * 58 * 19.5 毫米满足便携式需求
中央处理器:1.5GHz,四核Cortex A-72满足可编程需求
存储空间(最高):64GB满足可编程需求
内存空间(最高):8GB满足可编程需求
无线网络:802.11 2.4GHz/5GHz双频满足可维护需求
有线网络:USB 2.0前兆以太网(300Mb/s)满足可维护需求
供电接口micro usb(5V 2.5A)支持外接USB电池供电,满足续航需求。
USB接口USB 2.0 * 2 / USB 3.0 * 2支持更丰富的外接设备。
HDMI接口可接显示器方便维护

Raspberry Pi 4B设备除了拥有容量足够的磁盘空间和内存之外,还提供众多第三方接口。设备提供了四个USB接口,可以即插即用鼠标、键盘、U盘、移动硬盘等设备;设备提供了HDMI接口,能够将设备运行信息投到显示器上操作,方便维护。

2.2 天线选型

设备的信号接收范围决定了扫描的WiFi范围和数量,Raspberry Pi 4B设备虽然自带无线网卡,但集成的无线网卡接收无线信号范围有限,最多接收半径不超过10米,经过选型,最终选择了一款第三方基于USB接口带外接天线的无线网卡,该无线网卡参数详情如下:

指标名称指标参数需求指标
信号覆盖半径50米符合
天线长度106mm符合
系统兼容性支持即插即用符合
USB体积15mm x 37mm符合
支持监听模式监听和正常模式切换符合

其原型图如下:

该天线是一款带USB头的即插即用天线, 支持大多数Linux系统, 与树莓派主体可以完美结合, 如图:

注意: 在选购外接无线网卡时, 一定要问清楚是否支持网卡监听模式, 关于监听模式参考文章后面的第四部分。

2.3 续航设备选型

由于树莓派自带电源接口和电源, 这里的续航主要针对无电源供电情况, 选择了一个10000毫安的电池, 可连续工作十几个小时,电池绑定在一个小型嵌入式板上, 通过USB供电, 如图:

与天线比起来, 这款电池和电池板不像一款产品, 但也临时没有找到便宜的可替代品, 还好体积不算太大, 便携性也能满足实际需求。

3.操作系统安装

3.1 操作系统选择

根据实际需求, 目前最合适的系统莫过于Kali系统, 打开网址: Get Kali | Kali Linux , 这里可以找到专门针对树莓派的最新Kali系统镜像, 如图:

3.2 操作系统安装

3.2.1 系统烧录工具安装

树莓派没有硬盘, 替而代之的是一个很小的SDCard卡片, 因此安装Kali系统首先要将系统image镜像烧录到SdCard中。

系统烧录工具主要包括:PanasonicSDFormatter和balenaEtcher。其中,PanasonicSDFormatter是SDCard格式化工具,能够将SDCard中的数据快速清空,如果是新系统换旧,则需要先格式化之前的数据。balenaEtcher是系统烧录工具,能够将操作系统镜像烧录到SDCard中。

将PanasonicSDFormatter下载解压之后进入文件夹, 该工具是绿色免安装版, 直接双击SDFormatter.exe即可看到主界面,如图:

balenaEtcher下载解压后同样直接双击exe开始安装, 无需任何设置, 点击"我同意"后直接进入安装流程, 主界面如下:

3.2.2 SDCard格式化

将树莓派自带的SDCard插入到USB读卡器中(读卡器树莓派自带), 再将USB读卡器插入到操作电脑中, 经过少许等待, 会发现系统多出两个盘符, 如图:

打开工具PanasonicSDFormatter, 在Drive中选择Boot之外的那个盘符, 这里也就是G盘,直接点击"格式化"按钮进行格式化,如图:

出现以下界面说明格式化成功,如图:

此时再查看SDCard的盘符, 可以发现已经可以看到SDCard的容量, 接下来便可以开始烧录系统。

3.2.3 系统镜像烧录

打开工具balenaEtcher,点击按钮"Select image",选择下载到本地的kali镜像,之后再点击“Flash”按钮开始烧录,如图:

烧录过程要等待比较长一段时间, 等进度到达100%后, 便可以拔出读卡器, 将SDCard插入到树莓派底部插槽中,通电进入系统。

在树莓派中启动的Kali系统启动界面如下:

4.设置网卡监听模式

无线网卡监听模式是指无线网卡可以接收所有经过它的数据流的工作方式, 通常用于网络发现。当前扫描无线热点之前, 必须将无线网卡设置为监听模式。然而,并不是所有无线网卡默认支持监听模式, 可以使用工具: airmon-ng测试当前的无线网卡是否支持监听模式, 首先直接在Kali系统中运行以下命令:

# airmon-ng

命令执行后,显示以下网卡名称:

注意:上图中的rt2800usb就是我们选购的第三方网卡,是通过USB接入, airmon-ng命令能够识别的网卡均支持网卡监听模式。

接着输入以下命令,尝试开启无线网卡的监听模式:

# airmon-ng start wlan0

注意: 只有支持监听模式的网卡才能启动成功, 以下是启动监听模式成功后的:

到这里, 监听模式启动完毕, 下面就可以开始扫描周边的无线热点了。

5.启动无线扫描

无线扫描主要使用Kali自带的air-dump-ng来完成, 例如,使用以下命令开启抓包:

# airodump-ng 监听网卡名称 --beacons -w 抓包文件保存路径

该命令执行后, 程序不会退出, 会持续进行扫描, 并且会生成抓包文件,如图:

其中, .csv文件中保存了扫描到的无线热点信息,如图:

除此之外, 还能获取到连接到Wifi的客户端信息,如图:

6.总结

到此, 一个属于我们自己的便携式无线网络攻防环境搭建完成, 后面可以以此环境做很多研究工作,包括无线攻防技术研究, 开发自己的程序对数据进行分析和处理, 以及协议分析及元数据获取等等。

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

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

相关文章

@Scheduled注解 定时任务讲解

用于在Java Spring框架中定时执行特定任务的注解 Scheduled,它能够指定方法在特定时间间隔或特定时间点执行。默认参数是cron,cron参数被用来定义一个Cron表达式,它代表了任务执行的时间规则 参数如下 Cron 这是是一种时间表达式&#xff…

【应用程序启动过程-三种加载控制器的方式-上午内容复习 Objective-C语言】

一、我们先来回忆一下,上午所有内容 1.首先呢,我们先说的是这个“应用程序启动过程”, 应用程序启动过程里面,有三方面内容 1)UIApplication对象介绍 2)AppDelegate对象介绍 3)应用程序启动过程 现在不知道大家对这个应用程序启动过程有印象吗, 2.首先,这个UIAp…

MySQL数据库时间计算的用法

今天给大家分享如何通过MySQL内置函数实现时间的转换和计算,在工作当中,测试人员经常需要查询数据库表的日期时间,但发现开发人员存入数据库表的形式都是时间戳形式,不利于测试人员查看,测试人员只能利用工具对时间戳进…

【 顺序表经典算法—移除元素和合并两个有序数组】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 经典算法OJ题1: 移除元素 解法一、逐个判断 解法二、双指针覆盖 经典算法OJ题2: 合并两个有序数组 OJ题分为两个类型: 总结 前言…

MAX/MSP SDK学习07:list传递

实现自定义Obejct,要求将传入的一组数据100后传出。 #include "ext.h" #include "ext_obex.h" typedef struct _listTrans {t_object ob;void* outLet;t_atom* fArr;long listNum;} t_listTrans;void* listTrans_new(t_symbol* s, long arg…

Bug等级划分

Bug是指在程序或系统中存在的错误、缺陷或异常,是由于编码错误、设计问题、逻辑错误或其他因素导致的。 常见的Bug分类方法 功能性Bug与软件的功能有关,软件无法正常工作、功能与需求不符或功能执行不正确。 用户界面Bug与软件的用户界面有关&#xff…

Unity中Shader双向反射分布函数BRDF

文章目录 前言一、渲染方程二、什么是BxDF1、BSSRDF2、BRDF3、BTDF4、BSDF 三、迪士尼原则的BRDF四、迪士尼原则的BRDF的参数五、在Unity中看一下默认Shader的这些参数六、在这里记录一下使用 Blender 和 SubstancePainter 的流程1、在Blender中导出模型为 .obj 格式2、在Subst…

Go 实现网络代理

使用 Go 语言开发网络代理服务可以通过以下步骤完成。这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 代理服务作为示例。 步骤 1. 安装 golang.org/x/net/proxy 包 使用以下命令安装 golang.org/x/net 包,该包包含 proxy 子包&am…

天软特色因子看板 (2023.11 第12期)

该因子看板跟踪天软特色因子A05006(近一月单笔流入流出金额之比(%),该因子为近一个月单笔流入流出金额之比(%)均值因子,用以刻画在 市场日内分时成交中流入、流出成交金额的差异性特点,发掘市场主力资金的作用机制。 今日为该因子跟踪第12期&…

Windows平台Unity下实现camera场景推送RTMP|轻量级RTSP服务|实时录像

技术背景 我们在对接Unity平台camera场景采集的时候,除了常规的RTMP推送、录像外,还有一些开发者,需要能实现轻量级RTSP服务,对外提供个拉流的RTSP URL。 目前我们在Windows平台Unity下数据源可采集到以下部分: 采集…

@PostConstruct虽好,请勿乱用

1.问题说明 在日常的业务开发中,有时会利用PostConstruct在容器启动时执行一些任务。例如: PostConstruct public void init(){System.out.println("service 初始化..............."); }一般情况这没什么问题,但最近一个同事在做…

ui5使用echart

相关的代码已经发布到github上。 展示下相关的实现功能 1、柱状图-1 2、柱状图-2 3.折线图 4.饼状图 如何使用: 使用git clone项目到本地 git clone https://github.com/linhuang0405/com.joker.Zechart找到index.html。在vscode里右键选择Open with Live Serve…

BLE通用广播包

文章目录 1、蓝牙广播数据格式2、扫描响应数据 1、蓝牙广播数据格式 蓝牙广播包的最大长度是37个字节,其中设备地址占用了6个字节,只有31个字节是可用的。这31个可用的字节又按照一定的格式来组织,被分割为n个AD Structure。如下图所示&…

VS Code 如何搭建C/C++环境

目录 一、VS Code是什么? 二、VS Code下载和安装 2.1下载 2.2安装 2.3环境介绍 三、Vs Code配置C/C环境 3.1下载和配置MinGW-w64编译器套件 3.1.1下载 3.1.2配置 一、VS Code是什么? 跨平台,免费且开源的现代轻量级代码编辑器 Vis…

【MATLAB源码-第85期】基于farrow结构的滤波器仿真,截止频率等参数可调。

操作环境: MATLAB 2022a 1、算法描述 Farrow结构是一种用于实现可变数字滤波器的方法,尤其适用于数字信号处理中的采样率转换和时变滤波。它通过多项式近似来实现对滤波器系数的平滑变化,使得滤波器具有可变的群延时或其他参数。 Farrow结…

mysql中数据是如何被用B+树查询到的

innoDB是按照页为单位读写的 那页中有很多行数据,是怎么执行查询的呢,首先我们肯定,是以单向列表形式存储的,提高了增删的效率,但是查询效率低。所以实际上对页中的行数据进行了优化,能以二分的方式进行查…

基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于北方苍鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

Java面试-框架篇-Mybatis

Java面试-框架篇-Mybatis MyBatis执行流程延迟加载使用及原理一, 二级缓存来源 MyBatis执行流程 读取MyBatis配置文件: mybatis-config.xml加载运行环境和映射文件构造会话工厂SqlSessionFactory会话工厂创建SqlSession对象(包含了执行SQL语句的所有方法)操作数据库的接口, Ex…

IP地址定位技术发展与未来趋势

随着互联网的快速发展,人们对网络的需求和依赖程度越来越高。在海量的网络数据传输中,IP地址定位技术作为网络安全与信息追踪的重要手段,其精准度一直备受关注。近年来,随着技术的不断进步,IP地址定位的精准度得到了显…

【wireshark】基础学习

TOC 查询tcp tcp 查询tcp握手请求的代码 tcp.flags.ack 0 确定tcp握手成功的代码 tcp.flags.ack 1 确定tcp连接请求的代码 tcp.flags.ack 0 and tcp.flags.syn 1 3次握手后确定发送成功的查询 tcp.flags.fin 1 查询某IP对外发送的数据 ip.src_host 192.168.73.134 查询某…