首页 > 系统相关 >交叉编译tcpdump

交叉编译tcpdump

时间:2023-07-14 17:14:12浏览次数:49  
标签:libpcap tar 交叉 编译 linux tcpdump arm

交叉编译tcpdump,在树莓派上抓包,用户层交叉编译比较简单。交叉编译器有很多,我们本次采用linaro(http://releases.linaro.org)交叉编译工具。

系统版本:centos7
编译工具:arm-linux-gnueabi

wget http://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabi/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi.tar.xz
wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz
wget http://www.tcpdump.org/release/tcpdump-4.9.1.tar.gz

1、下载好之后进行解压到任意目录

tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi.tar.xz
tar -zxvf libpcap-1.10.3.tar.gz
tar -zxvf tcpdump-4.99.3.tar.gz

2、进入到编译工具的bin目录后,执行./arm-linux-gnueabi-gcc -v 查看版本信息。
image.png
3、配置编译器环境变量
vim /etc/profile

export ARCH=arm 
export CROSS_COMPILE=arm-linux-gnueabihf- export 
PATH=$PATH:/root/tcpdump/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin

source ~/.bashrc
4、编译libpcap和tcpdump
libpcap

tar -zxvf libpcap-1.10.1.tar.gz
cd libpcap-1.10.1/
../configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/root/tcpdump/install
make
make install

image.png
tcpdump

tar -zxvf tcpdump-4.99.1.tar.gz
cd tcpdump-4.99.1/
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/root/tcpdump/install
make
make install

image.png
ps:这里需要说明的是CC参数指定了交叉编译器, 编译两者时需要指定相同的目录, 否则在编译tcpdump时需要指定libpcap的路径。
5、在安装目录下找到arm架构的tcpdump,结果如下
image.png

标签:libpcap,tar,交叉,编译,linux,tcpdump,arm
From: https://www.cnblogs.com/dshh/p/17554440.html

相关文章

  • QEMIU-基于CentOS7系统编译安装部署qemu 2.7.0 版本的环境
    【原文链接】QEMIU-基于CentOS系统编译安装部署QEMU环境备份原有的yum源配置cp/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak设置阿里云的yum源wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo......
  • ubuntu20.04 配置编译安装nginx的systemctl启动命令
    vim/usr/lib/systemd/system/nginx.service[Unit]Description=nginx-highperformancewebserverAfter=network.targetremote-fs.targetnss-lookup.target[Service]Type=forkin......
  • centos下编译 protobuf
     1、 gitclonehttps://github.com/protocolbuffers/protobuf.git2、然后cd到protobuf目录执行:gitsubmoduleupdate--init--recursive3、 然后使用yum安装对应的库,yuminstallautoconfautomakelibtoolcurlmakeg++unzip,4、然后执行./autogen.sh,5、然后执行./co......
  • centos 编译安装 protobuf
    1、安装bazel    wgethttps://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo--no-check-certificate    cpvbatts-bazel-epel-7.repo/etc/yum.repos.d/    ll/etc/yum.repos.d/    yuminstallbazel4......
  • WINDOWS 环境下编译 OLLVM 替换到 NDK 环境
    编译OLLVM环境准备这里使用的是AGP7.2.2、NDK25.2.9519653、llvm14.0.7、cmake3.22.1、python39git用来下载源码python搞到这一步环境变量里应该已经有python了吧NDKAGP的7.2.2版本默认使用的NDK版本为21.4.7075529,对应的LLVM为9.0.9。需要根据实际情况选择......
  • java工具类禁止反编译
    实现Java工具类禁止反编译的流程为了实现Java工具类禁止反编译,我们可以采取以下几个步骤:步骤描述1利用Java编译器将Java源文件编译为字节码文件(.class)2对字节码文件进行混淆和加密处理3使用工具将字节码文件转换为可执行的机器码4加入防反编译代码保护机制......
  • Oracle 中实现交叉表 查询
    交叉表能清晰准确的反映出数据的关系,因此在实际应用中也经常见到,但是作为二维表格的关系型数据在统计时不能简单的通过查询来实现,这里以Oracle为例简单介绍一下交叉表的查询:百度模板图片:一、创建数据表--建表createtabletbUser(Gendervarchar2(10),Handnessvarchar2(3......
  • centos 编译安装pgsql
    1、安装依赖 yuminstall-yreadlinereadlinereadline-develzlibzlib-devel2、下载安装包https://www.postgresql.org/ftp/source/3、上传服务解压 tar-zxvfpostgresql-9.6.15.tar.gz  4、进入解压目录,configure#将安装目录指定到 /usr/local/postgresql下.......
  • 编译选项
    自动编译文件编译文件时,使用-w指令后,TS编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。示例:tscxxx.ts-w 自动编译整个项目如果直接使用tsc指令,则可以自动将当前项目下的所有ts文件编译为js文件。但是能直接使用tsc命令的前提时,要先在项目根目录......
  • C#动态编译计算
    示例代码:usingMicrosoft.CSharp;usingSystem;usingSystem.CodeDom.Compiler;usingSystem.Reflection;namespaceConsoleApp6{internalclassProgram{privatestaticvoidMain(string[]args){Expressione=newExpress......