




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络嗅探技术及相关软件的使用前言:本文所涉及内容,是在阅读朱畅华老师编写的现代通信系统及网络测量一书后了解到的,以前的本科学习中并没有涉及到,因此找到资料,对其中的基础理论进行了学习,并将所学到的内容进行整理,写出此文。此外,试验所使用的操作系统为Windows7,与找到的sniffer软件资源不兼容,而使用的Ethereal软件(wireshark- win32-1.4.0)则无此问题,所以下文中将主要介绍ethereal软件的相关使用情况,仅对sniffer的界面进行介绍,并对两类软件的优缺点进行总结。文章的最后附上了EtherApe的相关使用方法,由于未能找到与windows兼容的EtherApe软件,所以只附上一些图片。嗅探器嗅探器(Sniff),通过将本机以太网卡设置为“混杂模式”,直接获取任意连接到网络中的同一掩码范围内的网络数据,且不中断网络正常运行的一类程序。该技术是建立在以太网“共享”技术之上的,所有的同一本地网范围内的计算机共同接收到相同的数据包,除目标主机外,其他主机会将该数据包过滤并将其丢弃。目前,该技术有向“交换”技术转化的趋势,但是在当前一段时间内,这种技术会继续使用下去。MAC地址MAC(Media Access Control),用来区分以太网内“共享“数据流的主机身份,可以看做是网络中各主机,确切的说是以太网卡的身份证,是嗅探技术的硬件支持。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地址,源IP地址等,A接收到该数据包后,A、B就可以进行通信了。此外,我们可以在命令状态行中输入:ipconfig /all获取本机的MAC地址,还可以通过“arpa”查看与本机相连的其他主机。修改MAC地址第一种方法,发送数据包的时,可以覆盖源始的MAC信息。第二种方法,在网卡允许的一定的时间内修改内部的MAC地址。第三种方法,重新烧录EEPROM。这种方法要求特定的硬件设备和适用的芯片,而且这种方法将永远修改MAC地址。反嗅探技术为防止自己的数据被获取,反嗅探技术应运而生。理论上,嗅探程序是不可能被检测出来的,因为该只会收集数据包,而不发送出任何数据,属于被动接受的一类程序,但是当它安装在一台正常的局域网内的计算机上的时候会产生一些数据流。我们可以利用这一点反向检测网络中是否有嗅探程序。ping 方法:很多的嗅探器程序,如果你发送一个请求给哪台有嗅探程序的机器,它将作出应答。说明:1.怀疑IP地址为的机器装有嗅探程序,它的MAC地址确定为00-40-05-A4-79-32.2.确保机器是在这个局域网中间。3.现在修改MAC地址为00-40-05-A4-79-33.4.现在用ping命令ping这个IP地址。5.没有任何人能够看到发送的数据包,因为每台计算机的MAC地址无法与这个数据包中的目地MAC不符,所以,这个包应该会被丢弃。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;WSADATA 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:nOicq:9388920nnChecking 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.sin_family=AF_INET;addr.sin_port=htons(5258);/把IP地址指向本机addr.sin_addr.S_un.S_addr=inet_addr();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_list0, 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,Buf,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();return 0;网络嗅探软件Ethereal的应用Ethereal是一个图形用户接口(GUI)的网络嗅探器,可以用来从网络上获取数据包,并对数据包进行分析,而且界面简单,易于操作,如sniffer等,只是在设置过滤规则上稍有不同。Ehtereal和Tcpdump都依赖于pcap库,因此两者在许多方面非常相似,在安装软件时需要首先安装WinPcap,然后安装ethereal软件包。启动ethereal以后,首先需要对该软件进行设置,选择菜单Capature-Options,进入设置界面,如下图所示。l Interface:指定参与捕获数据包的网卡。现在的笔记本上带有有线与无线两块网卡,而本次试验使用的是无线网卡,所以将后面的网卡选项设置为MicrosoftDeviceNBF(默认的为机器上的有线网卡);l Capture packets in promiscuous mode: 是否打开混杂模式。如果打开,抓取所有的数据包;l Limit each packet: 限制所抓包的大小,缺省情况不限制;l Buffer size:缓冲区队列长度;l File:所抓包的存储地址,可以在这里输入存储文件名;l 对于Display Options以及Name Resolution选项可根据自己习惯进行设置,一般选用默认设置。设置Ethereal的过滤规则此外,还应该为其设置相应的过滤规则。Ethereal使用与Tcpdump相似的过滤规则,并且可以很方便地存储已设置好的过滤规则。单击Edit-Capture Filters.-Edit Capture Filter List对话框,如下图所示。如上图所示,你既可以在已有的过滤规则中选择所需要的设置,也可以新建过滤规则,例如,要在主机62和间创建过滤器,可以在Filter name编辑框内输入过滤器名字sohu,在Filter string编辑框内输入过滤规则host 62 and ,然后单击New按钮,即可设置好新的过滤规则。Ethereal使用的过滤规则和Tcpdump几乎完全一致,因为两者都基于pcap库,而且Ethereal可同时维护多个过滤器,网络管理员可以根据实际需要选用不同的过滤器。当所有需要的过滤器都创建好后,单击OK按钮保存创建的过滤器,整个嗅探过程就开始了。Ethereal可以实时显示截获的数据包,因此能够帮助网络管理员及时了解网络的运行状况,从而使其对网络性能和流量能有一个比较准确的把握。我们也可以通过Capture Options-Filter:按钮,然后选择要使用的过滤器。Ethereal的显示过滤器当抓取到足够的包时,停止抓包,此时显示的为抓取到的所有的数据包,如下图所示。若想查看某类数据包,可以在窗口左上角的Fliter框中输入所要寻找的数据包的协议名称或两站点信息表达式,所要使用的表达式语言将在Ethereal的过滤规则介绍。针对不同协议,Ethereal用不同的颜色对其进行区分。当需要查看某个数据包的详细信息时,可在显示框的第一部分单击所要查看的数据包,在第二、第三部分分别显示该数据包的详细信息和数据的十六进制表示。单击第二个框中的某一部分,会在第三个框中的通过反显,显示该类数据在数据包中所对应的十六进制表示。Ethereal的过滤规则Ethereal的过滤规则可以有两种形式:(1)一个原语:一个原语即一条最基本的过滤规则(2)用 “and”、“or”、“not”关系去处运算符,以及括号组合起来的原语。其中“and”的含义是它所连接的两个原语必须都成立;“or”的含义是它所连接的两个原语只要有一个成立即可;“not”的含义是它后面跟的原语不成立;括号的作用是对关系运算顺序作出规定。从上面的描述可以看出,我们只要掌握原语的写法,再用关系运算符把它们组合起来,就可以写出满足不同要求的过滤规则了。Ethereal提供的原语非常多,这里只介绍最常用的四种(在下面的叙述中,“”表示可选项,“”表示必存在的项,“”表示两者选择其中之一,其他字符串则是关键字,必须照写不误):ether src|dst host 这条原语用来根据以太网MAC层的信息来进行包过滤。若无可选项src|dst,这条原语用于捕获源和目的MAC地址之一是“mac_addr“的以太网帧;如果加上 “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”或“dst”的限制,则分别用于捕获源或目的IP地址是“ip_addr”的包。例如,原语“host 3 ”的含义是捕获所有源或目的地址是“3”的包;原语“dst host 3 ”的含义是捕获所有目的地址是“3”的包3)tcp|udp src|dst port 这条原语是用来根据传输层进行包过滤。它可以用于捕获传输层协议是TCP或UDP,源或目的端口号是number的包。可选项“TCP”和“UDP”用于对传输层协议进行选择,可选项“src”和“dst”用来对端口号是源还是目的进行选择。例如,原语“tcp port 80”的含义是捕获所有源或目的端口号是80协议的包;原语 “udp dst port 53”的含义是捕获所有目的端口号是53的UDP协议的包。4) arp|ip|icmp|udp|tcp等这类原语用于捕获属于某种协议类型的包,协议的类型可以是“arp”、“ip”、“ICMP”、“UDP”或“TCP”等。例如只含一个关键原语“ICMP”含义是捕获所有ICMP协议的包。以上是介绍4种最常用的原语写法,下面通过举例说明如何把这些原语组合起来,从而构造比较复杂的过滤规则。例A-1捕获主机0发出或收到的,除HTTP协议之外的网络包。(注:HTTP协议通常使用TCP端口号80)过滤规则为:host 0 and not tcp port 80 例A-2记主机0为A,捕获A与主机0或A与主机0之间的网络包。过滤规则为:host 0 and (host 0 or host 0)在Ethereal 使用协议插件 Ethereal能够支持许多协议,但有些协议需要安装插件,比如H.323,所以对于H.323协议,首先要下载ethereal的H.323插件,然后将文件(h323.dll)解压到ethereal安装目录的plugin0.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你也完全可以不断地重新安装新版本winpcap和ethreal,这样就可以不需在旧的ethreal的版本中安装新的插件来支持新的协议插件。两类软件的优缺点Ethereal软件是一个开放源码的网络分析系统,可以实时的从网络中获取数据包并将其进行分析、显示;由于采用了协议树加特征字的设计架构,使得它能够支持五百多种协议的解析;插件技术,使得设计者只需要关心自己设计开发的协议模块是否合理而不用关心与系统的结合。不过,Ethereal仍然有一些需要改进的地方。在协议识别方面Ethereal大多采用端口识别,有少量协议采用内容识别,这就让一些非标准端口的协议数据没有正确解析出来,例如ftp协议如果不是21端口的话,Ethereal就无法识别出来,只能作为tcp数据处理;另外对于内容识别式,Ethereal将所有内容识别的函数组成一张入口表,每次协议数据需要内容识别时,按字母顺序逐个调用表里的每个识别函数,无法做到流级别的识别。此外,在对所捕获数据包的统计分析显示过程中,仅能通过较简单的坐标图或者列表显示不同类别所占比例,显示界面简单,不够人性化,需要通过Etheape来辅助显示。与Ethereal相比,Sniffer在某些方面做得不错。Sniffer拥有功能强大人工智能专家系统,能自动、实时监视网络,捕捉数据,识别网络配置,自动发现网络故障并进行告警并能指出故障发生的位置及性质。Sniffer也能对网络中的400多种协议进行解码并可以在全部七层OSI协议上进行解码;对每一层都提供了Summary、Detail、Hex等几种解码窗口或进行强制解码;提供了在线实时解码分析和在线捕捉,将捕捉的数据存盘后进行解码分析二种功能;可以通过饼图、直方图等多种方式对所获取的数据包进行分类显示或拓扑显示,使结果清晰明了。当然,Sniffer也存在不足之处,它只能抓取一个物理网段内的包,通信双方中间不能有路由或其他屏蔽广播包的设备,所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。 此外,现代网络常采用交换机作为网络连接设备枢纽,通常情况下,交换机不会让网络中每一台主机侦听到其他主机的通讯,此时Sniffer技术必须结合网络端口镜像技术进行配合,而衍生的安全技术则通过ARP欺骗来变相达到交换网络中的侦听。问题:在对所获得的数据包进行地址和目标地址分析时,为什么39所发送/接收的数据包的数量678比IP地址收发数据包的总数量675要大,目标地址分析却是合乎常理的呢?附:etherape使用方法Etherape也是一个图形化的网络嗅探器。与Ehtereal不同,EtherApe通过验证主机与主机之间的链接,图形化地显示网络目前所处的状态,它使用不同颜色的连线来表示位于不同主机之间的连接,而连线的粗细则表明主机间数据流量的大小,这些信息都是实时变化的,因而能够协助管理员随时了解到网络中各部分流量的变化情况。EtherApe的安装EhterApe支持Ethernet、FDDI和Token Ring等多种网络,能够实时地从网络或文件中读取网络流量的变化情况,此外它还可以将网络流量信息保存下来,以便在之后需要时再显示出来。在/projects/etherape/网站上可以下载到最新的EtherApe源码包。下面以Ethereal 0.8.2为例,讲述如何安装EtherApe(使用的操作系统是RedHat 8.0)。首先下载最新的源码包并将其解压缩,代码如下:# cp etherape-0.8.2.tar.gz/usr/local/src/# cd /usr/local/src/#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江黑河市逊克县乡村医生公开招聘19人模拟试卷及一套参考答案详解
- 2025年中国化工填料行业市场分析及投资价值评估前景预测报告
- 2025北京邮电大学第二批招聘38人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年河北唐山幼儿师范高等专科学校选聘工作人员35人模拟试卷及一套完整答案详解
- 2025年滨州市面向社会公开招聘硕博士高层次人才(168人)考前自测高频考点模拟试题及参考答案详解
- 2025年河北承德滦平县公开招聘社区工作者22名考前自测高频考点模拟试题完整参考答案详解
- 2025年烟台海阳市卫生健康局所属事业单位公开招聘高层次人才(46人)模拟试卷及答案详解(夺冠系列)
- 2025春季四川泸州市合江县事业单位人才招聘19人考前自测高频考点模拟试题附答案详解(典型题)
- 2025年第十三届贵州人才博览会黔东南州事业单位人才引进213人模拟试卷附答案详解(完整版)
- 2025湖南澄迈县农业技术推广中心招聘见习生7人模拟试卷含答案详解
- 2026厦门银行秋季校园招聘笔试备考题库及答案解析
- 接诉即办培训课件
- 2025年高压电工复审完整题库(附答案)
- 贷款居间合同免责协议6篇
- 建设工程监理合同(GF-2015-0212)2025版
- (零模)苏州市2026届高三年级期初阳光调研试卷 物理试卷(含答案)
- 老年人情绪管理课件
- 洁牙岗考试题及答案大全
- 泵站的运行与维护
- 经典资料:2025中国大学生就业调查报告
- 汽车电驱系统讲解
评论
0/150
提交评论