ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:496.99KB ,
资源ID:4344124      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4344124.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络嗅探技术及相关软件的使用.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络嗅探技术及相关软件的使用.docx

1、网络嗅探技术及相关软件的使用网络嗅探技术及相关软件的使用前言:本文所涉及内容,是在阅读朱畅华老师编写的现代通信系统及网络测量一书后了解到的,以前的本科学习中并没有涉及到,因此找到资料,对其中的基础理论进行了学习,并将所学到的内容进行整理,写出此文。此外,试验所使用的操作系统为Windows7,与找到的sniffer软件资源不兼容,而使用的Ethereal软件(wireshark- win32-1.4.0)则无此问题,所以下文中将主要介绍ethereal软件的相关使用情况,仅对sniffer的界面进行介绍,并对两类软件的优缺点进行总结。文章的最后附上了EtherApe的相关使用方法,由于未能找到

2、与windows兼容的EtherApe软件,所以只附上一些图片。嗅探器嗅探器(Sniff),通过将本机以太网卡设置为“混杂模式”,直接获取任意连接到网络中的同一掩码范围内的网络数据,且不中断网络正常运行的一类程序。该技术是建立在以太网“共享”技术之上的,所有的同一本地网范围内的计算机共同接收到相同的数据包,除目标主机外,其他主机会将该数据包过滤并将其丢弃。目前,该技术有向“交换”技术转化的趋势,但是在当前一段时间内,这种技术会继续使用下去。MAC地址MAC(Media Access Control),用来区分以太网内“共享“数据流的主机身份,可以看做是网络中各主机,确切的说是以太网卡的身份证,

3、是嗅探技术的硬件支持。MAC地址是由一组6个16进制数组成的,共48比特,这48比特分为两个部分组成,前面的24比特用于表示以太网卡的寄主,后面的24比特是一组序列号,由寄主进行支派,从而保证网络中任何两块网卡的MAC地址都不相同。这24比特中只有22比特被用于表示身份,另外两个,一个用来校验是否是广播或者多播地址,另一个比特用来分配本地执行地址。当主机A、B间需要进行通信时,A会向网络中发送一个公共数据包询问B的MAC地址,该数据包中包括A的IP地址,MAC地址,响应端口号,B的IP地址,然后进入等待。B收到该数据包后,会向A发送应答数据包,包括自己的IP地址,MAC地址,源MAC地址,源I

4、P地址等,A接收到该数据包后,A、B就可以进行通信了。此外,我们可以在命令状态行中输入:ipconfig /all获取本机的MAC地址,还可以通过“arpa”查看与本机相连的其他主机。修改MAC地址第一种方法,发送数据包的时,可以覆盖源始的MAC信息。第二种方法,在网卡允许的一定的时间内修改内部的MAC地址。第三种方法,重新烧录EEPROM。这种方法要求特定的硬件设备和适用的芯片,而且这种方法将永远修改MAC地址。反嗅探技术为防止自己的数据被获取,反嗅探技术应运而生。理论上,嗅探程序是不可能被检测出来的,因为该只会收集数据包,而不发送出任何数据,属于被动接受的一类程序,但是当它安装在一台正常的

5、局域网内的计算机上的时候会产生一些数据流。我们可以利用这一点反向检测网络中是否有嗅探程序。ping 方法:很多的嗅探器程序,如果你发送一个请求给哪台有嗅探程序的机器,它将作出应答。说明:1.怀疑IP地址为10.0.0.1的机器装有嗅探程序,它的MAC地址确定为00-40-05-A4-79-32.2.确保机器是在这个局域网中间。3.现在修改MAC地址为00-40-05-A4-79-33.4.现在用ping命令ping这个IP地址。5.没有任何人能够看到发送的数据包,因为每台计算机的MAC地址无法与这个数据包中的目地MAC不符,所以,这个包应该会被丢弃。6.如果你看到应答,说明该包未被丢弃,很有可

6、能有嗅探器存在。本机嗅探程序的检测除了要防止本机所处网络中嗅探程序的侵入,还要防范网络黑客等专业人员在本机中植入嗅探程序。本机嗅探的程序检测方法比较简单,只要检查一下网卡是否处于混杂模式就可以了,在Linux下,这个比较容易实现,而在Windows平台上,并没有现成的函数可供我们实现这个功能,以下为从网上获得的一个小技巧(未试验):#include #define MAX_PACK_LEN 65535#define MAX_HOSTNAME_LAN 255#pragma comment (lib , ws2_32.lib)int main()SOCKET SockRaw,Sock;WSADAT

7、A wsaData;int ret=0;struct sockaddr_in sAddr,addr;char RecvBufMAX_PACK_LEN;char FAR nameMAX_HOSTNAME_LAN;struct hostent FAR * pHostent;char *Buf=(char *)malloc(128);int settimeout=1000;/这里我们设置了一秒钟超时printf(UNSniffer for Win2k v1.0nPower by BigBallnHomePage:http: /liumynEmail:liumynOicq:9388920nnCheck

8、ing your system ,wait a moment please.n);WSAStartup(MAKEWORD(2,2),&wsaData);/建立一条RawSocketSockRaw=socket(AF_INET,SOCK_RAW,IPPROTO_IP);再建立一条Sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);memset(&sAddr,0,sizeof(sAddr);memset(&addr,0,sizeof(addr);sAddr.sin_family=AF_INET;sAddr.sin_port=htons(5257);addr.si

9、n_family=AF_INET;addr.sin_port=htons(5258);/把IP地址指向本机addr.sin_addr.S_un.S_addr=inet_addr(127.0.0.1);memset(RecvBuf,0, sizeof(RecvBuf);pHostent=malloc(sizeof(struct hostent);gethostname(name, MAX_HOSTNAME_LAN);pHostent=gethostbyname(name);/取得自己的IP地址memcpy(&sAddr.sin_addr.S_un.S_addr,pHostent-h_addr_l

10、ist0, pHostent-h_length);free(pHostent);/绑定一个本机的接收端口bind(SockRaw, (struct sockaddr *)&sAddr, sizeof(sAddr);/虚连接到本机的一个未打开的端口connect(Sock,(struct sockaddr *)&addr,sizeof(addr);Buf=1234567890!#$%&*;/设置超时setsockopt(SockRaw,SOL_SOCKET,SO_RCVTIMEO,(char *)&settimeout,sizeof(int);/向虚连接端口发送一个数据包send(Sock,Bu

11、f,strlen(Buf),0);/使用SockRaw接收这个数据包ret=recv(SockRaw,RecvBuf,sizeof(RecvBuf),0);if(ret=SOCKET_ERROR | ret=0)printf(No found any sniffer in your system!n);else/进行ChkSum if(Buf=1234567890!#$%&*) printf(Warning! Found sniffer!n);closesocket(Sock);closesocket(SockRaw);free(pHostent);free(Buf);WSACleanup()

12、;return 0;网络嗅探软件Ethereal的应用Ethereal是一个图形用户接口(GUI)的网络嗅探器,可以用来从网络上获取数据包,并对数据包进行分析,而且界面简单,易于操作,如sniffer等,只是在设置过滤规则上稍有不同。Ehtereal和Tcpdump都依赖于pcap库,因此两者在许多方面非常相似,在安装软件时需要首先安装WinPcap,然后安装ethereal软件包。启动ethereal以后,首先需要对该软件进行设置,选择菜单Capature-Options,进入设置界面,如下图所示。 Interface:指定参与捕获数据包的网卡。现在的笔记本上带有有线与无线两块网卡,而本次试

13、验使用的是无线网卡,所以将后面的网卡选项设置为MicrosoftDeviceNBF(默认的为机器上的有线网卡); Capture packets in promiscuous mode: 是否打开混杂模式。如果打开,抓取所有的数据包; Limit each packet: 限制所抓包的大小,缺省情况不限制; Buffer size:缓冲区队列长度; File:所抓包的存储地址,可以在这里输入存储文件名; 对于Display Options以及Name Resolution选项可根据自己习惯进行设置,一般选用默认设置。设置Ethereal的过滤规则此外,还应该为其设置相应的过滤规则。Ethere

14、al使用与Tcpdump相似的过滤规则,并且可以很方便地存储已设置好的过滤规则。单击Edit-Capture Filters.-Edit Capture Filter List对话框,如下图所示。如上图所示,你既可以在已有的过滤规则中选择所需要的设置,也可以新建过滤规则,例如,要在主机10.1.197.162和间创建过滤器,可以在Filter name编辑框内输入过滤器名字sohu,在Filter string编辑框内输入过滤规则host 10.1.197.162 and ,然后单击New按钮,即可设置好新的过滤规则。Ethereal使用的过滤规则和Tcpdump几乎完全一致,因为两者都基于p

15、cap库,而且Ethereal可同时维护多个过滤器,网络管理员可以根据实际需要选用不同的过滤器。当所有需要的过滤器都创建好后,单击OK按钮保存创建的过滤器,整个嗅探过程就开始了。Ethereal可以实时显示截获的数据包,因此能够帮助网络管理员及时了解网络的运行状况,从而使其对网络性能和流量能有一个比较准确的把握。我们也可以通过Capture Options-Filter:按钮,然后选择要使用的过滤器。Ethereal的显示过滤器当抓取到足够的包时,停止抓包,此时显示的为抓取到的所有的数据包,如下图所示。若想查看某类数据包,可以在窗口左上角的Fliter框中输入所要寻找的数据包的协议名称或两站点

16、信息表达式,所要使用的表达式语言将在Ethereal的过滤规则介绍。针对不同协议,Ethereal用不同的颜色对其进行区分。当需要查看某个数据包的详细信息时,可在显示框的第一部分单击所要查看的数据包,在第二、第三部分分别显示该数据包的详细信息和数据的十六进制表示。单击第二个框中的某一部分,会在第三个框中的通过反显,显示该类数据在数据包中所对应的十六进制表示。Ethereal的过滤规则Ethereal的过滤规则可以有两种形式:(1)一个原语:一个原语即一条最基本的过滤规则(2)用 “and”、“or”、“not”关系去处运算符,以及括号组合起来的原语。其中“and”的含义是它所连接的两个原语必须

17、都成立;“or”的含义是它所连接的两个原语只要有一个成立即可;“not”的含义是它后面跟的原语不成立;括号的作用是对关系运算顺序作出规定。从上面的描述可以看出,我们只要掌握原语的写法,再用关系运算符把它们组合起来,就可以写出满足不同要求的过滤规则了。Ethereal提供的原语非常多,这里只介绍最常用的四种(在下面的叙述中,“”表示可选项,“”表示必存在的项,“”表示两者选择其中之一,其他字符串则是关键字,必须照写不误):ether src|dst host 这条原语用来根据以太网MAC层的信息来进行包过滤。若无可选项src|dst,这条原语用于捕获源和目的MAC地址之一是“mac_addr“的

18、以太网帧;如果加上 “src”或 “dst”的限制,则分别用于捕获源或目的MAC地址是“mac_addr”的以太网帧。如:原语 “ether host 08:00:1B:D3:D3:61”的含义是捕获所有源或目的MAC地址是“08:00:1B:D3:D3:61”的以太网帧。原语“ether src host 08:00:1B:D3:D3:61”的含义是捕获所有源MAC地址是“08:00:1B:D3:D3:61”的以太网帧。2)src|dst host 这条原语用来根据IP信息进行包过滤。若无可选“src|dst”,这条原语用于捕获源或目的IP地址之一是“ip_addr”的包;如果加上“src”

19、或“dst”的限制,则分别用于捕获源或目的IP地址是“ip_addr”的包。例如,原语“host 210.30.97.53 ”的含义是捕获所有源或目的地址是“210.30.97.53”的包;原语“dst host 210.30.97.53 ”的含义是捕获所有目的地址是“210.30.97.53”的包3)tcp|udp src|dst port 这条原语是用来根据传输层进行包过滤。它可以用于捕获传输层协议是TCP或UDP,源或目的端口号是number的包。可选项“TCP”和“UDP”用于对传输层协议进行选择,可选项“src”和“dst”用来对端口号是源还是目的进行选择。例如,原语“tcp por

20、t 80”的含义是捕获所有源或目的端口号是80协议的包;原语 “udp dst port 53”的含义是捕获所有目的端口号是53的UDP协议的包。4) arp|ip|icmp|udp|tcp等这类原语用于捕获属于某种协议类型的包,协议的类型可以是“arp”、“ip”、“ICMP”、“UDP”或“TCP”等。例如只含一个关键原语“ICMP”含义是捕获所有ICMP协议的包。以上是介绍4种最常用的原语写法,下面通过举例说明如何把这些原语组合起来,从而构造比较复杂的过滤规则。例A-1捕获主机192.168.0.10发出或收到的,除HTTP协议之外的网络包。(注:HTTP协议通常使用TCP端口号80)过

21、滤规则为:host 192.168.0.10 and not tcp port 80 例A-2记主机192.168.0.10为A,捕获A与主机192.168.0.20或A与主机192.168.0.30之间的网络包。过滤规则为:host 192.168.0.10 and (host 192.168.0.20 or host 192.168.0.30)在Ethereal 使用协议插件 Ethereal能够支持许多协议,但有些协议需要安装插件,比如H.323,所以对于H.323协议,首先要下载ethereal的H.323插件,然后将文件(h323.dll)解压到ethereal安装目录的plugin

22、0.9.x目录下面,并进行一下设置:1)启动ethereal 2)菜单Edit-Preference3)单击Protocols前面的+号,展开Protocols 4)找到Q931,并单击5)确保Desegment. TCP segments 是选中的(即方框被按下去)6)单击TCP 7)确保Allow.TCP streams 是选中的8)确保没有选中Check TCP checksum 和Use sequence numbers 9)单击TPKT 10)确保Desegment.TCP segments是选中的11)点击Save,然后点击Apply ,然后点击OK你也完全可以不断地重新安装新版本

23、winpcap和ethreal,这样就可以不需在旧的ethreal的版本中安装新的插件来支持新的协议插件。两类软件的优缺点Ethereal软件是一个开放源码的网络分析系统,可以实时的从网络中获取数据包并将其进行分析、显示;由于采用了协议树加特征字的设计架构,使得它能够支持五百多种协议的解析;插件技术,使得设计者只需要关心自己设计开发的协议模块是否合理而不用关心与系统的结合。不过,Ethereal仍然有一些需要改进的地方。在协议识别方面Ethereal大多采用端口识别,有少量协议采用内容识别,这就让一些非标准端口的协议数据没有正确解析出来,例如ftp协议如果不是21端口的话,Ethereal就无

24、法识别出来,只能作为tcp数据处理;另外对于内容识别式,Ethereal将所有内容识别的函数组成一张入口表,每次协议数据需要内容识别时,按字母顺序逐个调用表里的每个识别函数,无法做到流级别的识别。此外,在对所捕获数据包的统计分析显示过程中,仅能通过较简单的坐标图或者列表显示不同类别所占比例,显示界面简单,不够人性化,需要通过Etheape来辅助显示。与Ethereal相比,Sniffer在某些方面做得不错。Sniffer拥有功能强大人工智能专家系统,能自动、实时监视网络,捕捉数据,识别网络配置,自动发现网络故障并进行告警并能指出故障发生的位置及性质。Sniffer也能对网络中的400多种协议进

25、行解码并可以在全部七层OSI协议上进行解码;对每一层都提供了Summary、Detail、Hex等几种解码窗口或进行强制解码;提供了在线实时解码分析和在线捕捉,将捕捉的数据存盘后进行解码分析二种功能;可以通过饼图、直方图等多种方式对所获取的数据包进行分类显示或拓扑显示,使结果清晰明了。当然,Sniffer也存在不足之处,它只能抓取一个物理网段内的包,通信双方中间不能有路由或其他屏蔽广播包的设备,所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。 此外,现代网络常采用交换机作为网络连接设备枢纽,通常情况下,交换机不会让网络中每一台主机侦听到其他主机的通讯,此时

26、Sniffer技术必须结合网络端口镜像技术进行配合,而衍生的安全技术则通过ARP欺骗来变相达到交换网络中的侦听。问题:在对所获得的数据包进行地址和目标地址分析时,为什么10.201.42.139所发送/接收的数据包的数量678比IP地址收发数据包的总数量675要大,目标地址分析却是合乎常理的呢?附:etherape使用方法Etherape也是一个图形化的网络嗅探器。与Ehtereal不同,EtherApe通过验证主机与主机之间的链接,图形化地显示网络目前所处的状态,它使用不同颜色的连线来表示位于不同主机之间的连接,而连线的粗细则表明主机间数据流量的大小,这些信息都是实时变化的,因而能够协助管理

27、员随时了解到网络中各部分流量的变化情况。EtherApe的安装EhterApe支持Ethernet、FDDI和Token Ring等多种网络,能够实时地从网络或文件中读取网络流量的变化情况,此外它还可以将网络流量信息保存下来,以便在之后需要时再显示出来。在下面以Ethereal 0.8.2为例,讲述如何安装EtherApe(使用的操作系统是RedHat 8.0)。首先下载最新的源码包并将其解压缩,代码如下:# cp etherape-0.8.2.tar.gz/usr/local/src/# cd /usr/local/src/# tar xzvf etherape-0.8.2.tar.gzEt

28、herApe使用的是GNOME这一图形用户接口库。与Ethereal和Tcpdump一样,它也使用pcap库(libpcap)对网络上传输的数据包进行截获和过滤。在编译EtherApe之前,应先确定所需的这些库已经安装好,因为这是编译EtherApe时所必需的。如果这些库已经安装,就可以执行下面的命令来编译并安装EtherApe: # cd etherape-0.8.2 # ./configure # make # make install 用EtherApe分析网络流量 当编译并安装好EtherApe后,就可以执行“etherape”命令来启动EtherApe。当用EtherApe截获在网络

29、上传输的数据时,也要先为其指定过滤规则,否则EthreApe将捕获网络中的所有数据包。单击工具栏上的“Pref.”按钮,打开“Preferences”对话框,在该对话框中的“Capture”属性页中,可以找到用于设置过滤规则的“Capture filter”下拉框。由于采用的都是pcap库,因此EtherApe过滤规则的设置与Tcpdump和Ethereal是相同的。 设置好过滤规则后,单击工具栏上的“Start”按钮,就可以开始对网络中感兴趣的数据包进行嗅探。EhterApe图形化地显示网络流量,图5是当EtherApe处于Ethernet模式下时的网络流量图。EtherApe提供了Token Ring、FDDI、Ethernet、IP和TCP五种监听模式。当处于Ethernet模式下时,EtherApe会截获所有符合过滤规则的以太网数据包,但有时网络管理员可能只对IP数据包感兴趣,这时可以将EtherApe切换到IP模式。单击“Capture”菜单,选择“Mode”菜单项,然后再选择相应的模式,就可以完成模式之间的切换。EtherApe能够以图形的方式显示网络流量。用户看到的是一个很直观的用于表示网络上各主机间流量大小的图,而不是单个的数据包,因而更容易从整体上把握整个网络的运行状况,在定位网络故障时相对来说也变得更加容易。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1