一、概述
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
,这时需要使用CFLAGS
和 LDFLAGS
告知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
文章来源:https://www.toymoban.com/news/detail-427757.html
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁文章来源地址https://www.toymoban.com/news/detail-427757.html
到了这里,关于【网络抓包工具】tcpdump 最新版本移植到开发板(海思平台)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!