Mac下的WIFI破解

Mac下的WIFI破解

以前破wifi用的是CDLinux下的工具,最近换了mac研究了一下mac下的wifi破解工具,速度还行。不过现在到处都是免费wifi,还有好用的万能钥匙,这些技术用的都比较少了,写下来备用吧。


一、wep破解

1、载入无线网卡

ifconfig -a查看网卡
ifconfig wlan0 up加载网卡
iwconfig只查看无线网卡

2、激活无线网卡只monitor监听模式

airmon-ng start 上面查看的网卡名

monitor mode enabled on mon0便是已启动监听模式,监听模式下适配器名称变更为mon0。

3、探测无线网络,抓取无线数据包

airodump-ng mon0 //mon0为之前已经载入并激活监听模式的无线网卡

airodump-ng --ivs –w longas -c 6 wlan0 //抓取数据包
参数解释:
--ivs 这里的设置是通过设置过滤,不再将所有无线数据保存,而只是保存可用于破解的IVS数据报文,这样可以有效地缩减保存的数据包大小;
-c 这里我们设置目标AP的工作频道,通过刚才的观察,我们要进行攻击测试的无线路由器工作频道为6-w 后跟要保存的文件名,这里w就是“write写”的意思,所以输入自己希望保持的文件名,如下图10所示我这里就写为longas。那么,小黑们一定要注意的是:这里我们虽然设置保存的文件名是longas,但是生成的文件却不是longase.ivs,而是longas-01.ivs。

4、对目标AP使用ArpRequest注入攻击,加速数据包的获取

aireplay-ng -3 -b AP的mac -h 客户端的mac mon0 
参数解释:
-3 指采用ARPRequesr注入攻击模式;
-b 后跟APMAC地址,这里就是前面我们探测到的SSIDTPLINKAPMAC-h 后跟客户端的MAC地址,也就是我们前面探测到的有效无线客户端的MAC最后跟上无线网卡的名称,这里就是mon0啦。
在等待片刻之后,一旦成功截获到ARP请求报文,我们将会看到如下图13所示的大量ARP报文快速交互的情况出现。
此时回到airodump-ng 会看到packets栏的数字在飞速递增。

5、打开aircrack-ng,开始破解WEP

在抓取的无线数据报文达到了一定数量后,一般都是指IVs值达到2万以上时,就可以开始破解,若不能成功就等待数据报文的继续抓取然后多试几次。注意,此处不需要将进行注入攻击的Shell关闭,而是另外开一个Shell进行同步破解。输入命令如下:

aircrack-ng 捕获的ivs文件

二、wap-psk破解

1、升级Aircrack-ng

最好对airodump-ng的OUI库进行升级,先进入到Aircrack-ng的安装目录下,然后输入命令如下:

airodump-ng-oui-update

2、载入并激活无线网卡至monitor即监听模式

载入无线网卡的顺序及命令部分,依次输入下述命令

startx            进入到图形界面
ifconfig –a       查看无线网卡状态
ifconfig  wlan0  up     载入无线网卡驱动
airmon-ng  start  wlan0  激活网卡到monitor模式

3、探测无线网络,抓取无线数据包

airodump-ng -c 6 –w longas mon0
参数解释:
-c 这里我们设置目标AP的工作频道,通过观察,我们要进行攻击测试的无线路由器工作频道为6-w 后跟要保存的文件名,这里w就是“write写”的意思,所以输入自己希望保持的文件名,这里我就写为longas。那么,小黑们一定要注意的是:这里我们虽然设置保存的文件名是longas,但是生成的文件却不是longas.cap,而是longas-01.cap。
mon0 为之前已经载入并激活监听模式的无线网卡。

4、进行Deauth攻击加速破解过程

和破解WEP时不同,这里为了获得破解所需的WPA-PSK握手验证的整个完整数据包,无线黑客们将会发送一种称之为“Deauth”的数据包来将已经连接至无线路由器的合法无线客户端强制断开,此时,客户端就会自动重新连接无线路由器,黑客们也就有机会捕获到包含WPA-PSK握手验证的完整数据包了。此处具体输入命令如下:

aireplay-ng -0 1 –a AP的mac -c 客户端的mac wlan0 
参数解释:
-0 采用deauth攻击模式,后面跟上攻击次数,这里我设置为1,大家可以根据实际情况设置为10不等;
-a 后跟APMAC地址;
-c 后跟客户端的MAC地址;

5、开始破解WPA-PSK

在成功获取到无线WPA-PSK验证数据报文后,就可以开始破解,输入命令如下:

aircrack-ng -w dic 捕获的cap文件 
-w 后跟预先制作的字典,这里是BT4下默认携带的字典。

命令合集

aircrack-ng
主要用于WEP及WPA-PSK密码的恢复,只要airodump-ng收集到足够数量的数据包,aircrack-ng就可以自动检测数据包并判断是否可以破解
airmon-ng
用于改变无线网卡工作模式,以便其他工具的顺利使用
airodump-ng
用于捕获802.11数据报文,以便于aircrack-ng破解
aireplay-ng
在进行WEP及WPA-PSK密码恢复时,可以根据需要创建特殊的无线网络数据报文及流量
airserv-ng
可以将无线网卡连接至某一特定端口,为攻击时灵活调用做准备
airolib-ng
进行WPA Rainbow Table攻击时使用,用于建立特定数据库文件
airdecap-ng
用于解开处于加密状态的数据包
tools
其他用于辅助的工具,如airdriver-ng、packetforge-ng

破解WIFI密码总结

这里我总结一下常用的流程,其实只有3个步骤。

获取搜索到的wifi

airport -s
SSID 是 wifi名称,RSSI 是信号强度,CHANNEL 是信道。

开始监听

sudo airport en0 sniff 1
en0是网卡   1是要抓包的信道
抓包.cap文件默认保存在/tmp  -w可以改变保存路径

解析

aircrack-ng -w 1.txt 1.cap
1.txt是字典暴  1.cap是抓包文件
可以看到cap包的内容,Encryption中(0 handshake)是抓包失败,(1 handshake)则是抓包成功。
记住成功的行数,Index number of target network ?后面输入行数,回车。
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
在Linux平台下,WiFi驱动的MAC层驱动是与具体的无线芯片和硬件相关的。由于每个无线芯片和硬件的驱动实现都有所不同,这里无法提供一个通用的示例。然而,我可以给出一个简单的示例来说明MAC层驱动的一般结构和功能。 ```c #include <linux/module.h> #include <linux/kernel.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> static int mydrv_open(struct net_device *dev) { // 在此处进行设备初始化和相关操作 return 0; } static int mydrv_stop(struct net_device *dev) { // 在此处进行设备停止和相关操作 return 0; } static netdev_tx_t mydrv_start_xmit(struct sk_buff *skb, struct net_device *dev) { // 在此处处理发送数据包的逻辑 return NETDEV_TX_OK; } static const struct net_device_ops mydrv_netdev_ops = { .ndo_open = mydrv_open, .ndo_stop = mydrv_stop, .ndo_start_xmit = mydrv_start_xmit, }; static int __init mydrv_init(void) { struct net_device *dev; // 分配一个net_device结构体实例 dev = alloc_etherdev(sizeof(struct mydrv_priv)); if (!dev) { printk(KERN_ERR "Failed to allocate net_device\n"); return -ENOMEM; } // 设置驱动相关的信息 strcpy(dev->name, "mydrv"); dev->netdev_ops = &mydrv_netdev_ops; // 注册设备 if (register_netdev(dev) < 0) { printk(KERN_ERR "Failed to register net_device\n"); free_netdev(dev); return -ENODEV; } printk(KERN_INFO "mydrv initialized\n"); return 0; } static void __exit mydrv_exit(void) { struct net_device *dev = dev_get_by_name(&init_net, "mydrv"); if (dev) { unregister_netdev(dev); free_netdev(dev); } printk(KERN_INFO "mydrv exited\n"); } module_init(mydrv_init); module_exit(mydrv_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("A simple MAC layer driver for WiFi"); ``` 上述示例是一个简单的MAC层驱动,它实现了`mydrv_open()`、`mydrv_stop()`和`mydrv_start_xmit()`等函数来处理设备的打开、关闭和数据发送操作。它还通过`net_device_ops`结构体将这些函数与驱动关联起来。在初始化时,它分配一个`net_device`结构体实例,设置驱动相关的信息,并注册设备。在退出时,它注销设备并释放相关资源。 请注意,这只是一个示例,实际的驱动实现可能会更加复杂,涉及到更多的功能和操作。具体的驱动实现还需要根据硬件设备和无线芯片的特性进行相应的调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值