文章目录
网络嗅探概述
一、定义
-
网络嗅探(Sniff)
- 网络监听、网络窃听
- 类似于传统的电话线窃听
-
网络嗅探技术定义
- 利用计算机网络接口截获目的地为其他计算机的数据报文
- 以监听网络流中所包含的用户账户密码或私密信息等
-
网络嗅探器(Sniffer)
- 实现嗅探的软件或硬件设备
- 嗅探获得的数据:二进制格式数据报文
- 解析和理解二进制数据,获取各层协议字段和应用层传输数据:通过网络协议分析
二、网络嗅探的危害与作用
网络嗅探是一把双刃剑
- 攻击者:作为攻击者常用的内网渗透技术
- 窃取机密信息
- 为发起进一步攻击收集信息
- 防御者
- 管理员可以用来监听网络的流量情况,定位网络故障
- 为网络入侵检测系统提供底层数据来源基础
- 其他作用
- 开发网络应用的程序员可以监视程序的网络行为,排除程序错误
三、网络嗅探技术与工具分类
- 网络嗅探技术可以按照所监听的链路层网络进行分类
- 以太网嗅探
- WiFi嗅探
- …
- 目前一些著名嗅探器支持多种链路层网络嗅探,wireshark*, Sniffer Pro…
- 工具形态
- 软件嗅探器
- 硬件嗅探器(协议分析仪): 专用设备, 速度快, 额外功能(如流量记录与重放等), 价格昂贵
网络嗅探的原理与实现
一、以太网工作原理
1. 载波侦听/冲突检测技术
CSMA/CD: 802.3, carrier sense multiple access with collision detection
- 载波侦听:是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲
- 如果空闲,就传输自己的数据
- 如果信道被占用,就等待信道空闲
- 冲突检测:是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突
以太网采用了CSMA/CD技术,由于使用了广播机制,所以,所有在同一媒介信道上连接的工作站都可以看到网络上传递的数据
2. 以太网卡的工作模式
- 网卡的MAC地址(48位)
- 通过ARP来解析IP地址到MAC地址的映射
- 用ipconfig/ifconfig可以查看MAC地址
- 正常情况下,网卡应该只接收这样的包
- MAC地址与自己相匹配的数据帧
- 广播包
- 网卡完成收发数据包的工作,两种接收模式
- 混杂模式:不管数据帧中的目的地址是否与自己的地址匹配,都接收下来
- 非混杂模式:只接收目的地址相匹配的数据帧,以及广播数据包(和组播数据包)
- 为了监听网络上的流量,必须设置为混杂模式
二、交换式网络中的嗅探攻击
1. 共享式网络和交换式网络
-
共享式网络
- 通过Hub(集线器)连接
- 总线方式: 通过网络的所有数据包发往每一个主机
- 能够嗅探整个Hub上全部网络流量
-
交换式网络
- 通过Switch(交换机)连接
- 由交换机构造一个MAC地址-端口映射表
- 发送包的时候,只发到特定端口上
- 只能监听同一端口上流量
- 可通过流量映像口监听(SPAN)
2. 交换式网络中的嗅探攻击
(1)MAC地址洪泛攻击
-
向交换机发送大量虚构MAC地址和IP地址数据包
-
致使交换机“MAC地址-端口映射表”溢出
-
交换机切换入所谓的“打开失效”模式,变成 “共享式”
也就是会向所有端口广播数据包,那么网络嗅探就更容易
(2)MAC欺骗
-
假冒所要监听的主机网卡,将源MAC地址伪造成目标主机的MAC地址
把自己MAC地址改为目标主机的MAC地址
-
交换机不断地更新它的“MAC地址-端口映射表”
-
交换机就会将本应发送给目标主机的数据包发送给攻击者
(3)ARP欺骗
- 利用IP地址与MAC地址之间进行转换时的协议漏洞
- 攻击机通过ARP欺骗声称为嗅探目标主机甚至网关
三、802.11 (WiFi) 网络中的嗅探
四、网络嗅探技术的具体实现机理
- 网络嗅探的理论基础
- 以太网、WiFi网络所使用的共享传输介质
- 标准网络协议栈实现
- 控制网卡驱动只获取发往本机地址的数据包
- 网络嗅探技术实现
- 类Unix平台:BPF/libpcap
- Windows平台:NPF/Winpcap
- 网络嗅探软件工具
网络嗅探技术的防范措施
- 采用安全的网络拓扑
- 共享式网络——>交换式网络
- 交换机上设置VLAN等技术手段,对网络进行合理的分段
- 共享式以太网——>交换式以太网拓扑
- 性能提升: 广播冲突域——>每台主机单独冲突域
- 安全性提升: 较难被网络监听
- 交换式网络提供安全性仍可能被挫败: ARP欺骗
- 静态ARP或者MAC-端口映射表代替动态机制
- 重视网络数据传输的集中位置点的安全防范
- 避免使用明文传输口令/敏感信息网络协议, 使用加密协议
- telnet——> ssh
- IPSEC/TLS
较难被网络监听
- 交换式网络提供安全性仍可能被挫败: ARP欺骗
- 静态ARP或者MAC-端口映射表代替动态机制
- 重视网络数据传输的集中位置点的安全防范
- 避免使用明文传输口令/敏感信息网络协议, 使用加密协议
- telnet——> ssh
- IPSEC/TLS