tcpdump常用的选项参数详细总结

描述

  常用选项通过上述的实战案例,相信大家已经掌握的 tcpdump 基本用法,在这里来详细总结一下常用的选项参数。

  (一)基础选项

  -i:指定接口

  -D:列出可用于抓包的接口

  -s:指定数据包抓取的长度

  -c:指定要抓取的数据包的数量

  -w:将抓包数据保存在文件中

  -r:从文件中读取数据

  -C:指定文件大小,与 -w 配合使用

  -F:从文件中读取抓包的表达式

  -n:不解析主机和端口号,这个参数很重要,一般都需要加上

  -P:指定要抓取的包是流入还是流出的包,可以指定的值 in、out、inout

  (二)输出选项

  -e:输出信息中包含数据链路层头部信息

  -t:显示时间戳,tttt 显示更详细的时间

  -X:显示十六进制格式

  -v:显示详细的报文信息,尝试 -vvv,v 越多显示越详细

  过滤表达式

       tcpdump 强大的功能和灵活的策略,主要体现在过滤器(BPF)强大的表达式组合能力。

  (一)操作对象

  表达式中可以操作的对象有如下几种:

  type,表示对象的类型,比如:host、net、port、portrange,如果不指定 type 的话,默认是 host

  dir:表示传输的方向,可取的方式为:src、dst。

  proto:表示协议,可选的协议有:ether、ip、ip6、arp、icmp、tcp、udp。

  (二)条件组合

  表达对象之间还可以通过关键字 and、or、not 进行连接,组成功能更强大的表达式。

  or:表示或操作

  and:表示与操作

  not:表示非操作

  建议看到这里后,再回头去看实战篇章的示例,相信必定会有更深的理解。如果是这样,那就达到了我预期的效果了!

  到这里就不再加新知识点了,分享一些工作中总结的经验:

  1. 我们要知道 tcpdump 不是万能药,并不能解决所有的网络问题。

  2. 在高流量场景下,抓包可能会影响系统性能,如果是在生产环境,请谨慎使用!

  3. 在高流量场景下,tcpdump 并不适合做流量统计,如果需要,可以使用交换机镜像的方式去分析统计。

  4. 在 Linux 上使用 tcpdump 抓包,结合 wireshark 工具进行数据分析,能事半功倍。

  5. 抓包时,尽可能不要使用 any 接口来抓包。

  6. 抓包时,尽可能指定详细的数据包过滤表达式,减少无用数据包的拷贝。

  7. 抓包时,尽量指定 -n 选项,减少解析主机和端口带来的性能开销。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分