摘要:
tcpdump对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。利用tcpdump实现抓包然后使用windows下的wireshark工具进行分析。下面讲述如何在ubuntu下交叉编译tcpdump。
1. 交叉编译
Tcpdump是开源工具,其本身需要链接libpcap库还需要flex、bison、m4等支持,下载源码包tcpdump-4.9.2.tar.gz、libpcap-1.8.1.tar.gz、flex-2.5.37.tar.gz、bison-3.0.4.tar.gz、m4-1.4.16.tar.gz,解压后进行交叉编译。
http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz
libpcap-1.5.3.tar.gz
http://nchc.dl.sourceforge.net/project/flex/flex-2.5.37.tar.gz
flex-2.5.37.tar.gz
http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz
bison-2.7.tar.gz
解压使用tar -zxvf **.tar.gz
涉及权限问题使用
chmod –Rf 777 ***
如下:
chmod –Rf 777 tcpdump
1.1. Flex、bison、m4
使用ubuntu的gcc编译下面三个关联资源
flex-2.5.37.tar.gz、bison-3.0.4.tar.gz、m4-1.4.13.tar.gz
a)./configure --prefix=/usr
b) make
c) make install
1.2. libpcap
生成libpcap.a
libpcap-1.8.1.tar.gz
a)./configure --host=arm-linux CC=arm-linux-gcc
b) make
c) make install
在根目录下生产libpcap.a文件,放到tcpdump的根目录下。
1.3. Tcpdump
tcpdump-4.9.2.tar.gz
a)./configure --host=arm-linux CC=arm-linux-gcc --with-pcap=linux
b) make
c) make install
2. 捕获分析
在根目录下生成tcpdump文件,拷贝到设备端后就可以抓包了。
./tcpdump -i eth0 -w /mnt/nfs/net.cap
然后到pc端mnt/nfs下使用wireshark工具打开