tcpdump常用参数说明
2017-12-08 18:54
288 查看
原文地址:https://www.cnblogs.com/276815076/p/5504321.html
(一)、学习tcpdump的5个参数 初次使用tcpdump时,使用tcpdump -h命令可以看到它有数十个参数。
根据我们在运维工作中的经验,掌握tcpdump以下5个参数即可满足大部分的工作需要了。
❶-i参数。使用-i参数指定需要抓包的网卡。如果未指定的话,tcpdump会根据搜索到的系统中状态为UP的最小数字的网卡确定,一般情况下是eth0。使用-i参数通过指定需要抓包的网卡,可以有效的减少抓取到的数据包的数量,增加抓包的针对性,便于后续的分析工作。
❷-nnn参数。使用-nnn参数禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称。这样看起来更加清晰。
❸-s参数。使用-s参数,指定抓包的包大小。使用-s 0指定数据包大小为262144字节,可以使得抓到的数据包不被截断,完整反映数据包的内容。
❹-c参数。使用-c参数,指定抓包的数量。
❺-w参数。使用-w参数指定抓包文件保存到文件,以便后续使用Wireshark等工具进行分析。
(二)、学习tcpdump的过滤器 tcpdump提供了丰富的过滤器,以支持抓包时的精细化控制,达到减少无效信息干扰的效果。我们常用的过滤器规则有下面几个: ❶host a.b.c.d:指定仅抓取本机和某主机a.b.c.d的数据通信。
❷tcp port x:指定仅抓取TCP协议目的端口或者源端口为x的数据通信。
❸icmp:指定仅抓取ICMP协议的数据通信。
❹!:反向匹配,例如port ! 22,抓取非22端口的数据通信。 以上几种过滤器规则,可以使用and或者or进行组合,例如: host a.b.c.d and tcp port x:则只抓取本机和某主机a.b.c.d之间基于TCP的目的端口或者源端口为x的数据通信。 tcp port x or icmp:则抓取TCP协议目的端口或者源端口为x的数据通信或者ICMP协议的数据通信。
(三)、实例:
下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。
(一)、学习tcpdump的5个参数 初次使用tcpdump时,使用tcpdump -h命令可以看到它有数十个参数。
根据我们在运维工作中的经验,掌握tcpdump以下5个参数即可满足大部分的工作需要了。
❶-i参数。使用-i参数指定需要抓包的网卡。如果未指定的话,tcpdump会根据搜索到的系统中状态为UP的最小数字的网卡确定,一般情况下是eth0。使用-i参数通过指定需要抓包的网卡,可以有效的减少抓取到的数据包的数量,增加抓包的针对性,便于后续的分析工作。
❷-nnn参数。使用-nnn参数禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称。这样看起来更加清晰。
❸-s参数。使用-s参数,指定抓包的包大小。使用-s 0指定数据包大小为262144字节,可以使得抓到的数据包不被截断,完整反映数据包的内容。
❹-c参数。使用-c参数,指定抓包的数量。
❺-w参数。使用-w参数指定抓包文件保存到文件,以便后续使用Wireshark等工具进行分析。
(二)、学习tcpdump的过滤器 tcpdump提供了丰富的过滤器,以支持抓包时的精细化控制,达到减少无效信息干扰的效果。我们常用的过滤器规则有下面几个: ❶host a.b.c.d:指定仅抓取本机和某主机a.b.c.d的数据通信。
❷tcp port x:指定仅抓取TCP协议目的端口或者源端口为x的数据通信。
❸icmp:指定仅抓取ICMP协议的数据通信。
❹!:反向匹配,例如port ! 22,抓取非22端口的数据通信。 以上几种过滤器规则,可以使用and或者or进行组合,例如: host a.b.c.d and tcp port x:则只抓取本机和某主机a.b.c.d之间基于TCP的目的端口或者源端口为x的数据通信。 tcp port x or icmp:则抓取TCP协议目的端口或者源端口为x的数据通信或者ICMP协议的数据通信。
(三)、实例:
下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。
1、抓取包含10.10.10.122的数据包 # tcpdump -i eth0 -vnn host 10.10.10.122 2、抓取包含10.10.10.0/24网段的数据包 # tcpdump -i eth0 -vnn net 10.10.10.0/24 3、抓取包含端口22的数据包 # tcpdump -i eth0 -vnn port 22 4、抓取udp协议的数据包 # tcpdump -i eth0 -vnn udp 5、抓取icmp协议的数据包 # tcpdump -i eth0 -vnn icmp 6、抓取arp协议的数据包 # tcpdump -i eth0 -vnn arp 7、抓取ip协议的数据包 # tcpdump -i eth0 -vnn ip 8、抓取源ip是10.10.10.122数据包。 # tcpdump -i eth0 -vnn src host 10.10.10.122 9、抓取目的ip是10.10.10.122数据包 # tcpdump -i eth0 -vnn dst host 10.10.10.122 10、抓取源端口是22的数据包 # tcpdump -i eth0 -vnn src port 22 11、抓取源ip是10.10.10.253且目的ip是22的数据包 # tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22 12、抓取源ip是10.10.10.122或者包含端口是22的数据包 # tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22 13、抓取源ip是10.10.10.122且端口不是22的数据包 [root@ ftp]# tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22 14、抓取源ip是10.10.10.2且目的端口是22,或源ip是10.10.10.65且目的端口是80的数据包。 # tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or \( src host 10.10.10.65 and dst port 80 \) 15、抓取源ip是10.10.10.59且目的端口是22,或源ip是10.10.10.68且目的端口是80的数据包。 [root@localhost ~]# tcpdump -i eth0 -vnn 'src host 10.10.10.59 and dst port 22' or ' src host 10.10.10.68 and dst port 80 ' 16、把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序。 # tcpdump –i eth0 -vnn -w /tmp/fil1 -c 100 17、从/tmp/fill记录中读取tcp协议的数据包 # tcpdump –i eth0 -vnn -r /tmp/fil1 tcp 18、从/tmp/fill记录中读取包含10.10.10.58的数据包 # tcpdump –i eth0 -vnn -r /tmp/fil1 host 10.10.10.58
相关文章推荐
- tcpdump常用参数说明
- tcpdump常用参数说明
- php源码安装常用配置参数和说明
- mysql中cmake常用参数说明 和 编译安装mysql
- rsyncd - 全局部分中常用全局参数配置说明
- (转)DIV+CSS布局中常用到的属性、参数及说明
- spring-boot常用参数配置说明
- mysql一些常见常用的配置参数的简单说明
- 淘宝开放平台Java版Demo,可能需要常用的网址,一些基本的参数说明
- Highcharts常用的最核心的参数选项配置详细说明
- 图表组件常用参数说明
- pdf2swf 常用参数说明
- U-boot中常用参数设定及常用宏的解释和说明
- Linux虚拟内存系统常用参数说明
- ./configure 常用参数说明
- PHP常用编译参数中文说明
- rsyncd - 全局部分中常用模块参数配置说明
- mysqldump使用常用参数说明
- DIV+CSS常用定义项、参数及说明
- tcpdump参数使用说明