小记Linux下对mac80211内核模块修改

mac80211内核模块实现了对802.11协议的处理过程。其中mlme.c文件中的内容实现了对Deauth管理帧的处理。考虑到Deauth攻击至今仍没有好的防御方法(据说有802.11w,可是我一直没见到应用他的设备,为什么?求解),aireplay-ng工具仍然可以很轻松的Deauth客户下线,所以想修改客户端的内核源码来防止对客户端的Deauth。(针对AP则需要对AP进行修改)

方法简记如下:

1. 要编译内核模块,需要下载操作系统源码并编译make;

2. 找到/net/mac80211/mlme.c 修改处理Deauth的部分如下图:

这里修改的可能会有问题,cfg80211_rx_mlme_mgmt这个函数没仔细看。

2.回到内核源码主目录,make modules , make modules_install

3.reboot

注意:

这里主要记录修改方法,修改内核要慎重。

内核编译make menuconfig时要注意选择需要的驱动安装。编译方法参考文献1,内核源码下载参考文献2.

参考文献:

1.《Linux驱动开发入门与实战》

2. http://www.backtrack.org.cn/thread-12670-1-1.html

小记Linux下对mac80211内核模块修改,布布扣,bubuko.com

时间: 2024-12-25 21:52:52

小记Linux下对mac80211内核模块修改的相关文章

Linux下MySQL5.6的修改字符集编码为UTF8

一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_conn

linux下ssh端口的修改和登录

linux下ssh端口的修改和登录 首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,添加如下一行: Port 50000 然后保存退出 1.端口修改 执行/etc/init.d/sshd restart 这样SSH端口将同时工作在50000上. 2.防火墙修改 现在编辑防火墙配置:vi /etc/sysconfig/iptables 启用50000端口.添加如下一行 1 -A INPUT -m state --state N

linux下如何查看和修改系统BLOCK的大小

http://blog.163.com/[email protected]/blog/static/162607494201271435333906/ 查看os系统块的大小 [root]# /sbin/tune2fs -l /dev/sda1 查看os系统页的大小 [[email protected] ~]$ getconf PAGESIZE 4096 修改块的大小: 创 建文件系统时,可以指定块的大小.如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能.将ext2

linux下配置maven并修改maven源

参考文章 <Linux下Maven的安装与使用> <aliyun阿里云Maven仓库镜像地址> <maven国内镜像配置(Ubuntu)> 下载maven,具体目录可根据实际情况而定 $ wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz $ tar vxf apache-maven-3.3.9-bin.tar.gz $ mv apa

linux下使用apktool破解修改安卓apk

自己平常用linux操作系统,某时突然想改个安卓的游戏 (1) 安装jre http://java.com/zh_CN/download/index.jsp 找到合适自己的版本 2.解压文件 tar -zxvf jrexxxx.tar.gz 将得到的文件夹jre1.7.0_45(我的文件夹名)移动到/usr/lib/java中去,如果是linux mint debian目录是/usr/lib/jvm/,下面我们假设是移动到java目录中 使用mv命令 mv jre1.7.0_45 /usr/li

linux下网卡eth1如何修改为eth0

正常来说,linux在识别网卡时第一张会是eth0,第二张才是eth1.有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就对我们使用N台虚拟机进行HA-heartbeat实验时造成了困扰. 在这里成这样是因为复制系统的过程中复制的文件已经有一个网卡在/etc/udev/rules.d/70-persistent-net.rules被识别成了eth0,而虚拟机中的识别成了eth1.    解决方法:    1.编辑/et

linux下mysql UTF-8编码修改

版本大于5.5 [mysqld]下添加的应该为: character-set-server=utf8 collation-server=utf8_general_ci 版本小于5.5 [client]下添加: default-character-set=utf8 [mysqld]下添加: default-character-set=utf8

linux下passwd命令设置修改用户密码

1.passwd 简单说明: 我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码:passwd命令的用法也很多,我们只选如下的几个参数加以说明:想了解更多,请参考man passwd或passwd --help : passwd [OPTION...] passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定:如果root用户运行passwd ,可以设置或修改任何用户的密码: passwd 命令后面不接任何参数或用户名

Linux 下新建用户、修改密码等

查看用户列表 cat /etc/passwd 可以查看所有用户的列表w 可以查看当前活跃的用户列表cat /etc/group 查看用户组 新建用户 1.添加新的用户账号使用useradd命令,其语法如下: 代码:useradd 选项 用户名其中各选项含义如下: 代码:-c comment 指定一段注释性描述.-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录.-g 用户组 指定用户所属的用户组.-G 用户组,用户组 指定用户所属的附加组.-s Shell文件 指定