网络对抗原理第13章

网络对抗原理第13章

ID:34649123

大小:356.03 KB

页数:58页

时间:2019-03-08

网络对抗原理第13章_第1页
网络对抗原理第13章_第2页
网络对抗原理第13章_第3页
网络对抗原理第13章_第4页
网络对抗原理第13章_第5页
资源描述:

《网络对抗原理第13章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第13章网络信息截获 第13章网络信息截获13.1Sniffer基本原理13.2Sniffer的实现13.3Sniffer举例第13章网络信息截获 13.1Sniffer基本原理根据协议分层的概念,双方的数据通信需要在各层进行数据封装和拆包。数据报在各层都有可能被丢弃。为了实现网络信息截获,需要在网络底层(数据链路层)完成。这有两种方法:一是利用以太网的广播特性;二是设置路由器的监听端口。这里只介绍利用以太网的广播特性实现网络信息截获。第13章网络信息截获 网络接口卡(NIC,NetworkInterfaceCard)又称网络接口适配器(NIA,NetworkIn

2、terfaceAdapter),简称网卡。网卡用于实现联网计算机和网络电缆之间的物理连接,为计算机之间相互通信提供一条物理通道,并通过这条通道进行高速数据传输。在局域网中,每一台联网的计算机都需要安装一块或多块网卡,通过介质连接器将计算机接入网络电缆系统。网卡完成物理层和数据链路层的大部分功能,包括网卡与网络电缆的物理连接、介质访问控制(如CSMA/CD)、数据帧的拆装、帧的发送与接收、错误校验、数据信号的编/解码(如曼彻斯特代码的转换)、数据的串行和并行转换等功能。第13章网络信息截获 普通情况下,网卡只接收与自己的地址有关(本机地址和广播地址等)的数据包。即网

3、卡收到传输来的数据后,在数据链路层检查数据报头的目的MAC地址,判断是否为合法MAC地址(本机或广播MAC地址等),如果不是,则直接丢弃,这样上层协议将根本不知道是否存在过这个数据报。因此,要实现网络信息截获,就需要绕过标准的TCP/IP堆栈,直接访问网络底层(数据链路层)。这需要把网卡设置为混杂(Promiscuous)模式,使网卡具有“网络地址”。这时,网卡就会对所有流经本网卡的帧产生硬件中断,让操作系统响应所有流经网卡的报文。操作系统直接访问数据链路层,由应用程序而不是上层协议(IP和TCP等)对数据进行协议分析,确定数据的丢弃与否,从而实现网络信息的截获。

4、第13章网络信息截获 13.2Sniffer的实现13.2.1UNIX系统下的实现1.BSD的BSD分组过滤器(BPF)BSD以及许多源自Berkeley的实现,都使用BPF作为数据链路层的访问手段。在支持BPF的系统上,每个数据链路层驱动程序在收到一个分组之后或发送一个分组之前调用BPF,基于BPF的信息截获如图13-1所示。第13章网络信息截获 应用进程应用进程进程内核缓冲区缓冲区IPv4过滤器过滤器BPF数据链路图13-1基于BPF的信息截获第13章网络信息截获 BPF使用基于寄存器的过滤机,对每个收到的分组应用一个特定于应用进程的过滤器。BPF的过滤功能非

5、常强大。任何一个打开BPF设备的应用程序都可以装入自己的过滤器,该过滤器由BPF应用于各个分组。BPF的过滤功能是通过伪机器(PseudoMachine)执行过滤程序来实现的。过滤机主要由累加器、索引寄存器、数据存储器和隐含的程序计数器几部分组成。过滤程序(FilterProgram)实际上是一组过滤规则。过滤规则由用户定义,以决定是否接收数据包和需要接收多少数据。每一条规则执行一组操作,具体操作可以分为指令装载、指令存储、算术指令执行、跳转指令执行和返回指令执行等几个类别。第13章网络信息截获 结合图13-1,过滤过程可描述如下:当数据包到达网络接口时,链路层驱

6、动程序将其提交到系统协议栈;如果BPF正在此接口监听,驱动程序将首先调用BPF,BPF将数据包发送给过滤器,过滤器对数据包进行过滤,并将数据提交给过滤器关联的上层应用程序;然后链路层驱动程序将重新取得控制权,将数据包提交给上层的系统协议栈处理。为了访问BPF,应用进程需要打开一个未使用的BPF设备。当设备打开后,使用一系列的icotl命令来设置设备属性:装入过滤器、设置读超时、设置缓冲区大小、与某个数据链路附接和使能混杂模式等。完成这些工作以后,就可以用read和write命令来完成I/O操作了。第13章网络信息截获 2.SVR4的数据链路提供者接口(DLPI)S

7、VR4通过DLPI来实现数据链路访问。DLPI是AT&T设计的独立于协议的访问数据链路层所提供服务的接口。其访问通过发送和接收流消息来实现。应用进程介入数据链路层只需要打开设备并使用DLPI的DL_ATTACH_REQ请求将它与DLPI附接就可以了。为了提高效率,一般还需压入两个流模块:pfmod(在内核中进行分组过滤)和bufmod(缓冲递送给应用进程的数据)。基于DLPI信息截获如图13-2所示。第13章网络信息截获 应用进程应用进程进程内核bufmodbufmod缓冲区缓冲区pfmodpfmodIPv4过滤器过滤器BPF数据链路图13-2基于DLPI信息截获

8、第13章网

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。