《Wireshark网络分析就这么简单》—从一道面试题开始说起

从一道面试题开始说起
Wireshark网络分析就这么简单
从一道面试题开始说起
我每次当面试官,都要伪装成无所不知的大牛。

这当然是无奈的选择——现在每封简历都那么耀眼,不装一下简直镇不住场面。比如尚未毕业的本科生,早就拿下CCIE认证;留欧两年的海归,已然精通英、法、德三门外语;最厉害的一位应聘者,研究生阶段就在国际上首次提出了计算机和生物学的跨界理论……可怜我这个老实人在一开场还能装装,到了技术环节就忍不住提问基础知识,一下子把气氛从学术殿堂拉到建筑工地。不过就是这些最基础的问题,却常常把简历精英们难住。本文要介绍的便是其中的一道。

问题:两台服务器A和B的网络配置如下(见图1),B的子网掩码本应该是255.255.255.0,被不小心配成了255.255.255.224。它们还能正常通信吗?

很多应聘者都会沉思良久(他们一定在心里把我骂了很多遍了),然后给出下面这些形形色色的答案。
答案1:“A和B不能通信,因为……如果这样都行的话,子网掩码还有什么用?”(这位的反证法听上去很有道理!)

答案2:“A和B能通信,因为它们可以通过ARP广播获得对方的MAC地址。”(那子网掩码还有什么用?楼上的反证法用来反驳这位正好。)

答案3:“A和B能通信,但所有包都要通过默认网关192.168.26.2转发。”(请问这么复杂的结果你是怎么想到的?)

答案4:“A和B不能通信,因为ARP不能跨子网。”(这个答案听上去真像是经过认真思考的。)

以上哪个答案是正确的?还是都不正确?如果这是你第一次听到这道题,不妨停下来思考一下。

真相只有一个,应聘者的答案却是五花八门。可见对网络概念的理解不容含糊,否则差之毫厘,谬以千里。要知道,这还只是基本的路由交换知识,假如涉及复杂概念,结果就更不用说了。

问题是即便我们对着教材咬文嚼字,也不一定能悟出正确答案。这个时候,就可以借助Wireshark的抓包与分析功能了。我手头就有两台Windows服务器,已经按照面试题配好网络。如果你以前没有用过Wireshark,就开始第一次亲密接触吧。

1.从http://www.wireshark.org/download.html免费下载安装包,并在服务器B上装好(把所有可选项都装上)。

2.启动Wireshark软件,单击菜单栏上的Capture,再单击Interfaces按钮(见图2)。

3.服务器B上的所有网卡都会显示在弹出的新窗口上(见图3),在要抓包的网卡上单击Start按钮。

4.在服务器B上ping A的IP地址,结果是通的(见图4)。该操作产生的网络包已经被Wireshark捕获。

5.在Wireshark的菜单栏上,再次单击Capture,然后单击Stop。
6.在Wireshark的菜单栏上,单击File,再单击Save,把网络包保存到硬盘上(这一步并非必需,但存档是个好习惯)。

7.收集每台设备的MAC地址以备分析。

服务器A: 00:0c:29:0c:22:10
服务器B: 00:0c:29:51:f1:7b
默认网关: 00:50:56:e7:2f:88
现在可以分析网络包了。如图5所示,Wireshark的界面非常直观。最上面是Packet List窗口,它列出了所有网络包。在Packet List中选定的网络包会详细地显示在中间的Packet Details窗口中。由于我在Packet List中选定的是3号包,所以图5中看到的就是Frame 3的详情。最底下是Packet Bytes Details窗口,我们一般不会用到它。

接下来看看每个包都做了些什么。
1号包(见图6):

服务器B通过ARP广播查询默认网关192.168.26.2的MAC地址。为什么我ping的是服务器A的IP,B却去查询默认网关的MAC地址呢?这是因为B根据自己的子网掩码,计算出A属于不同子网,跨子网通信需要默认网关的转发。而要和默认网关通信,就需要获得其MAC地址。
2号包(见图7):

默认网关192.168.26.2向B回复了自己的MAC地址。为什么这些MAC地址的开头明明是“00:50:56”或者“00:0c:29”,Wireshark上显示出来却都是“Vmware”?这是因为MAC地址的前3个字节表示厂商。而00:50:56和00:0c:29都被分配给Vmware公司。这是全球统一的标准,所以Wireshark干脆显示出厂商名了。
3号包(见图8):

B发出ping包,指定Destination IP为A,即192.168.26.129。但Destination MAC却是默认网关的00:50:56:e7:2f:88(Destination MAC可以在图8中的Packet Details中看到)。这表明B希望默认网关把包转发给A。至于默认网关有没有转发,我们目前无从得知,除非在网关上也抓个包。
4号包(见图9):

B收到了A发出的ARP广播,这个广播查询的是B的MAC地址。这是因为在A看来,B属于相同子网,同子网通信无需默认网关的参与,只要通过ARP获得对方MAC地址就行了。这个包也表明默认网关成功地把B发出的ping请求转发给A了,否则A不会无缘无故尝试和B通信。
5号包(见图10):

B回复了A的ARP请求,把自己的MAC地址告诉A。这说明B在执行ARP回复时并不考虑子网。虽然ARP请求来自其他子网的IP,但也照样回复。

6号包(见图11):

B终于收到了A的ping回复。从MAC地址00:0c:29:0c:22:10可以看出,这个包是从A直接过来的,而不是通过默认网关的转发。
7、8、9、10号包(见图12):

都是重复的ping请求和ping回复。因为A和B都已经知道对方的联系方式,所以就没必要再发ARP了。
分析完这几个包,答案出来了。原来通信过程是这样的:B先把ping请求交给默认网关,默认网关再转发给A。而A收到请求后直接把ping回复给B,形成图13所示的三角形环路。不知道你答对了吗?

通过这道题,不知道你是否已经感受到了Wireshark的神奇?如果有兴趣进一步练习,不妨也搭个环境,把这道题里A和B的掩码互换一下。看看这次还能ping通吗?如果不能,原因又在哪里?

其实做题对Wireshark只是大材小用,它还可以用于学习复杂的协议,或者解决隐蔽的难题。在下文中,我们将体验Wireshark在实际工作中的应用。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-09-25 00:53:26

《Wireshark网络分析就这么简单》—从一道面试题开始说起的相关文章

《大咖讲Wireshark网络分析》—从一道面试题开始说起

从一道面试题开始说起大咖讲Wireshark网络分析我每次当面试官,都要伪装成无所不知的大牛. 这当然是无奈的选择--现在每封简历都那么耀眼,不装一下简直镇不住场面.比如尚未毕业的本科生,早就拿下CCIE认证:留欧两年的海归,已然精通英.法.德三门外语:最厉害的一位应聘者,研究生阶段就在国际上首次提出了计算机和生物学的跨界理论--可怜我这个老实人在一开场还能装装,到了技术环节就忍不住提问基础知识,一下子把气氛从学术殿堂拉到建筑工地.不过就是这些最基础的问题,却常常把简历精英们难住.本文要介绍的便

《大咖讲Wireshark网络分析》—大客户的小问题

大客户的小问题 大咖讲Wireshark网络分析 最近我司的销售人员遇到了一件烦心事--有位每年采购额颇大的客户,屡次投诉同一个小问题.具体症状是这样的:用户编辑好一个比较大的Excel文件,然后点击保存,就有一定概率出现图1这样的报错.体积小的文件则从来没有发生过这类报错. 这些文件是保存在我司的网盘设备上的,可是我们的技术人员研究了半天也没有发现原因.有一点可以确定的,就是保存时并没有其他人在使用该文件,肯定是哪里出问题了.于是客户就去找了微软的技术支持,技术支持发现把文件保存在本地硬盘都能

《大咖讲Wireshark网络分析》—再来一个很妖的问题

再来一个很妖的问题 大咖讲Wireshark网络分析 有读者问,"叔叔,你那些很"妖"的网络问题是在哪找的?我也很感兴趣,但是从来没有遇到过." 叔叔听完这句话,顿时觉得心里好苦--都是这些"妖怪"自己找上门的,我想躲都来不及,哪会主动去找啊!我们全球有几千用户,假如每位用户每年遇到一次网络故障,我就有看不完的包了.<Wireshark网络分析的艺术>中讲到的那些案例,其实只占极小部分,公司电脑里还躺着几百个案例等着整理呢.既然你们对

《大咖讲Wireshark网络分析》目录—导读

目录大客户的小问题 再来一个很妖的问题从一道面试题开始说起你一定会喜欢的技巧Patrick的故事Wireshark的前世今生TCP的连接启蒙快递员的工作策略--TCP窗口百家争鸣剖析CIFS协议网络江湖DNS小科普无懈可击的KerberosTCP/IP的故事深藏功与名一个技术男的自白被误解的TCP最经典的网络问题虚惊一场Wireshark的提示计算"在途字节数"一个你本该能解决的问题昙花一现的协议技术与工龄如何科学地推卸责任手机抓包谁动了我的网络自学的窍门一个创业点子欢迎来到异步社区!

《Wireshark网络分析的艺术》目录—导读

作者简介 Wireshark网络分析的艺术 林沛满,2005年毕业于上海交通大学,现任EMC网络存储部门的主任工程师.多年来为多个产品团队提供 过技术咨询,范围包括网络.操作系统.文件系统和域等,这就是本书所涵盖的协议如此五花八门的原因.每年临近加薪的日子,他也会组织一些技术培训来提醒上司.本书的部分内容就来自这些培训资料. 平时他也写一些技术博客,你或许还能在IT168或者ChinaUnix技术社区看到它们.本书也有少数内容来自这些博客. 当林先生不在工作时,大部分时间都花在了园艺花卉上,尤其

《Wireshark网络分析就这么简单》目录—导读

内容提要 Wireshark网络分析就这么简单 Wireshark可能是世界上最好的开源网络包分析器,能在多种平台上(比如Windows.Linux和Mac)抓取和分析网络包,在IT业界有着广泛的应用. 本书采用诙谐风趣的手法,由浅入深地用Wireshark分析了常见的网络协议,读者在学习Wireshark的同时,也会在不知不觉中理解这些协议.作者还通过身边发生的一些真实案例,分享了Wireshark的实战技巧. 本书不务虚,不注水,几乎页页干货,篇篇精华,力求为读者提供最佳阅读体验,使读者在一

大咖、颜值、逼格、礼物都齐了,只差一个你!

传说中,这是一个格子衬衫.双肩包.拖鞋的聚集地. 传说中,参加这个"集会"的人一言不合就会"噼噼啪啪"--敲代码. 传说中,这是一场烧脑盛宴,也是面基的好去处--   邀请函那么美,一言不合先报名!戳此免费抢座>> 云栖大会是由阿里巴巴集团主办的全球云计算TOP级峰会,汇聚DT时代最强大脑,描绘云计算发展趋势和蓝图,展现云计算.大数据.人工智能蓬勃发展的生态全景.   今年开年起,阿里云栖大会就风风火火的跑遍了南方各个城市,广州.上海.深圳.南京.武汉.

《Wireshark网络分析的艺术》—三次握手的小知识

三次握手的小知识 Wireshark网络分析的艺术 我原本以为TCP三次握手不值得写,没想到在某技术社区上被提问好几次了.看来感兴趣的人还真不少,还是写一篇吧. 我们知道TCP需要通过三次握手来建立连接,过程如图1所示. 从Wireshark上看到的握手过程就是图2这样的,你可以把Seq号和Ack号代入图1中,看看是否符合规律. 当X和Y的值太大时,看起来就不太友好,尤其是需要对这些号码做加减运算时.于是Wireshark提供了一个功能--把Seq和Ack的初始值都置成0,即用"相对值"

《终极海报——23位创意大咖的设计评论与思想》—麦拉 • 卡尔曼

麦拉 • 卡尔曼 终极海报--23位创意大咖的设计评论与思想 访谈地点 纽约市格林威治村麦拉·卡尔曼家里 教育程度 曾就读纽约大学 从事职业 纽约视觉艺术学院教师.美术硕士学位设计师 设计期限 10天 "只是去洗手而已,就是这样一个简单的动作,你却给人这样一个惊人的警告." "呃,我认为有种压抑感"麦拉拿着海报说."只是去洗手而已,就是这样一个简单的动作,你却给人这样一个惊人的警告"她解释说. 众所周知,麦拉擅长把平凡而又常见的东西描绘成一副美丽