tcpdump命令的功能是监听网络流量,是一款数据嗅探工具,在Linux系统中常用来抓取数据包,能够记录所有经过服务器的数据包信息。tcpdump命令需要以管理员身份执行。

语法格式:tcpdump 参数 对象

常用参数:

-a将网络和广播地址转换成名称 -p不让网络接口进入混杂模式
-c收到指定的数据包数目后,就停止抓包操作-q静默执行模式
-d将编译过的数据包编码转换成可阅读的格式-r从指定的文件中读取数据
-dd将编译过的数据包编码转换成C语言的格式-s设置每个数据包的大小
-ddd将编译过的数据包编码转换成十进制数字的格式-S用绝对而非相对数值列出TCP关联数
-e在每列资料上显示连接层级的文件头-t不显示时间戳记
-f用数字显示网络地址-tt显示未经格式化的时间戳
-F指定内含表达方式的文件-T将数据包转换成指定类型
-i使用指定的网络接口送出数据包-v显示执行过程信息
-l使用标准输出列的缓冲区-vv显示执行过程详细信息
-n不将IP地址转换成主机名-x用十六进制字码显示数据包
-O不将数据包编码最佳化-w将数据包写入指定的文件

参考示例

监听指定网络接口的数据包:

[root@linuxcool ~]# tcpdump -i ens160 

监听指定主机的数据包(主机名):

[root@linuxcool ~]# tcpdump host linuxcool.com

监听指定主机的数据包(IP地址):

[root@linuxcool ~]# tcpdump host 192.168.10.10 

监听指定端口号的数据包,并以文本形式展示:

[root@linuxcool ~]# tcpdump -i any port 80 -A
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。