安装篇:
下载地址:
解压: tar -zxvf tcpdump-4.9.3.tar.gz
安装: cd tcpdump-4.9.3
./configure
make && make install
安装时报错:
checking for local pcap library... not found
checking for pcap-config... no
checking for main in -lpcap... no
configure: error: see the INSTALL doc for more info
yum install libpcap-dev*
Installing:
libpcap-devel x86_64 14:1.5.3-12.el7 base 118 k
Installing for dependencies:
libpcap x86_64 14:1.5.3-12.el7 base 139 k
。。。。
使用篇:
常用选项:
tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -w file ] [ expression ]
抓包选项:
-c:指定要抓取的包数量。注意,是最终要获取这么多个包。 例如,指定"-c 10"将获取10个包,但可能已经处理了100个包, 只不过只有10个包是满足条件的包。 -i interface:指定tcpdump需要监听的接口。 若未指定该选项,将从系统接口列表中搜寻编号最小的已配置好的接口 (不包括loopback接口,要抓取loopback接口使用tcpdump -i lo), 一旦找到第一个符合条件的接口,搜寻马上结束。 可以使用'any'关键字表示所有网络接口。 -n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。 -nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。 -N:不打印出host的域名部分。例如tcpdump将会打印'nic'而不是'nic.ddn.mil'。 -P:指定要抓取的包是流入还是流出的包。 可以给定的值为"in"、"out"和"inout",默认为"inout"。 -s len:设置tcpdump的数据包抓取长度为len,如果不设置默认将会是65535字节。 对于要抓取的数据包较大时,长度设置不够可能会产生包截断,若出现包截断, 输出行中会出现"[|proto]"的标志(proto实际会显示为协议名)。 但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,从而会导致数据包的丢失, 所以在能抓取我们想要的包的前提下,抓取长度越小越好。
传输方向:(主要包括 src,dst,src or dst,src and dst,这些关键字指明了传输的方向,默认为src or dst。)
tcpdump tcp port 22 and dst -i em1 host 192.168.X.X -w %Y_%m%d_%H%M_%S.pcap