嗅探(英语:Sniffing)是一种窃听网络上流经的数据包的方式,[1]一般是指使用嗅探器对数据流的数据截获与分组分析。[4]
根据工作环境和工作原理,嗅探技术可分为本机嗅探、广播网嗅探、基于交换机的嗅探等类型。[5]
嗅探技术是一种重要的网络安全攻防技术。安全管理人员可借助嗅探技术,对网络活动进行实时监控并发现各种网络攻击行为。但因嗅探行为容易操作且难以察觉,它也会被黑客用于网络攻击,获取网络中的大量未加密的敏感信息。[2][6]
概述
嗅探是一种网络流量数据分析的手段,[4]可以对计算机网络上传输的数据包进行捕获、截取,而并不使数据传输再定向或改变其内容,接受数据的用户难以发觉。[7]
嗅探技术既可以被网络管理员用于实时监视网络运行、捕捉分析通信数据、查找网络安全漏洞。也可以被当作黑客工具,用以窃取用户数据、窥探用户隐私、实施会话劫持等网络攻击。[7]
本机嗅探
本机嗅探是指在计算机内,嗅探程序通过某种方式,获取发送给进程的数据包的过程。例如,当邮件客户端在收发邮件时,嗅探程序可以窃听到所有的交互过程和其中传递的数据。网络数据包需要经过多次解析才能获得其中的应用数据,它被获取后,通常将经过硬件驱动、操作系统协议栈之后才进入应用程序处理。因此,如果在硬件驱动层或操作系统协议栈层编写数据包捕获代码,就可以获得其他应用程序的网络数据。[5][8]

广播网嗅探
广播网嗅探是在广播网中的网络嗅探行为。广播网通常是利用HUB(集线器)的局域网络,其工作原理是基于总线方式的,在该网络中全部的数据包均会被广播发送,即向全部端口发送。广播网嗅探利用了广播网“共享”的通讯方式,在广播网中所有的网卡都会收到所有的数据包,然后再通过自身的过滤器过滤不需要的数据包。因此,只要将本机网卡设为混杂模式,就可以使嗅探工具支持广播网或多播网的嗅探。[5][8]

基于交换机的嗅探
基于交换机的嗅探指利用一定方式在交换环境中实施的嗅探。交换机的工作原理与HUB不同,它不再将数据包转发给所有的端口,而是通过“分组交换”的方式进行单对单的数据传输。即交换机能记住每个端口的MAC地址,根据数据包的目的地址选择目的端口,所以只有对应该目的地址的网卡能接收到数据。可通过端口镜像、MAC泛滥、MAC复制、ARP欺骗等方式实现基于交换机的嗅探。[5][8]
大部分可管理的交换机都支持端口镜像功能,它是交换机为调试预留的功能。通过端口镜像,本机嗅探工具可以嗅探交换机上的任意端口。基于端口镜像的嗅探受限于交换机能够支持的镜像功能。由于进行基于端口镜像的嗅探必须拥有交换机的管理权限,因此网络管理员常用这种嗅探方式。[5][8]
MAC泛滥的嗅探方式常被攻击者使用。网络交换机为了能够进行分组交换,必须在内部维护着一个转换表,将不同的MAC地址转换成自身的物理端口。由于交换机的工作内存有限,如果用虚假的MAC地址对交换机进行不断攻击,直到交换机的工作内存被占满,它就会进入“打开失效”模式(fail-open mode),开始类似于HUB集线器的工作方式,向网络上所有的机器广播数据包。在这种情况下,交换机嗅探就可以采用广播网嗅探的方式实现。[5][8]
MAC复制就是修改本地的MAC地址,使其与欲嗅探主机的MAC地址相同,交换机将会发现有两个端口对应相同的MAC地址,于是到该MAC地址的数据包会同时从这两个交换机端口发送出去。[2]
ARP欺骗技术指的是欺骗者通过对ARP协议中存在的漏洞进行利用。按照ARP协议的设计,为了减少网络上过多的ARP数据通信,任何时候只要接收到ARP应答包,主机就会自动更新ARP缓存。这样攻击者就可以向目标主机发送假冒的ARP数据包进行欺骗,以达到监听的目的。局域网内一旦有ARP的攻击存在,会欺骗局域网内所有主机和网关,让所有通信都经过ARP攻击者控制的主机。[2][9]
嗅探攻击
嗅探攻击是一种常见的被动网络攻击类型,这种攻击只会复制网络信息,不会直接改变信息的状态。嗅探器是嗅探攻击技术常用的一种设备,其可以实时地监测网络运行状态,当在大量的信息中发现到可用且有价值的信息时,就开始进行窃取。[10][6]攻击者能够在网络拓扑的某些节点或者链路上窃听通信数据、监视网络状态、窃取用户账号密码等敏感数据。[11]
原理与危害
信息的交互需要建立一条信息传输的通道,通过该通道发送方将数据信息发送至接收方。嗅探攻击的工作原理则与信息传输原理大致相同,但信息不仅由发送方传至接收方,还会沿着终端至黑客终端的路径进行传输,且终端至黑客终端的发送对于发送方和接收方而言都是完全透明的。集线器从某个端口接收到MAC帧以后,不仅要接收MAC帧的端口,还需要将MAC帧传输至其他端口。因此当集线器接收到MAC帧后,就会沿着路由器至黑客这条路径将MAC帧输出,这样就极易造成数据的泄露,也达到了网络嗅探的目的。[10][6]
当网络遭受到嗅探攻击之后,数据信息就会遭到泄露,此时黑客就可实现对信息的恶意篡改。当黑客持续收取到信息后,就会将信息发送到目的终端,或者加强信息发送的频次,以此来增强对网络攻击的次数,这样就会给整个网络系统造成更大的损害。[10][6]
应对措施
划分子网:网络嗅探技术大多局限于只能在同一个子网下进行网络信息的嗅探分析。对于工作在不同子网中的主机,由于IP地址的不同导致要进行IP地址的前缀匹配等操作,而无法直接利用MAC广播帧的方式进行数据的转发与传递。因此,将组织内部的网络进行子网划分可以有效地应对网络嗅探攻击事件。[10][5][6]
网络流量监控:嗅探器的网卡工作在“混杂模式”,这导致嗅探器要接收来自同一子网的所有数据帧,因此嗅探器会占用大量的网络带宽。针对嗅探器的这一工作特性,可以通过监控网络流量的方式来发现某个网络内部是否存在嗅探器。如果发现某个主机的网络带宽占用率一直很高,则说明该主机的网卡很有可能是工作在“混杂模式”下的,也就意味着该主机有可能是一个嗅探器。[10][6]
数据加密:由于网络协议在设计之初主要考虑数据包传送的方便性、快捷性而对于数据的安全性考虑不充分,导致数据包在网络中是以明文的方式进行传送的。在数据传送前对其进行加密操作,嗅探器就无法获取数据包内的用户信息,保证了网络传送的安全性。[10][5][6]
“诱骗—暴露”策略:该策略是根据工作在“混在模式”的网卡会接受所有MAC帧这一行为特性而设计的。由于嗅探器只是全部接收所有的MAC数据帧,却并不知道其接收到的MAC地址是否真实的存在于该子网中。因此,为了检测某个子网中是否存在嗅探器,可以发送一个IP地址正确,但是MAC地址错误的数据帧到该子网中。如果该子网中存在嗅探器,则错误数据帧会被嗅探器捕捉到,并给出基于ICMP协议的回应报文。[10][6]
嗅探器
嗅探器是利用计算机的网络接口截获目的地为其它计算机的数据报文的一种工具,可以窃听网络上流经数据包。[3][12]
嗅探器原本是提供给网络管理者监视网络运行状态和数据流动情况的有效管理工具。网络管理员可以利用它进行故障分析以发现网络中存在的问题,还可以进行性能分析以发现网络瓶颈。此外,嗅探器还是基于网络的入侵检测系统的基础。但黑客也可利用嗅探器来盗取用户账号和密码,非法访问计算机中的信息资源,窃取商业机密信息,甚至破坏计算机系统。[3]
嗅探器可分为软件与硬件两种。软件嗅探器应用方便,针对不同的操作系统平台都有多种不同的软件嗅探器,大部分都是免费的;硬件嗅探器通常被称作协议分析器。[2][3]依照不同功能,嗅探器也可分为通用网络嗅探器和专用嗅探器。前者支持多种协议,如tcpdump、Snifferit等;后者一般是针对特定软件或只提供特定功能的,如专门针对MSN等即时通讯软件的嗅探器、专门嗅探邮件密码的嗅探器、[5]捕获蓝牙设备之间通信数据的嗅探器等。[13]

常见工具
Tcpdump/Windump:Tcpdump是一个网络包监听分析工具,它最初是由美国加州大学伯克利分校劳伦斯伯克利国家实验室的网络研究小组开发的,后由“The Tcpdump Group”来更新和维护。Tcpdump(基于Libpcap)支持Solaris、HP-UX、Irix及BSD等多种操作系统平台,针对不同的平台,在具体安装时各有不同。Windows平台的Tcpdump版本叫Windump,它基于与Libpcap兼容的Winpcap函数库运行。[2][5]
Sniffit:Sniffit是一个由lawrence Berkeley Laboratory开发的嗅探器,它可以运行在Solaris、Iris、FreeBSD和Linux等多种系统平台。相较于Tcpdump,它可以提供完全的数据包内容输出,使用者可以选择源地址和目的地址或地址集合,选择监听的端口、协议和网络接口等。由此方便地捕获网络数据包。Sniffit是基于Libpcap开发的,运行于Windows平台时,需要Winpcap的支持。[2][5]
Ettercap:Ettercap是一个由Alberto Ornaghi和Marco Valleri开发交换网络嗅探器。它不仅包含常规的混杂模式嗅探,还包含ARP欺骗方式的嗅探功能,可以对交换环境中的网络通信进行监听。[2][5]它支持包括加密协议咋在内的许多协议的主被动解剖,并包括用于互联网和用户机分析的功能。其拥有两个主要的嗅探选项:UNIFIED方式,即以中间人的方式进行嗅探;BRIDGED方式,即在双网卡情况下,嗅探两块网卡之间的数据包。[14]
Dsniff:Dsniff是一个由Dug Song开发的嗅探器,它是第一批扩展了传统的Sniffer概念的监听工具。[15]Dsniff被用于对各种网络协议进行分析和密码嗅探,它可以从FTP、Telnet、POP、rLogin、Microsoft SMB、SNMP、以及IMAP等协议中获取信息。[16]
Wireshark:Wireshark(原名:Ethereal)是一个网络封包分析软件。[15]作为一款开源的数据包捕获器和分析器,Wireshark支持Windows和Linux等操作系统。Wireshark使用pcap去监控和捕获来自网络接口的数据包,并根据IP地址、协议和许多其他参数,对数据包进行过滤。不同的数据包可以基于相关性被分组或标记。[16]
Microsoft network monitor:Microsoft network monitor是一个只支持Windows平台的网络数据分析工具,它可以被用于针对网络数据包进行捕获、分析、以及故障排查,提供了一个专业的网路实时流量图形界面。在功能上,该软件支持300多种协议、无线监控模式、以及碎片消息的重组等。[17][16]






网络入侵监测
NIDS(Network Intrusion DetectionSystem,网络入侵检测系统)是指利用异常分析、模式匹配等方式对网络上的数据包进行分析,进而找出蠕虫病毒、攻击、入侵等违规行为的硬件或软件。[18][8]
NIDS是带有专家系统的嗅探工具,通常在镜像端口(交换机)上运行。NIDS将嗅探捕获的数据包提交给分析模式予以分析,结合专家库中的特征与模型,分析模块将有害、可疑事件提取出,从而进行对病毒蠕虫、网络入侵的报警。[18][8]
网络安全审计
网络审计是指利用网络嗅探工具对数据包加以获取、解码及存储,以备后期查询或提供即时报警。通过嗅探技术,网络审计可以实现上网行为审计、网络违规数据的监控等功能。[18][8]
利用网络嗅探技术开发的网络行为审计类软件是对网络传输的数据流进行合法性检查的工具,在重要的网络节点上工作,可检测到网上违规行为,如发送含有违反国家法律规定或色情、反动内容的邮件;在论坛或网站中散布含有违反国家法律规定或色情、反动内容的信息;访问含有违反国家法律规定或色情、反动内容的网站。[18][8]
病毒蠕虫的控制
嗅探技术对蠕虫病毒的控制可起到一定作用:利用基于嗅探的流量检测,及时找出网络流量异常,并结合已搭建的流量异常模式,初步判断出网络蠕虫病毒爆发的前兆;利用基于嗅探的网络协议分析,对病毒蠕虫的爆发予以进一步确认,并将预警信息及时给出;利用基于嗅探的蜜罐,获取病毒蠕虫样本,并进行具体分析,设计可行的消除与防御方案;利用基于嗅探的入侵检测实现准确定位局域网络中的病毒蠕虫传播源,从而将病毒传播行为及时有效扼杀。[18][8]
网络布控与追踪
现代网络犯罪往往采用跳板进行,即通过一台中间主机进行网络攻击和犯罪活动,这严重阻碍了对犯罪分子的捕获。嗅探技术可用于追踪网络犯罪行为,协助执法部门定位网络犯罪分子。[18][8]
网络布控的实际操作情况如下:当发现某网络犯罪行为是通过中间跳板主机进行时,可运行网络嗅探器对其进行24小时监控,如果犯罪分子远程登录该主机,网络嗅探器就会记录该犯罪分子的IP地址,从而协助定位和追踪。[18][8]
网络追踪是针对伪造IP地址攻击的一种追查方法。网络攻击往往采用虚假的IP地址(特别是大规模的拒绝服务攻击),因此从被攻击机嗅探获取的数据无法直接判断攻击源,需要采用移动的网络嗅探器,以溯源的方式从终点逐个前溯,直到发现攻击的起源点。[18][8]
网络取证
基于嗅探的网络取证工具可以运行在需要取证的犯罪分子所使用的计算机上(如个人电脑或公共场所的电脑),并可以将该犯罪分子的网络行为(如邮件、聊天信息、上网记录等)加以实时记录,从而协助案件的侦破和起诉证据的获取。为了确保利用嗅探工具所获得的网络证据具备不可篡改性,网络取证工具中还需要内置数字签名工具,防止操作人员人为修改或误修改数字证据。[18][8]
短信嗅探
2018年11月7日,中国四川省什邡市公安局在四川省德阳市公安局的组织指挥下,成功侦破四川省首例利用“嗅探”技术盗取资金的团伙案件,抓获犯罪嫌疑人3名,破案50余起。犯罪团伙利用“GSM劫持+短信嗅探”技术截获受害人手机号码和短信,取得受害者在10086、139信箱中的个人信息,然后利用部分公司企业的可利用漏洞进行盗刷,盗刷他人银行卡现金近60万元。这是一起较为典型的利用短信嗅探技术实施财产侵害的案例。[19]
短信嗅探技术是利用了GSM网络的体系缺陷,对特定信号范围内的手机号码和机主信息进行采集和拦截,从而获取目标用户所应该接收到的短信验证码等等,并以手机机主的身份实施网络诈骗、盗刷支付等。[20]

蓝牙嗅探
为解决共享单车无序停放、扎堆淤积、占道拥堵等问题,蓝牙嗅探等技术被引入到共享单车“入栏结算”的管理中。自2021年初启用蓝牙嗅探等技术进行管理后,共享单车乱停放的问题改善效果显著,截止2021年9月中国北京市崇文门商圈共享单车乱停放的诉求量下降了30%,实现了车辆定点取还、规范停放的治理效果。[21]
“入栏结算停放区”的具体做法是在停车区安装蓝牙道钉与蓝牙嗅探设备,构成共享单车停车虚拟围栏。蓝牙嗅探设备可以向周边一定范围区域内的共享单车发出蓝牙信号,接收到信号后的共享单车就无法完成落锁和结算,相当于划出了一片“禁停区”。而蓝牙道钉就相当于一把钥匙,发出的信号只覆盖入栏结算停放区,共享单车停放在围栏内,接收到蓝牙道钉发出的信号,就能够成功落锁结算。[22]此外,蓝牙嗅探设备还可以有效采集每个品牌的单车数量、停放时间等信息,还能够对停放区车辆饱满和状态进行监测,从而判断单车投放是否超量、调运是否超时,及时向各单车企业提出运维调度指令。[21]

参考资料 22
- https://ieeexplore.ieee.org/abstract/document/1166620
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEhlodHNmZ2R6a3h4eGItaHdiMjAwNjA2MTEzGghpOWtpZzR3MQ%3D%3D
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEhFqc2pnY3lzajIwMDYxMjAxMBoIODQxMWFsaHM%3D
- 嗅探是什么?网络嗅探的原理和常用工具 — 网易易盾
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEg9qc2p5bnkyMDEyMDUwMjYaCGFiOGF0MWty
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEhJ3bGFxanN5eXkyMDE1MDYwMjQaCGs1NWRvN25k
- 爬虫、嗅探、逻辑炸弹……新型网络犯罪技术升级,如何见招拆招 — 澎湃新闻
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEg9oYnlkanMyMDIwMDgwODgaCHZlOHUzcTl5
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEhJ3bGFxanN5eXkyMDE2MDYwMTgaCDV4eXpwMzk3
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEg93eGhsa2oyMDIwMTgwMTMaCDRvcDM3NTJ2
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEg5qc2p5eTIwMTgxMTAzNxoIcXB0cm40eGw%3D
- 这伙人利用嗅探器盗刷别人银行卡中的钱 民警:4G的手机信号变成2G要提高警惕 — 中国网
- 蓝牙协议分析工具Ellisys — 网易
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEhJ3bGFxanN5eXkyMDIwMDMwMTYaCHJydWFuNjl0
- 2019年终黑客工具盘点-最佳篇 — 网易
- 咱们来把嗅探攻击说个清楚 — 51CTO
- 史上最全 Windows 安全工具锦集 — 51CTO
- https://d.wanfangdata.com.cn/Periodical/ChlQZXJpb2RpY2FsQ0hJTmV3UzIwMjMwODMxEhBnZGRueWR4MjAxNDEyMDI5GghzZ3diNGF0bA%3D%3D
- 全省首例“嗅探”犯罪案件破获 警方提醒这样做! — 网易
- “短信嗅探”电信网络诈骗卷土重来_新闻推荐_北京商报_财经传媒集团 — 北京商报网
- 北京东城:“蓝牙嗅探”紧盯共享单车 及时清“淤”还街面整洁 — 人民网
- 共享单车涨价背后:上海执法检查发现企业每年要花上亿元“赎车” — 搜狐