专栏首页一猿小讲抓包神器 Wireshark,帮你快速定位线上网络故障(1)

抓包神器 Wireshark,帮你快速定位线上网络故障(1)

1

开篇:吊足胃口

「初入职场的菜菜同学」一心想靠 Java 技术来改变世界,未成想被网络环境问题缠身,于是抱着电脑,满怀希望的去找运维同事寻求帮助。

菜菜问:运维大佬,帮忙看看这是什么问题?

运维答:很明显是网络上出了问题,那你就抓个包看看呗,难道不会抓包?

菜菜同学被多次鄙视后,心中怒火越积越重,于是暗下决心,好好深入研究一番 Wireshark,待我羽翼丰满(学会)之日,便是我翱翔天际(离职)之时。

「久居职场的菜菜同学」经过数年的打击与修炼,菜菜同学成了经验颇丰的系统研发高级专家(老油条)。

总监问:假如你的项目在开发、测试环境上与三方联调都没有问题,一旦部署到生产环境,就表现出Connection reset、Connection timeout等各种水土不服,关键是三方还坚定他们的环境很正常,该咋办?

菜菜答:莫慌,我会点 Wireshark,专治各种扯皮、不服。

CTO问:假如你的项目出现性能瓶颈了,你觉得可能会是哪些方面,怎么解决问题?

菜菜答:个人觉得项目性能瓶颈,不外乎网络环境、操作系统、程序代码三个大因素。若真想要解决瓶颈,应该先定位瓶颈的位置究竟是在哪里?而三大因素中最简单的莫过于网络环境,我常用 Wireshark来辅助分析,bulabula。

不知道胃口吊足了没有?上面谈及的那些场景,估计很多猿媛们都遇到过。对于像菜菜这样的 Java 程序员而言,Wireshark 主要用来帮助快速分析网络环境问题,进而拿到实锤,把三方的锅扔回去。

希望通过接下来几篇文章的分享,能让你轻松掌握Wireshark。

2

Wireshark:前世今生

这是一个无关技术的小故事。但是作为 Wireshark 爱好者,了解一下这个软件的前世今生也是极好的,谁不想在中午和同(ling)事(dao)一起吃饭的时候讲个业内小故事,显得自己业务精湛又品味不俗呢?

故事要从 20 世纪 90 年代开始说起。那时的 IT 业欣欣向荣:摩托罗拉正野心勃勃地实施铱星计划;Google 的两位创始人还在房东的车库里研究搜索引擎。我们故事的主人公 Gerald Combs 还是默默无闻的青年。和那个时代的很多工程师一样,Gerald 技术精湛,热情上进,动手能力极强。他就职于一家网络提供商,时常需要分析软件来辅助工作。可是这样的软件太少了,而且一个 license 就要80,000 美金。即便在今天的美国,这也不是一笔小数目。

和我们中的很多人不一样,Gerald 没有下载盗版软件,而是决定自己写一个。他单枪匹马忙碌了几个月。我们今天仍能想见其中的艰辛—即便是从业多年的工程师,对很多网络协议还一知半解,更不要说开发一个能分析协议的软件了。而一位工程师既精通多种协议,又能写好代码,更是常人难以企及的境界。但谦虚的 Gerald 一直对此轻描淡写,「I spent several months doing research and making notes.」到了 1998 年 7 月,这个软件终于面世了。它带来了这样的功能:当你透过它看到网络时,不再是没有意义的 0 和 1,而是可以理解的简洁文字。有了它的专业解说,我们几乎能直接看懂网络上发生的一切。以前难以排查的问题,在它介入后便显露无遗。它还提供了权威的分析报告,比如重传率统计、响应时间和对话列表等,这解放了原本负担繁重的网络管理员,使他们有更多时间专注其他事务。

Gerald 把这个软件命名为 Ethereal,正对应了它的功能—还原以太网的真相。Ethereal 的代码版权自然属于 Gerald,而他所在的公司 NIS(Network Integration Services) 则拥有 Ethereal 商标。当时谁也没有想到,这个归属权会在多年后引起一场风波。由于 Ethereal 写得太好了,而且是以 GNU GPL 开源许可证发布的,世界各地的开发者纷纷参与到这个项目中。没过多久,它就涵盖了世界上大多数通信协议,成为广受欢迎的网络分析软件。它可以用于教学,如果网络教师用它辅助上课,可以大大提高学生的兴趣。也可以辅助开发和测试,是调试网络程序的好工具。当然它最大的用途还是诊断问题;从数据链路层到应用层的种种协议,几乎涉及网络的地方就有它的用武之地。更难得的是,Gerald 并没有打算从中获利,它至今还是完全免费的,每位愿意学习的工程师都可以受益。

世界的变化总是超乎我们的想象,尤其是在IT业。没几年时间,铱星计划彻底破产;Google却成了最大的网络公司。只有Gerald没有变化,一直在兢兢业业地维护 Ethereal。每个月都有新的协议出现,已有的协议也在推出新版本,他永远有忙不完的活。中间仅仅发生过一次改名风波:2006 年他离开 NIS,加入了 CACE。由于和老东家在 Ethereal 的商标问题上无法达成一致,Gerald 把项目改名为 Wireshark。从此 Ethereal 这个风靡多年的项目停止了,只留下 www.ethereal.com 域名。我们至今还能访问它,但是会被重定向到一家叫 AOS 的公司。为什么不是重定向到 NIS 呢?因为 NIS 在 2011 年被 AOS 合并了。

Wireshark 延续了 Ethereal 的成功,现在有成千上万的开发者在追随 Gerald。每年还会召开一次为期 4 天的 Sharkfest 大会。2011 年 Wireshark 在 SecTools 排行第一,2012 年被 Insecure.org 评为「No. 1 Packet Sniffers」。美国的技术作家们开始为它著书立说,中国的出版社也在引进(比如人民邮电出版社引进出版的《Wireshark数据包分析实战(第2版)》)。值得一提的是,CACE 后来被 Riverbed 收购了,Riverbed 成了 Wireshark 项目的赞助商。很多中国工程师可能觉得 Riverbed 名不见经传,但说到 Linux 里常用的 tcpdump 命令就不会陌生。tcpdump 的开发者之一 Steve McCanne 就是 Riverbed 的 CTO。而 WinPcap 的开发者 Loris Degioanni 也在 Riverbed 工作。似乎冥冥之中自有天意,Riverbed 把网络探测界的先锋们聚到了一起。我们要向 Riverbed 致敬,多亏了这些伟大的工具,我们才得以窥探网络的秘密。

Gerald 不久前在 Twitter 上宣布「Wireshark is, and will always be open source。」其实 Wireshark 即便不再开源也不会抹杀他的成就。改变世界的 IT 英雄,可以像 Jobs 一样领导一个成功的公司,更可以像 Gerald 一样创造一件传世的作品。他们的成就一样会被镌刻在 IT 历史的丰碑上。

故事引自《Wireshark网络分析就这么简单》

3

Wireshark:安装

工欲善其事必先利其器,打开官方网站进行下载,下载适合自己操作系统的版本。

下载链接:https://www.wireshark.org/download.html

本次 Wireshark 开篇分享就写到这里,没上干货,主要是初步认识一下 Wireshark,接下来几篇会重点讲讲 Wireshark 的实战,敬请期待。

一起聊技术、谈业务、喷架构,少走弯路,不踩大坑。会持续输出原创精彩分享,敬请期待!

本文分享自微信公众号 - 一猿小讲(yiyuanxiaojiangV5),作者:一猿小讲

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 抓包神器 Wireshark,帮你快速定位线上网络故障(6)

    2020 年,菜菜一直带领团队忙于渠道对接的项目,可谓是渠道接了 N 个,被甩锅的问题遇到 N*N,虽说问题形态千奇百怪,久而久之倒是沉淀了不少解决方案,下面择...

    一猿小讲
  • 抓包神器 Wireshark,帮你快速定位线上网络故障(2)

    正式分享之前,先简单介绍一下 Wireshark。Wireshark 的前称是 Ethereal,该开源软件的功能正如其名,用来还原以太网的真相。

    一猿小讲
  • 抓包神器 Wireshark,帮你快速定位线上网络故障(3)

    HTTP 的工作方式其实很简单,首先由客户端向服务端发起一个请求,然后再由服务端回复一个响应。依据不同的场景,客户端发送的请求会用到不同方法,有 GET、POS...

    一猿小讲
  • 抓包神器 Wireshark,帮你快速定位线上网络故障(4)

    通过 Wireshark 来分析 HTTP 的包,无论是 GET、POST 请求包,在网络传输时可谓是一览无遗,更别提什么隐私信息。那要如何保护隐私信息呢?HT...

    一猿小讲
  • 抓包神器 Wireshark,帮你快速定位线上网络故障(5)

    Wireshark 就像网络世界的显微镜,我们可以在它的帮助下了解网络中发生的一切。

    一猿小讲
  • 网络安全自学篇(十二)| Wireshark安装入门及抓取网站用户名密码(一)

    自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授...

    释然
  • Wireshark, Sniffer and Omnipeek 三款网络分析工具的比较

    自从网络出现以来,网络故障就没有停止过。如何快速、准确地定位故障和保持网络的稳定运行一直是人们追求的目标。为了分析网络故障的原因,一类专业的网络分析软件便产生了...

    用户7557625
  • 谈谈Linux中的TCP重传抓包分析

    收到研发反馈,TCP重传严重。主机报文重传是TCP最基本的错误恢复功能,它的目的是防止报文丢失

    公众号_松华说
  • Web 协议的 7 个困惑,大佬带你全部解开!

    你会发现,这些问题其实都和 Web 协议密切相关。我常常听到身边人抱怨“学不动了”,之所以会这样,大多是因为没有掌握好互联网体系中的底层知识。

    Java技术栈
  • 如何通过抓包实战来学习Web协议?

    你会发现,这些问题其实都和 Web 协议密切相关。我常常听到身边人抱怨“学不动了”,之所以会这样,大多是因为没有掌握好互联网体系中的底层知识。这些知识点相对稳定...

    程序猿DD
  • 作为程序员,必须知道的 Web 协议有哪些?

    你会发现,这些问题其实都和 Web 协议密切相关。我常常听到身边人抱怨“学不动了”,之所以会这样,大多是因为没有掌握好互联网体系中的底层知识。这些知识点相对稳定...

    java思维导图
  • 如何系统学习计算机网络?

    这本书是日本人写的,它和《程序是怎样运行的》、《计算机是怎样跑起来的》统称为图解入门系列,最大的特点就是风趣幽默,简单易懂。这本书通过多图来解释浏览器中从输入网...

    艾小仙
  • 作为程序员,必须知道的 Web 协议有哪些?

    你会发现,这些问题其实都和 Web 协议密切相关。我常常听到身边人抱怨“学不动了”,之所以会这样,大多是因为没有掌握好互联网体系中的底层知识。这些知识点相对稳定...

    程序员历小冰
  • 网络故障排除工具 | 快速定位网络故障

    网络故障排除对于网络技术专家和网络工程师是颇具挑战的工作。每当添加新的设备或网络发生变更时,新的问题就会出现,而且很难确定问题出在哪里。每一位网络工程师或专家都...

    良月柒
  • wireshark简明教程,新手专用,挑实在的讲,不搞花里胡哨

    如果安装过程中出现了问题,不妨看一下我昨晚写的问题解决教程:问题解决:wireshark之npcap无法安装、winpcap无法安装问题解决

    看、未来
  • 如何排除网络故障1:常见的问题和解决这些问题的工具

    你的网络和IT服务的可用性可以创造或损害业务绩效。86%的公司每小时的全面中断成本超过30万美元,34%的公司表示每小时的成本将超过100万美元。但是,不仅仅是...

    虹科网络可视化与安全
  • tcpdump与Wireshark实现服务端抓包与分析

    服务端抓包,一般采用tcpdump抓包,然后将抓包文件导出到本地,使用wireshark分析数据包文件。

    吾非同
  • Linux系统入门学习:Linux 上 Wireshark 界面僵死解决

    : 当我试图在 Ubuntu 上的 Wireshark 中打开一个 pre-recorded 数据包转储时,它的界面突然死机,在我运行 Wireshark 的终...

    知忆
  • 这些抓包工具,你值得拥有

    如今的时代是互联网时代,互联网已经在我们的生活如影随形。可以说我们无时无刻在跟互联网打交道。而在工作,我们可能会因开发调试、测试、排查网络故障等原因,需要对网路...

    猴哥yuri

扫码关注云+社区

领取腾讯云代金券