1. 下载 tcpdump
下载官网
http://www.tcpdump.org/
找到如下的tcpdump及libpcap,这里注意要下载配套的版本否则会遇到意想不到的问题哦
这里以tcpdump的4.99和libpcap1.10为例
2. 交叉编译
首先添加交叉编译的环境变量:
export PATH=/opt/linaro-14.04/gcc-linaro-arm-linux-gnueabihf-4.8/bin/:$PATH
export CC=arm-linux-gnueabihf-gcc
tcpdump依赖libpcap库,先交叉编译libpcap:
tar zxvf libpcap-1.1.0.tar.gz
cd libpcap-1.1.0/
./configure --prefix=$PWD/install --host=arm-linux-gnueabihf --with-pcap=linux
make
make install
–prefix表示安装地址
–host表示依赖的编译工具链
交叉编译tcpdump:
tar zxvf tcpdump-4.99.1.tar.gz
cd tcpdump-4.99.1/
./configure --host=arm-linux-gnueabihf
make
然后抓包文件,可以拿出来放到Window上用Wireshark打开,进行详细分析。
./tcpdump -i eth2 -s 0 -w /tmp/a.pcap
用tcpdump抓取eth2网口的网络信息存入到a.pcap文件中,可以利用Wireshark进行查看
-W参数:与-C参数一起使用时,可以达到循环写入文件的作用。当执行以下命令后,会生成a.pcap00,a.pcap01……
sudo tcpdump -i eth2 -C 1 -W 2 -w a.pcap
表示循环写入两个文件,每个文件大小占1M