38 | 案例篇:怎么使用 tcpdump 和 Wireshark 分析网络流量?
倪朋飞
该思维导图由 AI 生成,仅供参考
你好,我是倪朋飞。
上一节,我们学习了 DNS 性能问题的分析和优化方法。简单回顾一下,DNS 可以提供域名和 IP 地址的映射关系,也是一种常用的全局负载均衡(GSLB)实现方法。
通常,需要暴露到公网的服务,都会绑定一个域名,既方便了人们记忆,也避免了后台服务 IP 地址的变更影响到用户。
不过要注意,DNS 解析受到各种网络状况的影响,性能可能不稳定。比如公网延迟增大,缓存过期导致要重新去上游服务器请求,或者流量高峰时 DNS 服务器性能不足等,都会导致 DNS 响应的延迟增大。
此时,可以借助 nslookup 或者 dig 的调试功能,分析 DNS 的解析过程,再配合 ping 等工具调试 DNS 服务器的延迟,从而定位出性能瓶颈。通常,你可以用缓存、预取、HTTPDNS 等方法,优化 DNS 的性能。
上一节我们用到的 ping,是一个最常用的测试服务延迟的工具。很多情况下,ping 可以帮我们定位出延迟问题,不过有时候, ping 本身也会出现意想不到的问题。这时,就需要我们抓取 ping 命令执行时收发的网络包,然后分析这些网络包,进而找出问题根源。
tcpdump 和 Wireshark 就是最常用的网络抓包和分析工具,更是分析网络性能必不可少的利器。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了如何使用tcpdump和Wireshark来分析网络流量,并通过实际案例展示了这两种工具的使用方法。作者首先回顾了DNS性能问题的分析和优化方法,指出DNS解析可能导致性能不稳定。然后重点介绍了tcpdump和Wireshark的特点和用途,并建议在实际分析网络性能时,先用tcpdump抓包,后用Wireshark分析。作者还提供了案例准备的环境配置和命令示例,并重点介绍了如何使用ping工具来测试网络主机之间的连通性和延迟。通过实际抓包和分析过程,读者可以了解如何使用tcpdump和Wireshark来解决网络性能问题,尤其是在排查DNS解析缓慢的情况下的应用。整体而言,本文以实际案例为基础,介绍了tcpdump和Wireshark的使用方法,旨在帮助读者快速了解如何分析网络性能问题。文章内容涵盖了tcpdump和Wireshark的基本使用方法,以及通过实例展示了如何利用这两种工具来解决网络性能问题,对读者进行了技术指导和实践引导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Linux 性能优化实战》,新⼈⾸单¥68
《Linux 性能优化实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(34)
- 最新
- 精选
- 1+1wireshark的使用推荐阅读林沛满的《Wireshark网络分析就这么简单》和《Wireshark网络分析的艺术》
作者回复: 👍 这两本书都不错
2019-02-18368 - xierongfei之前公司一个内部应用出现页面卡顿,而且每次都是1-2用户反馈(随机),排出了应用本身,服务器,客户端网络问题后,然后让it在用户端抓包传给我,然后用Wireshark分析后,发现有大量虚假重传,后面分析后发现,是用户都在一个Nat网络后面,部分用户时间不一致,同时我们服务器开启了tcp快速回收,导致连接被回收了。后面关闭tcp快速回收后解决。也是第一次用工具分析这种比较复杂的问题。
作者回复: 👍
2019-04-13332 - bzadhere"如果看了这个你还是不会用Wireshark,那就来找我吧" ----这是在网上可以找到最牛逼的资料 https://www.dell.com/community/%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E8%AE%A8%E8%AE%BA%E5%8C%BA/%E5%A6%82%E6%9E%9C%E7%9C%8B%E4%BA%86%E8%BF%99%E4%B8%AA%E4%BD%A0%E8%BF%98%E6%98%AF%E4%B8%8D%E4%BC%9A%E7%94%A8Wireshark-%E9%82%A3%E5%B0%B1%E6%9D%A5%E6%89%BE%E6%88%91%E5%90%A7-8%E6%9C%886%E6%97%A5%E5%AE%8C%E7%BB%93/td-p/7007033
作者回复: 谢谢分享
2019-03-06220 - 日拱一卒林沛满的书都看过,确实写的相当好,都是案例驱动。 把协议讲的生动有趣就数他。
作者回复: 👍
2019-02-1819 - 科学Jia老师,这个案例写的极其生动:D, 就是问一句,现在我们的项目都是https,那么如果抓包https,tcpdump或者wireshark是否可以解密?因为我看到wireshark解密需要private key,但是private key涉及安全问题,肯定都拿不到,那么你们遇到抓包https后解析是怎么做的呢?
作者回复: 嗯,证书解密是最简单的方法,也可以使用 MitM(Man-in-the-middle)方法
2019-03-05212 - 肖飞码字tcpdump抓包可以用来处理一些疑难问题的。 如受到了什么类型的攻击,执行了mysql的什么命令,接收以及发送出去了什么数据包通通都可以。像入侵检测如snort工具之类的应该也是对数据包进行抓包分析的,很实用,很强大。
作者回复: 👍 谢谢分享
2019-02-1912 - 潘政宇老师好,为什么ping命令使用PTR信息,ping一个域名的时候,直接dns查询得到A记录ip地址,然后ping这个ip就行啊,为什么使用反向解析?
作者回复: 不只是ping,大部分输出中包含名字的工具都支持反向解析,这是为了更直观展示结果(毕竟我们熟悉的都是域名而不是IP)。
2019-02-2128 - 明翼老师wireshark有个命令行版本tshark,wireshark是通过一个叫dump的进程抓包管道方式发送给tshark解析的,不过tshark的命令项有点多,不是太好用
作者回复: 👍 没有图形界面的时候,tshark也是个选择
2019-02-1837 - kissingers林沛满的书不错,EMC 大牛值得推荐。 Fiddler,工具也了解过,微软的人写的,支持https (man in middle),能修改请求和响应数据包。 另外老师能讲讲:linux 主机上怎么提高数据转发性能吗?
作者回复: 优化方法里面有提到
2019-03-076 - GriffinWeb的问题推荐 MITM啊
作者回复: 嗯嗯,谢谢补充
2019-03-243
收起评论