tcpdump工具的使用方法与常见选项

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。
TcpDump是Linux中强大的网络数据采集分析工具之一。
TcpDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

常用选项
常用选项具体含义
-a将网络地址和广播地址转变成名字
-d将匹配信息包的代码以人们能够理解的汇编格式给出
-dd将匹配信息包的代码以c语言程序段的格式给出
-ddd将匹配信息包的代码以十进制的形式给出
-e在输出行打印出数据链路层的头部信息
-f将外部的Internet地址以数字的形式打印出来
-l使标准输出变为缓冲行形式
-n不把网络地址转换成名字
-t在输出的每一行不打印时间戳
-v输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv输出详细的报文信息
-c在收到指定的包的数目后,tcpdump就会停止
-F从指定的文件中读取表达式,忽略其它的表达式
-i指定监听的网络接口
-r从指定的文件中读取包(这些包一般通过-w选项产生)
-w直接将包写入文件中,并不分析和打印出来
-T将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议)

常用的实例

1、默认启动-tcpdump

普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包:
这里写图片描述

2、监视指定网络接口的数据包(-i)

举例:tcpdump抓取所有通过eth0的包
命令:tcpdump -i eth0
这里写图片描述
注意:如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0。

3、抓取指定数目的包(-c)

举例:只针对eth0网口抓5个包。
命令:tcpdump -c 5 -i eth0
这里写图片描述

4、将抓到的包写入文件中(-w)

举例:将抓包记录到一个指定的文件中
命令:tcpdump -w tcpdump.pcap -i eth0
这里写图片描述

5、读取tcpdump保存文件(-r)

对于保存的抓包文件,可以使用-r选项进行读取。
举例:tcpdump -r tcpdump.pcap
这里写图片描述

6、抓包时不进行域名解析(-n)

默认情况下,tcpdump抓包结果中将进行域名解析,显示的是域名地址,而不是IP地址,而使用-n选项,可以指定显示IP地址。
这里写图片描述

7、增加抓包时间戳(-tttt)

使用-tttt选项,抓包结果将包含抓包日期。
举例:tcpdump -n -tttt -i eth0
这里写图片描述
不显示时间戳(-t)
这里写图片描述

8、指定抓包协议类型

tcpdump支持指定协议类型有:ip,ip6,arp,tcp,udp,wlan等。
tcp ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
举例:抓取arp协议的包。
命令:tcpdump arp -i eth0
这里写图片描述

9、监视指定主机的数据包

例如:截获所有210.27.48.1 的主机收到的和发出的所有的数据包
命令:tcpdump host 210.27.48.1
这里写图片描述

10、监视指定主机和端口的数据包

举例:如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令
tcpdump tcp port 23 and host 210.27.48.1
这里写图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值