概述
tcpdump是linux系统下强大的网络抓包工具,它可以对网络包进行筛选过滤,打印出来或者保存至文件中。熟练使用tcpdump,可以帮助初学者学习网络协议,开发者排查网络问题。
命令参数
-A 以ASCII码的形式打印报文内容
-c 要抓取报文的个数,当抓取到该数目的报文后,tcpdump进程则会终止,假如没有带这个参数,只有接收到终止信号,tcpdump才会终止,即可以输入ctrl+c终止进程
-C 若是将抓取到的报文内容保存至文件中,该参数用于指定文件的大小,当文件超过该值之后,tcpdump进程则会终止
-D 显示可以抓取报文的接口
-i 指定抓取特定接口的数据报文
-e 将MAC地址打印出来
-w 将抓取报文的结果保存到指定的文件中
-s 设置抓取保文包的长度,默认是262144字节,s0也就是将其设置为262144,同时是为了向前面的版本兼容
-
-n 不要将IP地址转换为主机名字
命令选项有很多,本文不做一一介绍,感兴趣的可以,在linux系统下,使用man tcpdump命令查看详细的命令选项
例子
-
抓取所有网卡的所有数据报文,保存至指定文件,将文件保存为.pcap格式,这样就能导出来使用wireshark软件直接打开
tcpdump -n -i any -s0 -w /tmp/tmp.pcap