kali WiFi相关研究(学习中...)
基础环境准备:
笔记本一台E470c(内置网卡 Qualcomm Atheros QCA9377 802.11ac) # 经过测试创建虚拟AP不成功
外置网卡一个:UGREEN 绿联AC1300M,芯片是瑞昱的rtl8812au # 测试可用
OS:kali 2022.4
# 再kali上查看可用的WiFi网卡信息
airmon-ng
# 检查是否有相关冲突的进程
airmon-ng check
# 结束掉有影响的进程
airmon-ng check kill
# 开启WiFi网卡的监控模式
airmon-ng start wlan1(这里填写你实际的网卡)
# 是否成功开启,使用iwconfig检查

# 创建虚拟AP的BSSID,创建后界面会hold住
airbase-ng -P -e "<SSID名>" -c <信道> <网卡>
eg.
airbase-ng -P -e "test" -c 11 wlan1
# 这个时候会出现一个at0 的网卡,可以通过ifconfig -a 查看
# 给at0 网卡设置临时ip地址
ifconfig at0 10.0.0.3 netmask 255.255.255.0
# 配置DHCP 下载 isc-dhcp-server
apt-get install isc-dhcp-server -y
# 安装完毕后,稍微修改配置文件,vi /etc/dhcp/dhcpd.conf
# 以下为部分内容,主要修订内容:
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.99;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.3;
option domain-nameservers 223.5.5.5;
}
# 手动启动dhcp,启动后会hold住
dhcpd -d -f -cf /etc/dhcp/dhcpd.conf at0
# 添加路由
route add -net 10.0.0.0/24 gw 10.0.0.3
# 开启转发&添加
echo 1 > /proc/sys/net/ipv4/ip_forward
注:这里我光用上面的方式,kali数据转发功能并未生效,最后是采用修改
/etc/sysctl.conf文件里面,去掉#net.ipv4.ip_forward=1的注释后,重启生效。
# 防火墙转发规则
iptables -t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE
# 如果想缩小范围,可以修改为:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
# 扩展学习
## 在开启监听模式下面
airodump-ng <监听网卡名>
## airodump相关参数介绍

BSSID:表示无线AP的MAC地址。 PWR:网卡报告的信号水平,它主要取决于驱动。当信号值越高时,说明离AP或计算机越近。如果一个BSSID的PWR是-1,说明网卡的驱动不支持报告信号水平。如果部分客户端的PWR为-1,那么说明该客户端不在当前网卡能监听到的范围内,但是能捕获到AP发往客户端的数据。如果所有的客户端PWR值都为-1,那么说明网卡驱动不支持信号水平报告。 Beacons:无线AP发出的通告编号,每个接入点(AP)在最低速率(1Mbit/s)时差不多每秒会发送10个左右的Beacon,所以它们在很远的地方就会被发现。 #Data:被捕获到的数据分组的数量(如果是WEP,则代表唯一Ⅳ的数量),包括广播分组。 #/s:过去10秒钟内每秒捕获数据分组的数量。 CH:信道号(从Beacons中获取)。 MB:无线AP所支持的最大速率。如果MB=11,表示使用802.11b协议;如果MB=22,表示使用802.11b+协议;如果更高,则使用802.11g协议。后面的点(高于54之后)表明支持短前导码。如果出现'e'表示网络中有QoS(802.11 e)启用。 ENC:使用的加密算法体系。OPN表示无加密。WEP?表示WEP或者WPA/WPA2,WEP(没有问号)表明静态或动态WEP。如果出现TKIP或CCMP,那么就是WPA/WPA2。 CIPHER:检测到的加密算法,为CCMP、WRAAP、TKIP、WEP和WEP104中的一个。通常,TKIP算法与WPA结合使用,CCMP与WPA2结合使用。如果密钥索引值大于0,显示为WEP40。标准情况下,索引0~3是40bit,104bit应该是0。 AUTH:使用的认证协议。常用的有MGT(WPA/WPA2使用独立的认证服务器,平时我们常说的802.1x,Radius、EAP等),SKA(WEP的共享密钥),PSK(WPA/WPA2的预共享密钥)或者OPN(WEP开放式)。 ESSID:也就是所谓的SSID号。如果启用隐藏的SSID的话,它可以为空,或者显示为。这种情况下,Airodump-ng试图从Probe Responses和Association Requests包中获取SSID。 STATION:客户端的MAC地址,包括连上的和想要搜索无线信号来连接的客户端。如果客户端没有连接上,就在BSSID下显示not associated。 Rate:表示传输率。 Lost:在过去10秒钟内丢失的数据分组,基于序列号检测。它意味着从客户端来的数据丢包,每个非管理帧中都有一个序列号字段,把刚接收到的那个帧中的序列号和前一个帧中的序列号一减,就可以知道丢了几个包。 Frames:客户端发送的数据分组数量。 Probe:被客户端查探的ESSID。如果客户端正试图连接一个AP,但是没有连接上,则会显示在这里。
## air交互操作

交互操作
airodump-ng可以在运行时接收和解释按键。以下列表描述了当前分配的按键和假定的操作: A键 通过在以下显示选项中循环选择活动区域:AP+STA;AP+STA+ACK;仅AP;仅STA。 D键 将排序重置为默认值(功率)。 I键 反转排序算法。 M键 标记所选AP,如果所选AP已标记,则在不同颜色之间循环。 O键 启用AP及其接入点的彩色显示。 P键 禁用彩色显示。 Q键 退出程序。 R键 (取消)激活实时排序,每次重新绘制显示时应用排序算法 S键 将列更改为排序依据,当前包括:首次出现;BSSID;功率水平;信标;数据包;报文速率;信道;最大数据速率;加密方式;最强加密算法;最强认证算法;ESSID。 SPACE键 暂停显示重画/恢复重画。 TAB键 启用/禁用在AP列表中滚动。 UP键 在显示的列表中选择当前标记的AP之前的AP(如果可用)。 DOWN键 选择在当前标记的AP之后AP(如果可用)。 如果选择或标记了AP,则所有连接的接入点也将被选择或标记为与相应的接入点相同的颜色。
kali WiFi相关研究(学习中...)的更多相关文章
- iOS开发中获取WiFi相关信息
iOS 开发中难免会遇到很多与网络方面的判断,这里做个汇总,大多可能是与WiFi相关的. 1.Ping域名.Ping某IP 有 时候可能会遇到ping 某个域名或者ip通不通,再做下一步操作.这里的p ...
- iOS开发中WiFi相关功能总结
http://www.cocoachina.com/ios/20160715/17022.html 投稿文章,作者:Haley_Wong(简书) 查漏补缺集是自己曾经做过相关的功能,但是重做相关功能或 ...
- 深度学习中常见的 Normlization 及权重初始化相关知识(原理及公式推导)
Batch Normlization(BN) 为什么要进行 BN 防止深度神经网络,每一层得参数更新会导致上层的输入数据发生变化,通过层层叠加,高层的输入分布变化会十分剧烈,这就使得高层需要不断去重新 ...
- Android自定义View研究--View中的原点坐标和XML中布局自定义View时View触摸原点问题
这里只做个汇总~.~独一无二 文章出处:http://blog.csdn.net/djy1992/article/details/9715047 Android自定义View研究--View中的原点坐 ...
- 【转】手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理! 我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群 ...
- 手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理! 我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群 ...
- 基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 个人技术博客:http://www.cnblogs.com/M ...
- 卷积在深度学习中的作用(转自http://timdettmers.com/2015/03/26/convolution-deep-learning/)
卷积可能是现在深入学习中最重要的概念.卷积网络和卷积网络将深度学习推向了几乎所有机器学习任务的最前沿.但是,卷积如此强大呢?它是如何工作的?在这篇博客文章中,我将解释卷积并将其与其他概念联系起来,以帮 ...
- 深度学习中的Normalization模型
Batch Normalization(简称 BN)自从提出之后,因为效果特别好,很快被作为深度学习的标准工具应用在了各种场合.BN 大法虽然好,但是也存在一些局限和问题,诸如当 BatchSize ...
- [优化]深度学习中的 Normalization 模型
来源:https://www.chainnews.com/articles/504060702149.htm 机器之心专栏 作者:张俊林 Batch Normalization (简称 BN)自从提出 ...
随机推荐
- 解读C#编程中最容易忽略7种编写习惯!
编程时犯错是必然的,我们来解读一下编程中最容出现的错误 1.拼接字符串 在C#编程中,字符串类型的处理是比较容易出错的地方,在.NET Framework中,字符串是一个不可变的类型,当一个字符串被修 ...
- h5项目自适应字体和宽高。用rem
已知: 1.浏览器默认的字号是16px,html{font-size: 87.5%;}(16*0.875 = 14px). 2.css中的单位换算:rem 与 px 的换算为 px = rem * 设 ...
- mogdb的一主两备
# 一.环境准备 |节点类别|主机名|IP||-|-|-||主节点|mogdb1 |192.168.3.68||备节点1|mogdb2 |192.168.3.69||备节点2|mogdb3|192.1 ...
- 百度脑图kityminder
KityMinder Editor 是一款强大.简洁.体验优秀的脑图编辑工具,适合用于编辑树/图/网等结构的数据. 编辑器由百度 FEX 基于 kityminder-core 搭建,并且在百度脑图中使 ...
- golang 中使用mysql报错:“ scannable dest type slice with >1 columns (4) in result”
query := fmt.Sprintf("SELECT .... infos = make([]*struct, 0, 10) err = s.db.GetContext(ctx, &am ...
- (pymssql._pymssql.OperationalError) (8152, b'String or binary data would be truncated.DB-Lib error message 20 018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n')
(pymssql._pymssql.OperationalError) (8152, b'String or binary data would be truncated.DB-Lib error m ...
- Neo4j安装及简单使用【转】
转载防丢失. 一.Neo4j和图数据库简介 neo4j是基于Java语言编写图形数据库.图是一组节点和连接这些节点的关系.图形数据库也被称为图形数据库管理系统或GDBMS. Neo4j的是一种流行的图 ...
- python读取Excel整列或整行数据
单元格拆分 def get_index(capital): """ 大写字母(Excel列头)转数字 :param capital: 'A' --> 0, 'AA' ...
- C++数组(一):一维数组
C++一维数组 C++数组的定义方式 数据类型 数组名[数组长度]; 例子:int arr[3]; arr[0] = 1; arr[1] = 2; arr[2] = 3; 数据类型 数组名[数组长度] ...
- 使用 symfony 框架时 配置运行环境时 报debug 工具栏问题及 No input file specified.
错误一: 错误二:点击跳转时:No input file specified. 解决方法:配置nginx.conf时 增加以下代码: location / { index app_dev.php; t ...