tcpdump移植

下载源码

tcpdump依赖于libpcap,所以需要先下载这两个的源代码;

官方地址:https://www.tcpdump.org/

编译libpcap

bash 复制代码
$ cd libpcap-libpcap-1.10.6/
$ mkdir build
$ cd build/
$ ../configure --host=aarch64-openwrt-linux CC=aarch64-openwrt-linux-gcc --prefix=$PWD/install  --without-libnl
$ make && make install

编译tcpdump

bash 复制代码
$ cd tcpdump-tcpdump-4.99.6/
$ mkdir build
$ cd build/
$ ln -s ../../libpcap-libpcap-1.10.6/build/install/ libpcap #将前面编译生成的libpcap相关文件挂载到当前目录
$ ../configure --host=aarch64-openwrt-linux CC=aarch64-openwrt-linux-gcc  CFLAGS="-I./libpcap/include/ -L./libpcap/lib/" --without-crypto
$ make

使用

tcpdumplibpcap.so.1.10.6放到bin目录

bash 复制代码
$ chmod +x tcpdump
$ ln -s libpcap.so.1.10.6 libpcap.so.1
$ tcpdump -h #测试

问题解决

libpcap问题

现象

bash 复制代码
aarch64-openwrt-linux-musl/bin/ld: cannot find -lnl-3

原因:没有libnl库

解决:libnl 是可选依赖,用于高级接口管理(非必需)。去除libnl 依赖,增加--without-libnl

bash 复制代码
../configure --host=aarch64-openwrt-linux CC=aarch64-openwrt-linux-gcc --prefix=$PWD/install --without-libnl

tcpdump问题

现象

bash 复制代码
fatal error: openssl/opensslconf.h: No such file or directory
 # include <openssl/opensslconf.h>

原因:交叉工具链的 OpenSSL 不完整

解决:如果不需要使用加密的一些高级特性,可以直接禁用 OpenSSL。 增加--without-crypto

bash 复制代码
../configure --host=arm-linux CC=aarch64-linux-gnu-gcc  CFLAGS="-I./libpcap/include/ -L./libpcap/lib/" --without-crypto
相关推荐
M1582276905518 小时前
TCP转LORA产品说明及应用案例
网络·网络协议·tcp/ip
旖旎夜光18 小时前
Linux(13)(中)
linux·网络
来可电子CAN青年19 小时前
CAN总线远距离传输老断网?Fx灯不闪别慌,这几招让你的通信“稳如泰山”!
网络
独行soc19 小时前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
云小逸19 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
自不量力的A同学19 小时前
Solon AI v3.9 正式发布:全能 Skill 爆发
java·网络·人工智能
ESBK202519 小时前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
莽撞的大地瓜20 小时前
洞察,始于一目了然——让舆情数据自己“说话”
大数据·网络·数据分析
那就回到过去20 小时前
MSTP路由协议简介
网络·网络协议·tcp/ip·ensp
浩浩测试一下20 小时前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全