为arm linux交叉编译tcpdump
1.从官网www.tcpdump.org下载并解压源文件,这里是
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