一、概述
tcpdump
是一個功能強(qiáng)大的,用于抓取網(wǎng)絡(luò)數(shù)據(jù)包的命令行工具,與帶界面的Wireshark
一樣,基于libpcap
庫 (一個用于網(wǎng)絡(luò)流量捕獲的可移植C/C++庫) 構(gòu)建。
tcpdump
的設(shè)計目標(biāo)是幫你分析包頭(比如Tcp包頭,udp包頭),同時你可以根據(jù)包頭,用它支持的表達(dá)式,過渡出你感興趣的包(支持網(wǎng)絡(luò)層、協(xié)議、主機(jī)端口的過濾),從而方便你自己處理包中數(shù)據(jù)。tcpdump
沒有界面,所以,一般都使用tcpdump
抓包然后使用wireshark
工具分析;
二、libpcap、tcpdump源碼下載
libpcap
庫是一個用于網(wǎng)絡(luò)流量捕獲的可移植C/C++庫。tcpdump
是基于libpcap
庫構(gòu)建的,所以編譯時同時下載這兩份源碼。這兩個庫的源碼都可以在tcpdump
官網(wǎng)進(jìn)行下載。
tcpdump
官網(wǎng)地址:https://www.tcpdump.org/
進(jìn)入官網(wǎng),滾動鼠標(biāo)往下滑,找到LATEST RELEASES
字樣,就是最新的穩(wěn)定發(fā)布版,點擊下載。
三、libpcap、tcpdump交叉編譯
源碼下載后,在Ubuntu系統(tǒng)(其他Linux系統(tǒng)也一樣)的新建個文件夾
tcpdump
,將兩份源碼放進(jìn)去,并執(zhí)行下面兩個命令解壓縮:tar zxvf libpcap-1.10.4.tar.gz tar zxvf tcpdump-4.99.4.tar.gz
??3.1 交叉編譯 libpcap
進(jìn)入
libpcap-1.10.4/
目錄,執(zhí)行下面命令進(jìn)行交叉編譯配置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:指定安裝目錄是當(dāng)前的result_compile
目錄
–host=arm-hisiv300-linux:指定編譯后要執(zhí)行的主機(jī)類型
–disable-shared:禁止編譯動態(tài)庫
如果遇到報錯:
configure: error: Neither flex nor lex was found.
解決方法:安裝 flex 和 bison,在Ubuntu執(zhí)行sudo apt-get install flex bison
./configure 執(zhí)行通過之后,會在當(dāng)前目錄生成Makefile,直接
make && make install
即可,安裝完成后,會在當(dāng)前目錄生成result_compile
目錄,執(zhí)行ls result_compile/lib/
,可以看到libpcap.a
,說明編譯完成。$ ls result_compile/lib/ libpcap.a pkgconfig
??3.2 交叉編譯 tcpdump
進(jìn)入tcpdump-4.99.4/
目錄,執(zhí)行下面命令進(jìn)行交叉編譯配置
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/"
配置完成后,執(zhí)行 make && make install
,編譯成功后,會在當(dāng)前目錄生成result_compile
目錄,執(zhí)行ls result_compile/bin/ -l
可以看到可執(zhí)行文件tcpdump
,復(fù)制到開發(fā)板即可。
$ 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
文章來源:http://www.zghlxwxcb.cn/news/detail-427757.html
如果文章有幫助的話,點贊??、收藏?,支持一波,謝謝 ??????文章來源地址http://www.zghlxwxcb.cn/news/detail-427757.html
到了這里,關(guān)于【網(wǎng)絡(luò)抓包工具】tcpdump 最新版本移植到開發(fā)板(海思平臺)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!