交叉编译tcpdump
一、准备工作
-
源代码git地址
# tcpdump依赖libpcap https://github.com/the-tcpdump-group/libpcap.git # tcpdump源码 https://github.com/the-tcpdump-group/tcpdump.git
-
交叉编译工具链
安装需要的交叉编译链工具。
-
配置编译环境
# 开发服务器上这条已经配置好了,跳过 $ export PATH=/opt/linaro-14.04/gcc-linaro-arm-linux-gnueabihf-4.8/bin/:$PATH # 临时修改环境变量, CC=需要的交叉编译器 $ export CC=arm-linux-gnueabihf-gcc
【注】开发服务器已经做好配置,明确编译工具链即可
二、编译libpcap
tcpdump
依赖libpcap
,首先编译、安装libpcap
# 在libpcap的项目根目录下,执行以下命令
# --host 为目标平台,与编译器前缀相同
$ ./configure --prefix=$PWD/install --host=arm-linux-gnueabihf --with-pcap=linux
# 如果不是第一次编译,需要执行
$ make clean
# 编译
$ make
$ make install
三、编译tcpdump
# 在tcpdump的项目根目录下,执行以下命令
$ ./configure --host=arm-linux-gnueabihf # --host,同上
# 如果不是第一次编译,需要执行
# make clean
$ make
四 、编译结果
在tcpdump
项目根目录下,有编译结果文件tcpdump
$ ll tcpdump
-rwxrwxr-x 1 aoniu aoniu 4812148 3月 22 13:35 tcpdump
$ ls
aclocal.m4 print-802_15_4.o print-ipcomp.o print-rpki-rtr.c
addrtoname.c print-ah.c print-ip-demux.c print-rpki-rtr.o
addrtoname.h print-ahcp.c print-ip-demux.o print-rsvp.c
addrtoname.o print-ahcp.o print-ipfc.c print-rsvp.o
addrtostr.c print-ah.o print-ipfc.o print-rt6.c
addrtostr.h print-aodv.c print-ipnet.c print-rt6.o
addrtostr.o print-aodv.o print-ipnet.o print-rtsp.c
af.c print-aoe.c print-ip.o print-rtsp.o
......
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现