网络嗅探之一 --- 原理篇

简介:
    不管你有没有意识到,网络嗅探需要经过几个阶段:ARP 欺骗 -> 数据包截取 -> 数据包分析 -> 记录和/或显示感兴趣的信息。如果我们想真实地体会一下这个过程,那么建议用最原始的方法,手工执行上述过程:用 ARP 欺骗软件,比如 arp-tools 发送 ARP 欺骗包,让其它两台机器之间的数据流通过我们的机器。注意,需要开启我们机器的路由功能;接下来,用抓包工具抓取那两台机器之间的数据包;然后用我们的眼睛查看(分析)抓取到的数据包;最后,如果看到了我们感兴趣的信息,记录下来。当然,手工的过程很麻烦,我们一般选择用嗅探软件,比如 Windows 平台下的 Cain,Linux 平台下的 Ettercap 等。然而,即使用嗅探软件,那么仍然需要经历这个过程,仍然需要做这些工作,只不过嗅探软件帮我们做了这些工作而已。
    在本系列文章的第一部分,我们来探讨 ARP 欺骗,主要探讨三个问题:
        1)为什么要进行 ARP 欺骗?
        2)为什么能够进行 ARP 欺骗?
        3)怎样进行 ARP 欺骗?
 
一. 为什么要进行 ARP 欺骗?
        所谓网络嗅探,其实就是对大量网络数据流进行分析,从中分离出我们感兴趣的东西并记录下来和/或显示出来。既然要对网络数据流进行分析,那么当然需要让这些网络数据流流经我们的机器,我们才有机会对其进行分析。接下来的问题当然就是:怎样才能让网络数据流流经我们的电脑呢?哪些技术可以帮我们达到这个目的呢?记得我曾经在《我谈网络扫描之三》讲过,SPAN 和 RSPAN 可以让特定交换机特定端口的网络数据流到达我们的入侵检测系统,那么这种技术能不能用来实现让网络数据流流经我们进行嗅探的电脑的目的呢?答案是肯定的。问题是,SPAN 和 RSPAN 需要在交换机上配置,需要我们首先搞定人家的交换机,不容易呀。而且,即使有幸搞定了人家的交换机,别忘了 SPAN 和 RSPAN 很容易导致网络流量异常,只要人家配置了流量监控,比如配置了 Cacti,就很容易被发现了。所以,这种技术虽然可行,但是实现难度太大,风险太高,我们不用。那么,可行而又方便的技术有没有呢?答案同样是肯定的,那就是“臭名昭著”的 ARP 欺骗。ARP 欺骗实现起来很容易,因为一般的网络嗅探软件都会根据我们机器的IP地址和网关设置,自动向外发送 ARP 欺骗包,进行 ARP 欺骗。而且,ARP 欺骗不容易被发现,隐蔽性较好。
    
二. 为什么能够进行 ARP 欺骗?
        TCP/IP 协议族有比较多的“瑕疵”,作为 TCP/IP 协议族的成员之一,ARP 协议也不例外。ARP 欺骗正是利用了 ARP 协议的“瑕疵”,来达到目的。我们都知道,一台机器要想把数据包准确发送给自己期望的目标机器,必须保证发出去的数据包的目标 IP 地址正确,封装这些数据包的数据帧的目标 MAC 地址正确。保证发出去的数据包的目标 IP 地址正确并不困难,因为这个地址通常由我们手工指定的(如果指定 DNS 域名的话,就可能被 DNS 欺骗,导致使用错误的IP 地址),只要我们指定正确的 IP 地址即可。但是,要保证封装这些数据包的数据帧的目标 MAC 地址正确,就不是那么容易的事情了。因为 MAC 地址不是我们手工指定,而是我们的机器自动通过 ARP 协议获得的,并且,我们的机器并不能保证自己通过 ARP 协议获得准确的 MAC 地址。所以,一旦获得了错误的 MAC 地址(被 ARP 欺骗了,呵呵),那么就会导致发出去的数据帧的目标 MAC 地址不正确。最终,数据帧就会被发送到其它的机器,而不是我们期望的目标机器。当我们的机器需要使用目标机器的 MAC 地址来封装数据帧时,它会发送 ARP 广播,请求目标机器告诉自己其 MAC 地址。既然是广播,那么同一个 VLAN 里的所有机器都能够收到,目标主机可以发送 ARP 响应,告诉我们的机器其 MAC 地址,其它机器也可以发送恶意 ARP 响应,告诉我们的机器目标主机的 MAC  地址是它的 MAC 地址,并且,我们机器的 ARP 协议“很傻很天真”,没有任何方法来辨别真伪,从而就有可能导致我们的机器使用错误的 MAC 地址。更进一步说,即使我们的机器根本有没有向外发送 ARP 请求,恶意机器也可以发送虚假的 ARP 响应或 ARP 请求(Gratuitous ARP)给我们的机器,并且,我们机器的 ARP 协议仍然“很傻很天真”,信以为真,把这些错误的信息保存起来,供以后使用。正是 ARP 协议的这种傻和天真,ARP 欺骗才得以横行霸道。
 
三. 怎样进行 ARP 欺骗?
        ARP 欺骗的过程比较简单,假如我们想嗅探 A 机跟 B 机之间的数据流,我们同时向 A 机和 B 机发送虚假的 ARP 响应或请求(Gratuitous ARP),让 A 机认为 B 机的 MAC 地址是我们机器的 MAC 地址,从而使它用我们机器的 MAC 地址来填充发给 B 机的数据帧,于是,这些数据帧就理所当然地发给了我们的机器。同样地,让 B 机把它本来想发送给 A 机的数据帧发送给我们的机器。另外,我们将自己机器的网卡置于杂凑模式,并且开启路由中转(一般的网络嗅探软件都能够路由和中转数据包,所以不一定需要开启 OS 的路由功能),以便接收并转发这些数据包。这样,我们就可以静悄悄地隐藏在角落,嗅探 A 机跟 B 机之间的数据通信了。下面以图形表示 ARP 欺骗:


本文转自zkjian517 51CTO博客,原文链接:http://blog.51cto.com/zoukejian/62628

相关文章
|
26天前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
63 3
|
2月前
|
并行计算 安全 网络协议
探索未来网络:量子互联网的原理与应用
本文深入探讨了量子互联网的基本概念、技术原理及其潜在应用。通过对量子纠缠、量子叠加和量子隐形传态等核心概念的解释,文章展示了量子互联网如何利用量子力学特性来实现超高速、超高安全性的通信。此外,还讨论了量子互联网在金融、医疗、国防等领域的应用前景,以及当前面临的技术挑战和未来的发展方向。
72 2
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:探索神经网络的核心原理
本文将深入浅出地介绍深度学习的基本概念,包括神经网络的结构、工作原理以及训练过程。我们将从最初的感知机模型出发,逐步深入到现代复杂的深度网络架构,并探讨如何通过反向传播算法优化网络权重。文章旨在为初学者提供一个清晰的深度学习入门指南,同时为有经验的研究者回顾和巩固基础知识。
73 11
|
9天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
24 3
|
19天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
30天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
84 1
|
1月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
1月前
|
存储 安全 自动驾驶
探索未来网络:量子互联网的原理与应用
【10月更文挑战第2天】 本文旨在探讨量子互联网的基本原理、技术实现及其在通讯领域的革命性应用前景。量子互联网利用量子力学原理,如量子叠加和量子纠缠,来传输信息,有望大幅提升通信的安全性和速度。通过详细阐述量子密钥分发(QKD)、量子纠缠交换和量子中继等关键技术,本文揭示了量子互联网对未来信息社会的潜在影响。
|
19天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!