网络监听及防御技术
网络监听概述
基础知识
网络监听的概念
网络监听技术又叫做网络嗅探技术,顾名思义这是一种在他方未察觉的情况下捕获其通信报文或通信内容的技术。
在网络安全领域,网络监听技术对于网络攻击与防范双方都有着重要的意义,是一把双刃剑。
网络监听技术的能力范围目前只限于局域网,它是主机的一种工作模式,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接收方是谁。
网络传输技术:广播式和点到点。
广播式网络传输技术:仅有一条通信信道,由网络上的所有机器共享。信道上传输的分组可以被任何机器发送并被其他所有的机器接收。
点到点网络传输技术:点到点网络由一对对机器之间的多条连接构成,分组的传输是通过这些连接直接发往目标机器,因此不存在发送分组被多方接收的问题。
网卡的四种工作模式
广播模式:该模式下的网卡能够接收网络中的广播信息。
组播模式:该模式下的网卡能够接受组播数据。
直接模式:在这种模式下,只有匹配目的 MAC 地址的网卡才能接收该数据帧。
混杂模式:(Promiscuous Mode)在这种模式下,网卡能够接受一切接收到的数据帧,而无论其目的 MAC 地址是什么。
网络监听技术的发展情况
网络监听(Sniffer)的发展历史
1、Sniffer这个名称最早是一种网络监听工具的名称,后来其也就成为网络监听的代名词。在最初的时候,它是作为网络管理员检测网络通信的一种工具。实际应用中的嗅探器分软、硬两种。
2、软件嗅探器便宜易于使用,缺点是往往无法抓取网络上所有的传输数据(比如碎片),也就可能无法全面了解网络的故障和运行情况;
3、硬件嗅探器的通常称为协议分析仪,它的优点恰恰是软件嗅探器所欠缺的,但是价格昂贵。
4、目前主要使用的嗅探器是软件的。
Sniffer软件的主要工作机制及常用软件
1、需要一个直接与网卡驱动程序接口的驱动模块,作为网卡驱动与上层应用的“中间人”,它将网卡设置成混杂模式,并从上层Sniffer接收下达的各种抓包请求,对来自网卡驱动程序的数据 帧进行过滤,最终将符合Sniffer要求的数据返回给Sniffer。
2、链路层的网卡驱动程序上传的数据帧就有了两个去处:一个是正常的协议栈,另一个就是分组捕获即过滤模块,对于非本地的数据包,前者会丢弃(通过比较目的IP地址),而后者则会根据上层应用的要求来决定上传还是丢弃。
3、许多操作系统都提供这样的“中间人”机制,即分组捕获机制。在UNIX类型的操作系统中,主要有3种:BSD系统中的BPF(Berkeley Packet Filter)、SVR4中的DLPI(Date Link Interface)和Linux中的SOCK_PACKET类型套接字。在Windows平台上主要有NP