广大游戏玩家,系统管理员,深受sniff 科莱等互联网剖析软件,包捕捉,泄露密码信息的危险,无意找到的互联网混战模式检查工具,专门检查什么电脑装了包嗅探软件!!
网卡混杂模式的测试
下面大家举一个现实世界中的例子,说明大家测试处于混杂模式互联网节点的办法。设想一下,在一个会议室中正在举行一个会议。某个人把耳朵放在会议室就能进行窃听。当她进行窃听时,会屏住呼吸,安静地聆听会议室内所有些发言。然而,假如此时会议室内有人突然叫窃听者的名字:“XX太太”,她就可能答应“唉”。这听起来有点好笑,但完全可以用于互联网嗅探行为的测试。互联网进行互联网嗅探的节点会接收互联网的所有报文,因此其内核可能对某些本该被硬件过滤的分组作出错误回话。依据这个原理,大家可以通过检查节点对ARP报文的响应来测试互联网的嗅探行为。
unicast
网卡接收所有目的地址是我们的分组broadcast
接收所有广播分组,以太网广播分组的目的地址是FFFFFFFFFFFF。这种广播分组可以到达互联网上的所有节点。multicast
接收目的地址为指定多投点递交组地址的分组。网卡只接收其地址已经预先在多投点列表中注册的分组。all multicast
接收所有多投点递交广播分组。promiscuous
根本不检查目的地址,接收互联网上所有些分组。图-1描述了硬件过滤器处于在正常状况下和在混杂模式下有什么区别。一般,网卡的硬件过滤器被设置为接收目为单投点递交、广播和多投点递交地址1的分组。过滤器只接收目的地址为我们的地址、广播地址和多投点地址1的分组。
2).ARP机制
在下面的例子中,大家将讲述用ARP报文是如何分析IP地址的:
比如:互联网上一台IP地址为192.168.1.1的PC以太网地址是00-00-00-00-00-01,这台PC需要向互联网上另外一台IP地址为192.168.1.10的PC发送消息。在发送之前,X第一发出一个ARP请求包查看192.168.1.10对应的以太网地址。查看包的目的地址被设置为FF-FF-FF-FF-FF-FF,从而当地互联网上的所有节点都可以收到这个包。收到之后,每一个节点会检查这个ARP包查看的IP地址和本机的IP地址是不是匹配。假如不同,就忽视这个ARP包;假如匹配就向X发出应答。X收到应答之后就缓存Y的IP/硬件地址。然后,X就能向Y发送实质的数据。5.测试处于混杂模式的节点
上面讲到,报文的过滤状况是处于混杂模式状况和正常的互联网节点有什么区别。当网卡被设置为混杂模式,本该被过滤掉的报文就会进入系统的内核。通过这种机制,大家可以测试到互联网上处于混杂模式的节点:大家架构一个ARP查看包,其目的地址不是广播地址,然后向互联网上的每个节点发送这个ARP查看包,最后通过每个节点的回话来判断是不是处于混杂模式。
下面大家讨论一下整个ARP请求/响应的操作过程。第一,产生一个ARP查看包来分析192.168.1.10的硬件地址。为了使互联网上的所有节点都可以收到这个查看包,把这个包的目的地址设置为广播地址。理论上,只有IP地址为192.168.1.10的网卡才能对这个查看包进行响应。进一步设想,假如大家把这个查看包的目的地址设置为另外的地址,而不是原来的广播地址又将怎么样?比如:大家把查看包的目的地址设置为00-00-00-00-00-01会发生什么?处于正常模式下互联网节点的以太网卡会觉得这个查看包是发往其它主机的,其硬件过滤器会拒绝接收这个包;然而,假如这个互联网节点的以太网卡处于混杂模式下,那样即便以太网地址不匹配,其硬件过滤器也不进行任何过滤,从而使这个查看包可以进入到系统的内核。由于这个节点的IP地址和查看包的要查看IP地址相同,其内核就会觉得ARP查看包到达,应该作出应答。但,另大家吃惊的是,这个处于混杂模式节点的内核不会应答ARPR查看包。这种出人意料的结果说明这个包被系统内核过滤掉了。在这里大家把这叫作软件过滤器。
再进一步,大家可以通过不同硬件过滤器和软件过滤器的不同特点来测试处于混杂模式的互联网节点。硬件过滤器一般会阻塞所有无效的分组,因此可以通过硬件过滤器一般也可以通过软件过滤器,这样的情况大家不多做讨论。目前大家需要架构应该被被硬件过滤器阻塞,但却可以通过软件过滤器的报文。假如把这种报文送到每个互联网节点,那样处于普通模式下的互联网节点将不做应答;而处于混杂模式的节点会进行应答。在Linux的以太网驱动模块中,分组是以硬件地址分类的。
广播包FF FF FF FF FF FF
多投点分组
所有些分组都有一个组标志位集合,不包含广播分组。
TO_US分组目的地址和本机网卡相同的分组。
OTHERHOST分组
所有目的地址和本机网卡不一样的分组。
目前,大家假设具备组标志位的所有分组都是广播分组。IP互联网对应的以太网多投点分组的目的地址是01-00-5e-xx-xx-xx,而且,通过校验组标志位本来就不可以对多投点分组进行分类。这个假设并很好误,由于01-00-5e-xx-xx-xx是一个基于IP的多投点地址,但网卡硬件地址还用于其它高层协议。
下面,大家看一下ARP模块的代码。
ifgoto out;
Linux内核的ARP模块拒绝所有OTHERHOST种类的分组。接着,ARP模块将处置广播、多投点和TO_US种类的分组。表1综合了硬件过滤器和软件过滤器对各种ARP分组的过滤处置,1说明:hw、sw、res.、gr。下面,后大家将对这六硬件地址的分组进行详细描述:
TO_US
网卡在正常模式下,所有地址为TO_US的分组都可以通过精简过滤器和软件过滤器。因此,不管网卡是不是处于混杂模式下,ARP模块都会对其进行响应。OTHERHOST
当网卡处于正常模式下,会拒绝所有地址为OTHERHOST的分组。即便网卡处于混杂模式,这种分组也没办法通过软件过滤器,因此这种ARP请求不会收到响应。BROARDCAST
在正常模式下,BROARDCAST分组可以也可以通过硬件和软件过滤器,因此不可以用于互联网节点混杂模式的测试。MULTICAST
在正常模式下,假如分组的硬件地址没在多投点地址列表中注册,网卡将拒绝接收;但,假如网卡处于混杂模式,这种分组将畅通无阻地穿过硬件过滤器和软件过滤器。因此,可以用这类的分组来测试处于混杂模式的互联网节点。group bit
这类的分组既不是BRODCAST种类也不是MULTICAST种类,但其硬件地址的组地方位即:01-00-00-00-00-00。在正常模式下,网卡会拒绝接收此类分组;但在混杂模式下,这类的分组可以通过硬件过滤器。而在Linux内核中,这类的分组被归类为多投点分组进行处置,可以穿过软件过滤器。因此,这类的分组也可以用于混杂模式测试。2).Micro$oft Windows
Windows系统不是开放网站源码系统,因此不可以从源码剖析其软件过滤行为。只好由实验来测试。在实验中,大家用了以下的硬件地址:FF-FF-FF-FF-FF-FF 广播地址
所有些互联网节点都会接收这种分组。一般的ARP查看包用这个地址。
FF-FF-FF-FF-FF-FE 伪广播地址FF-FF-FF-FF-FF-FE是一种伪广播地址,它的最后一位丢失。这个地址被用来检查软件过滤器是不是检查所有些地址位,是不是应答。
FF-FF-00-00-00-00-00 16位伪广播地址FF-FF-00-00-00-00-00只有前16位和真的的广播地址相同。假如过滤器函数只测试广播地址的第一个字,这个地址就能归入广播地址。
FF-00-00-00-00-00 8位伪广播地址这个地址只有前8位和广播地址相同,假如过滤器函数只检查广播地址的首字节,它也可以归入广播地址类。
01-00-00-00-00-00 多投点标记置位地址这个地址只有多投点标记位被置位,用来检查过滤器函数是不是也象Linux一样把它作为多投点地址处置。
01-00-5E-00-00-00 多投点地址0多投点地址0并不常用,因此大家用这个地址作为没在网卡多投点地址列表中注册的多投点地址。正常状况下,硬件过滤器应该拒绝接收这种分组。但,假如软件过滤器不可以检查所有些地址位,这种分组就可能被归类到多投点地址。因此,假如网卡处于混杂模式,内核就会进行应答。
01-00-5E-00-00-01 多投点地址1局域网上的所有互联网节点都要接收多投点地址1种类的分组。换句话说,默认状况下硬件过滤器允许这种分组通过。但可以因为网卡不支持多投点模式而不应答。因此,这种分组可以用于检查主机是不是支持多投点地址。
即便结果:对于这7类型型地址的测试结果如表2所示。测试是针对Windows85/98/ME/2000和Linux。不出所料,网卡处于正常模式下,内核会对所有地址为广播地址和多投点地址1的分组进行回话。
然而,当网卡处于混杂模式下时,每种操作系统的测试结果不尽相同。Windows95/98/ME会响应31、16、8位伪广播地址的分组。因此,大家可以觉得Window9x系列操作系统的软件过滤器只通过测试一位来判断分组地址是不是是广播地址。Windows2000对地址为31、16位伪广播地址的分组进行响应。因此,大家可以觉得WindowsY2K检查地址的8位来判断分组地址是不是为广播地址。
Linux内核对所有七种地址的分组都会进行响应。1).大家需要测试IP地址A的主机是不是处于混杂模式。大家第一需要架构如下格式的ARP分组和以太网帧:
ARP分组:
目的以太网地址 00 00 00 00 00 00发送方以太网地址 00 11 22 33 44 55
高层协议种类 08 00硬件种类 00 01
硬件地址长度 06IP地址长度 04
发送方的IP地址 本机IP地址目的的IP地址 被测试主机的IP地址
ARP操作码 00 01以太网帧:
协议种类 08 06
发送方的硬件地址 本机以太网卡地址目的硬件地址 FF FF FF FF FF FE
说明1:这个时候ARP要查看的以太网地址,全部填0或者1都可以。
说明2:用我们的以太网地址代替。2).分组架构完成后,大家可以把它发送到互联网上。
3).目前大家需要等待目的主机的反应。假如目的主机处于正常状况,这个分组就会被阻塞;但假如处于混杂模式下,大家就会收到应答。
1).旧网卡
有的旧网卡不支持多投点列表,比如:3COM EtherlinkIII。分组不经过硬件过滤器的检查就进入软件过滤器,
2).3COM网卡
安装在LInux主机的3COM 3c905网卡,默认状况下被设置为接收所有些多投点分组。因此,大家没办法不同混杂模式和多投点模式。导致这种异常是什么原因这种网卡的Linux驱动模块不支持多投点列表,网卡就会接收所有多投点分组。注意:Linux安装程序用3c59x.o作为这种网卡的驱动模块。假如把驱动模块改为3c905x.o可以解决这个问题。3).Windows Y2K分组捕获驱动模块
当WindowsY2K分组捕获驱动模块是动态加载的,也会产生异常状况。WinPcap2.1和SMS是用于WindowsY2K的两种动态加载分组捕获驱动模块。当它们安装到WindowsY2K系统中,会有一些特别的反应。即便网卡不处于混杂模式下,也会对地址为16为伪广播地址的分组进行响应。也就是说,即便嗅探器没运行也照样可以测试到。可能是Micro$oft为了便捷混杂模式的测试有意为之。
TAG标签:网卡(2)
转载请说明来源于谷普绿色软件(https://www.guixh.com)
本文地址:https://www.guixh.com/soft/2717.html
郑重声明:文章来源于网络作为参考,本站仅用于分享不存储任何下载资源,如果网站中图片和文字侵犯了您的版权,请联系我们处理!邮箱3450399331@qq.com