1. 程式人生 > >tcpdump交叉編譯及使用

tcpdump交叉編譯及使用

第一步.下載
官方網站:http://www.tcpdump.org/
需要下載libpcap包和tcpdump包
我下載的版本是:libpcap-1.4.0.tar.gz和tcpdump-4.4.0.tar.gz

第二步.編譯libpcap包
2.1 解壓
tar -zxvf libpcap-1.4.0.tar.gz
2.2 進入解壓目錄
cd libpcap-1.4.0/
2.3 配置生成makefile檔案
CC=arm-none-linux-gnueabi-gcc ac_cv_linux_vers=2 ./configure --host=arm-linux --with-pcap=linux
(CC是交叉工具鏈)
2.4 編譯
make

第三步.編譯tcpdump包
3.1 解壓
tar -zxvf tcpdump-4.4.0.tar.gz
3.2 進入解壓目錄
cd tcpdump-4.4.0/
3.3 配置生成makefile檔案
CC=arm-none-linux-gnueabi-gcc ac_cv_linux_vers=2 ./configure --host=arm-linux --with-pcap=linux
(CC是交叉工具鏈)
3.4 編譯
make

第四步.測試體驗
4.1 拷貝
將tcpdump-4.4.0目錄下的tcpdump檔案拷貝到目標板檔案系統/bin目錄下
4.2 簡介
tcpdump 是一個執行在命令列下的嗅探工具。它允許使用者攔截和顯示傳送或收到過網路連線到該計算機的TCP/IP和其他資料包。
tcpdump能夠分析網路行為,效能和應用產生或接收網路流量。它支援針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的資訊,從而使使用者能夠進一步找出問題的根源。
4.3 快速體驗
root許可權直接執行tcpdump不帶任何引數,將監視第一個網路介面上所有流過的資料包.(ping一下或開啟網頁試試)
4.4 命令引數簡介
tcpdump --help 顯示命令格式
Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
		[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
		[ -i interface ] [ -M secret ] [ -r file ]
		[ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
		[ -y datalinktype ] [ -z command ] [ -Z user ]
		[ expression ]
4.4 命令引數細分
-a		將網路地址和廣播地址轉變成名字;
-d		將匹配資訊包的程式碼以人們能夠理解的彙編格式給出;
-dd   將匹配資訊包的程式碼以c語言程式段的格式給出;
-ddd  	將匹配資訊包的程式碼以十進位制的形式給出;
-e  	在輸出行打印出資料鏈路層的頭部資訊;
-f  	將外部的Internet地址以數字的形式打印出來;
-l  	使標準輸出變為緩衝行形式;
-n		不把網路地址轉換成名字;
-t 		在輸出的每一行不列印時間戳;
-v  	輸出一個稍微詳細的資訊,例如在ip包中可以包括ttl和服務型別的資訊;
-vv  	輸出詳細的報文資訊;
-c  	在收到指定的包的數目後,tcpdump就會停止;
-F   	從指定的檔案中讀取表示式,忽略其它的表示式;
-i  	指定監聽的網路介面;
-r  	從指定的檔案中讀取包(這些包一般通過-w選項產生);
-w  	直接將包寫入檔案中,並不分析和打印出來;
-T   	將監聽到的包直接解釋為指定的型別的報文,常見的型別有rpc(遠端過程呼叫)和snmp(簡單網路管理協議;)
4.5 具體使用方法的外部連結
man手冊:http://www.tcpdump.org/tcpdump_man.html
超級詳細Tcpdump 的用法:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2011433

Linux tcpdump命令詳解:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

wireshark軟體官方下載頁:http://www.wireshark.org/download.html