首页 > 代码库 > 为arm linux交叉编译tcpdump

为arm linux交叉编译tcpdump

1.从官网www.tcpdump.org下载并解压源文件,这里是

tcpdump-4.5.1.tar.gz

libpcap-1.5.3.tar.gz

2.编译libpcap,安装目录为/home/armroot,交叉编译不能确定pcap类型,手工指定为linux

./configure --host=arm-linux --with-pcap=linux --prefix=/home/armroot

make

make install

3.编译tcpdump。交叉编译不能确定内核版本,手工指定为嵌入式系统的内核版本

ac_cv_linux_vers=3.2.35 ./configure --host=arm-linux --prefix=/home/armroot

make

make install

4.最终文件为/home/armroot/sbin/tcpdump,拷贝到设备上即可使用

 

tcpdump简单命令

ttcpdump -i eth0 tcp port 3333 and dst host 192.168.1.129 -s 0 -vv -w /tmp/aa.cap -c 100 -x

监听eth0网卡上发送到192.168.1.129,端口为3333的tcp数据,采集完整数据包(-s 0,默认68byte),详细输出(-vv),抓取的数据写入/tmp/aa.cap,只抓取100个包(-c 100),16进制显示抓取的包(TCP含数据头)。

如果是监听双向链接去掉dst。

tcpdump抓取的数据可用wireshark解析,因为它们都使用libpcap。

src net 192.168.1.0/24  抓取源地址为192.168.1.*的包

 

tcpdump详细命令可参考

www.tcpdump.org/manpages/tcpdump.1.html

www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html