【网络抓包工具】tcpdump 最新版本移植到开发板(海思平台)


在这里插入图片描述

一、概述

tcpdump是一个功能强大的,用于抓取网络数据包的命令行工具,与带界面的Wireshark一样,基于libpcap库 (一个用于网络流量捕获的可移植C/C++库) 构建。

tcpdump的设计目标是帮你分析包头(比如Tcp包头,udp包头),同时你可以根据包头,用它支持的表达式,过渡出你感兴趣的包(支持网络层、协议、主机端口的过滤),从而方便你自己处理包中数据。tcpdump没有界面,所以,一般都使用tcpdump抓包然后使用wireshark工具分析;
在这里插入图片描述

在这里插入图片描述

二、libpcap、tcpdump源码下载

libpcap库是一个用于网络流量捕获的可移植C/C++库。tcpdump 是基于libpcap库构建的,所以编译时同时下载这两份源码。这两个库的源码都可以在tcpdump官网进行下载。

tcpdump官网地址:https://www.tcpdump.org/
进入官网,滚动鼠标往下滑,找到LATEST RELEASES字样,就是最新的稳定发布版,点击下载。
在这里插入图片描述

在这里插入图片描述

三、libpcap、tcpdump交叉编译

源码下载后,在Ubuntu系统(其他Linux系统也一样)的新建个文件夹tcpdump,将两份源码放进去,并执行下面两个命令解压缩:

tar zxvf libpcap-1.10.4.tar.gz 
tar zxvf tcpdump-4.99.4.tar.gz

在这里插入图片描述

👉3.1 交叉编译 libpcap

进入libpcap-1.10.4/目录,执行下面命令进行交叉编译配置

CC=arm-hisiv300-linux-gcc ./configure --prefix=`pwd`/result_compile --host=arm-hisiv300-linux --disable-shared

CC=arm-hisiv300-linux-gcc:指定编译器
–prefix=`pwd`/result_compile:指定安装目录是当前的 result_compile 目录
–host=arm-hisiv300-linux:指定编译后要执行的主机类型
–disable-shared:禁止编译动态库

如果遇到报错:configure: error: Neither flex nor lex was found.
解决方法:安装 flex 和 bison,在Ubuntu执行sudo apt-get install flex bison

./configure 执行通过之后,会在当前目录生成Makefile,直接make && make install 即可,安装完成后,会在当前目录生成result_compile 目录,执行ls result_compile/lib/,可以看到libpcap.a,说明编译完成。

$ ls result_compile/lib/
libpcap.a  pkgconfig

👉3.2 交叉编译 tcpdump

进入tcpdump-4.99.4/目录,执行下面命令进行交叉编译配置

CC=arm-hisiv300-linux-gcc ./configure --prefix=`pwd`/result_compile --host=arm-hisiv300-linux

如果tcpdump-4.99.4/libpcap-1.10.4/在同一目录下,配置时,会自动找到libpcap的库和头文件,如果不在同个目录,会报错checking for local pcap library... not found,这时需要使用CFLAGSLDFLAGS 告知libpcap的头文件和库的路径:

CC=arm-hisiv300-linux-gcc ./configure --prefix=`pwd`/result_compile --host=arm-hisiv300-linux CFLAGS="-I../lib9999/result_compile/include/" LDFLAGS="-L../lib9999/result_compile/lib/"

配置完成后,执行 make && make install,编译成功后,会在当前目录生成result_compile 目录,执行ls result_compile/bin/ -l可以看到可执行文件tcpdump,复制到开发板即可。

$ ls result_compile/bin/ -l
total 4208
-rwxr-xr-x 1 lu lu 2153540 Apr 27 21:54 tcpdump
-rwxr-xr-x 1 lu lu 2153540 Apr 27 21:54 tcpdump.4.99.4

在这里插入图片描述

如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wkd_007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值