【发布时间】:2022-01-03 22:05:16
【问题描述】:
我需要对一个路由器进行 MITM 攻击,这是一个嵌入式 linux 系统,它的架构是 ARM。 linux内核是2.4.24。通过 MITM 攻击,我的意思是拦截数据包,重新编辑它并转发它。我想使用网络过滤器。但是当我尝试交叉编译LKM时,我遇到了很多问题。
和往常一样,LKM Makefile 如下:
obj-m+=hello.o
KDIR = /lib/modules/$(shell uname -r)/build
all:
make -C $(KDIR) M=$(shell pwd) modules
clean:
make -C $(KDIR) M=$(shell pwd) clean
我下载了 linux 内核 2.4.24。但是当涉及到交叉编译环境时,问题就出现了。
如何设置KDIR路径?提取linux_kernel_2.4.24.tar.gz 的路径?我需要先交叉编译内核吗?怎么样?
首先,我将KDIR设置为linux_kernel_2.4.24的路径,然后make,错误是“当前内核配置已禁用模块”。目前我还没有成功make menuconfig这个版本的内核。
其次,我尝试在 CentOS 5.4 32bit 上进行交叉编译,其内核为 2.6.18。当我将CC=arm-linux-gcc 添加到Makefile 并将KDIR 设置为 /lib/modules/$(shell uname -r)/build 时,结果显示“没有手臂......”。
谁能指定如何在最新的linux上编译老版本内核的LKM?以及如何交叉编译ARM版本的LKM?
【问题讨论】:
标签: linux-kernel embedded-linux cross-compiling kernel-module netfilter