debian编译获取真实IP(抗D盾)
1、切换指定内核版本,若无需切换则直接跳至第二步安装头文件
更新默认源,更新后若默认源找不到指定版本内核,就自行获取内核和头文件的deb包安装
apt-update
apt search linux-image-XXX
打开 http://snapshot.debian.org/,点击左上角debian,日期/pool/main/l/linux里面翻找需要的版本,下载 并安装linux-image-XXX-unsigned
wget http://XXXXXXX.deb
dpkg -i linux-XXX.deb
重启并查看内核是否成功切换
reboot
uname -r
2、安装头文件:
下载并安装头文件linux-headers-XXX,安装时需要安装依赖,根据提示安装相应版本的依赖。
linux-headers-XXX-common,linux-kbuild-XXX在同一日期网址下,如果需要gcc,先更新查看默认源是否有需要的gcc版本,没有的话,gcc-XX在https://packages.debian.org/stable/,根据提示添加一条源,直接update、install安装
wget http://XXXXXXX.deb
dpkg -i linux-XXX.deb
安装gcc
#默认源安装
apt update
apt install -y gcc-XX
#添加源
vim /etc/apt/sources.list
update
apt install gcc-XX
##apt --fix-broken install
检查头文件是否安装完成
dpkg -l | grep linux-headers-$(uname -r)
网站下寻找不同版本的deb包时,可通过以下几个例子简单定位,打不开可以根据地址内的日期到http://snapshot.debian.org/内寻找
**5.10.0-15**的deb包地址如下
http://snapshot.debian.org/archive/debian/20220706T084720Z/pool/main/l/linux/
gcc在bullseye的开发里(源:deb http://ftp.de.debian.org/debian bullseye main)
**5.10.0-23**的deb包地址如下
http://snapshot.debian.org/archive/debian/20230617T152609Z/pool/main/l/linux/
gcc在bullseye的开发里(源:deb http://ftp.de.debian.org/debian bullseye main)
**6.1.0-20**的deb包地址如下
http://snapshot.debian.org/archive/debian/20240504T083936Z/pool/main/l/linux/
gcc在bookworm的开发里(源:deb http://ftp.de.debian.org/debian bookworm main)
**gcc-10**阿里源deb https://mirrors.aliyun.com/debian bullseye main
**gcc-12**阿里源deb https://mirrors.aliyun.com/debian bookworm main
3.编译
安装编译工具
apt install -y build-essential libncurses-dev bison flex libssl-dev libelf-dev make
上传Makefile和nf_module.c,编译驱动
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
加载、卸载
sudo insmod nf_module.ko
#卸载
#sudo rmmod nf_module.ko
检查
dmesg
已经是第一篇啦!