本文默認系統已經安裝了交叉工具鏈環境。
下載相關版本源碼
涉及tcpdump源碼,以及tcpdump編譯過程依賴的pcap庫源碼。
網站:http://www.tcpdump.org/release
wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz
wget http://www.tcpdump.org/release/tcpdump-4.9.1.tar.gz
libpcap編譯
tar -xzf libpcap-1.8.1.tar.gzcd libpcap-1.8.1mkdir buildcd build
export CC=[交叉工具鏈]../configure --host=arm-linux --with-pcap=linux
cmake ..
make
編譯完成在build下生成libpcap.so。后面編譯tcpdump需要用到這個so和libpcap-1.8.1下的頭文件。
tcpdump編譯
tar -xzf tcpdump-4.9.1.tar.gz
cd tcpdump-4.9.1
mkdir build
cd build
export CC=[交叉工具鏈]../configure --host=aarch64-linux-gnu CFLAGS="-L/home/libpcap-1.8.1/build -I/home/libpcap-1.8.1"make
注意:–host指定運行平臺為arm64平臺(或者 --host=arm-linux);以及cflags添加需要的依賴庫路徑(libpcap)和頭文件。
編譯可能會報%lx檢查錯誤:
跟工具鏈的類型定義有關系,可以跳過檢查,修改configure文件,重新編譯。
編譯完成,會生成tcpdump文件。
將如上libpcap.so和tcpdump文件拷貝到運行環境下即可。