从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式

时间:2024-03-27 21:54:54

引言

现在人们的工作生活方式可以说已经离不开网络了,但是知道吗,其实在计算机网络的世界里,每天都发生着成千上万的问题。在网络传输过程中是否存在问题很多时候我们通过肉眼是无法辨知的,可能就是金玉其外,败絮其中,看起来非常可信,但是背地里存在一些恶意的行为。那么我们怎么能够更好地去了解网络问题呢?其实所有的网络问题它都源于数据包层面,我们需要进入到数据包层次,在这一层次,就没有任何东西能逃出我们地视线范围。我们在数据包层次上做得越多,那么我们就能够对网络有更好地控制,也就能够更好更快地解决网络问题。这就是数据包分析的世界。
那么如何进行数据包分析呢?我们需要依靠数据包嗅探器来完成,它是一种用来在网络媒介上捕获原始传输数据的工具。您可以将网络数据包嗅探器看作是检查网络电缆内部情况的测量设备,就像电工使用电压表检查电缆内部情况一样。目前市场上有很多种类型的数据包嗅探器,这里强烈推荐一款开源免费的并且拥有图形化用户界面(GUI)的数据包分析软件——Wireshark。可以说Wireshark是当今世界最好的数据包分析工具之一,它已经成为网络分析领域里的标配工具。

  • 网络管理员可以使用Wireshark来排除网络问题;
  • 网络安全工程师使用Wireshark来检查安全问题;
  • QA工程师使用Wireshark来验证网络应用程序;
  • 开发人员使用Wireshark来调试协议实现;
  • 更多的人可以使用Wireshark来学习网络协议的内部原理。

网络通信原理

为了能更好的学习Wireshark网络数据包分析技术,我们必须先简单了解一下计算机时如何通过网络进行通信的。就比如你在QQ上发一个消息“Hello”发送给你的朋友,你的朋友是如何通过网络收到这条消息的呢?其实这条“Hello”消息在网络传输的过程中是需要处理过的,那么计算机网络体系结构的通信过程通常划分为七个不同层次,我们称为OSI参考模型。自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。这个OSI分层模型使得我们更加能够容易理解网络通信原理。除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
在OSI参考模型中,其中下四层完成数据传送服务,上面三层面向用户。数据要通过网络进行传输,要从高层一层一层的向下传送,如果一个主机要传送数据到别的主机,每一层协议都要加上一个相对应的头部,这个过程称为数据封装。直到物理层时达到最终形式,以二进制形式的比特流,从计算机的网卡发送出去。物理层的用途就是处理比特流,把比特转换成电子、光学或微波信号等。这样就可以在传输介质中如网线、光纤、无线等进行传输了。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
这个过程就好比寄信一样,为了把“Hello”这条消息发送到目的地,首先要有个信封,在传输层使用TCP/UDP协议来确保消息的可靠投递,我们要把这消息打包到数据段里,然后网络层要将你的“写信人地址”和“收信人地址”写到数据段上面,即:将数据的源IP地址和目的IP地址分别打包,这样才知道你的这条信息是要送到哪里的。接下来数据链路层主要负责把IP地址对应到物理硬件地址(MAC),因为要找到远端相应的计算机是要根据硬件地址来查找的。最后在物理层变成比特流也就是一串0和1,也就是变成了低电平和高电平的信号这样就可以通过网线传送出去了。
数据被封装并通过网络传输后,最终到达目标主机,目标主机将删除添加的这些信息,并根据报头中的信息决定如何将数据沿协议栈向上传给合适的应用程序。这个过程叫数据解封装。最终将数据交给QQ应用程序进行处理。这样对方就可以看到你发送给他的“Hello”这条信息了。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式

企业组网技术

我们通过Wireshark数据包分析之前,先要知道需要将Wireshark数据包分析软件安置在网络上的哪个位置。这样才能正确的监听网络线路上传输的数据包。那么安置Wireshark并不像只是将一台电脑主机连入网络中那么简单了,你得知道你的网络环境,网络中都存在哪些设备这样才能根据实际情况接入使用。那么我们首先得简单了解一下组网的过程是怎么样子的。
在没有网络时候,两台电脑是单机运行的,那么他们进行数据传输可以通过U盘、光盘、移动硬盘等介质。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
小A电脑对小B电脑说这样太麻烦了,每次我有小电影都还要拷贝到U盘上在拷贝给你,不如我弄个共享文件,你自己从我电脑上拷贝吧,这时候它们之间就拉了一个网线。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
接下来,小C和小D知道了,说我们这也有小电影也可以共享给你们,于是大家筹资买了一台设备,这台设备叫做交换机,大家都接到这台设备于是就可以相互共享自己的小电影了。

从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
小电影还不够看,于是大家说不如我们连上互联网吧,那里资源多,于是又买了一台设备叫做路由器,并且向运营商申请了互联网宽带。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
后来大家有了想法说我们创办一个公司吧,采购几台服务器让更多的人看到我们的小电影,于是招了好多人采购了好多电脑。同时也购置了几台交换机进行级联扩展。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
但是服务器和电脑都在一个大局域网中,风险太高,一旦有电脑感染病毒将扩散到整个局域网服务器必定遭殃,所以需要把服务器跟电脑网段区分开来,电脑组也可以根据需求划分VLAN划分出多个网段。于是购置三层交换机作为汇聚交换机,同时网关都设置在这台汇聚交换机上分担了路由器的压力。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
大家在想服务器这么重要是要对外提供服务的,如果被人攻击黑了怎么办,出于安全考虑一般把出口路由器替换成防火墙。防火墙有安全区域概念,当不同安全区域之间发生数据流动时会触发设备的安全检查,并实施相应的安全策略。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
每台网络设备都很重要,万一出故障了整个业务就瘫痪了,所以得考虑冗余性。就是重要节点上一旦设备出现问题立马另一台设备可以接替其工作。同样链路上也要冗余,一条链路出现问题可以在另外一条链路跑。那么比较完善的拓扑如下:
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
所以企业组网的一般拓扑结构大致上会是这样,然后再根据自己需求去扩展。比如企业需要无线全覆盖,那么就需要部署无线网络设备。对带宽流量能够做很好的控制那么就部署专业的流量控制设备。有些网络设备可以旁挂,而有些设备需要串联。总之根据需求和设备特性去扩展就行了。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式

Wireshark抓包方式

我们知道了网络传输的基本原理,组网过程以及网络中一般会有存在哪些网络设备,理论上我们就可以通过Wireshark软件来抓取每一条线路传输中的数据流量了。那么Wireshark监听网络线路的方式都有哪些呢?
1.直接本机安装
我们可以在电脑主机上直接安装Wireshark软件,这样我们可以直接抓取在电脑网卡上进出的流量。这是一种最基本的抓包方式。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
2.集线器网络
集线器是一种多口的中继器,属于物理层设备,能够对信息进行中继和放大。
从任意接口流经集线器的所有网络数据包都会往其他所有接口进行泛洪,就是会将数据包发送到每一个集线器连接的端口。因此,要想分析一台连接在集线器上的电脑网络通信流量,你只需要将安装Wireshark的电脑连接到集线器任意空闲端口就行了。但是集线器已经被淘汰了,因为采用集线器的网络同属一个冲突域中,当两个或多个设备同时通信时,数据包就会产生冲突碰撞,结果可能会丢包,重新传输数据包带来性能损失,又增加网络拥塞和碰撞,所以带宽利用率非常低,现实网络环境中已不再使用。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
3.交换机网络
交换机是目前现实网络环境中最常见的网络连接设备类型,在传输数据中提供了高效的方法。交换机是一种链路层设备,能够记录终端主机的MAC地址并生成MAC表,根据MAC表转发主机之间的数据流。交换机能够进行冲突域隔离,每个主机在独立的冲突域,不同接口之间数据不会相互冲突,大大提高了带宽利用率。那么在交换机网络中从一个目标设备捕获流量的基本方法主要有如下两种方式:端口镜像和ARP欺骗。
端口镜像
端口镜像是指将经过指定端口的数据报文复制一份到另一个指定端口。但是交换机需要支持此功能,并且通过命令行或Web管理界面登陆交换机开启端口镜像的功能。这是目前网络环境中最常用的方式,因为它不会留下网络痕迹,也不会因此产生额外的数据包,不需要脱机下线的情况下就可以进行配置。另外像一些硬件设备如入侵检测系统IPS,上网行为管理,流量分析等网络设备需要对流量进行分析或者安全监控大部分采用的就是端口镜像这种模式。
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式
ARP欺骗
ARP欺骗通常是由攻击者用于向目标主机发送虚假地址的数据包,以截获特定网络流量或者对目标主机进行拒绝服务Dos攻击。但是,它也可以是一种捕获目标主机数据包的合法方式。通过一些ARP欺骗工具使安装Wireshark主机电脑成为所有通信的中间人,所有目标主机发送和接收的流量都必须先通过Wireshark主机,这样就可以对流量进行捕获和分析。但是不是很建议这种方式,因为你的这台Wireshark主机可能会成为整个通信过程中的瓶颈,这种流量重路由也会对你的Wireshark主机系统造成一种拒绝服务攻击式的影响,将导致网络性能下降以及分析数据不完全。更多关于ARP知识参考这篇文章《详解ARP协议工作流程和ARP欺骗原理,以及利用Kali系统模拟ARP欺骗攻击实验
从网络通信原理组网技术讲述Wireshark数据包分析的意义和方式