![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 雁过留声 | 站长日记 | 网站论坛 | 苦菜花原创软件 | 在线游戏 | | ||
|
||
|
|||||
| 嗅探原理与反嗅探技术 | |||||
| 作者:福州电脑… 文章来源:本站原创 点击数: 更新时间:2007-8-6 | |||||
|
现在发送数据到网络。 所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其他一些机器。通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地MAC地址和自己的MAC地址,如果不相同,则适配器会丢弃这个结构。这个操作会由硬件来完成,所以,对于计算机内的程序来说,整个过程时毫无察觉的。 当路由器的以太网适配器发现这个结构后,它会读取网络信息,并且去掉前14个字节,跟踪4个字节。查找0x8000标记,然后对这个结构进行处理(它将根据网络状况推测出下一个最快路由节点,从而最快传送数据到预定的目标地址)。 设想,只有路由机器能够检查这个结构,并且所有其他的机器都忽略这个 结构,则嗅探器无论如何也无法检测到这个结构的。 MAC地址的格式是什么? 以太网卡的MAC地址是一组48比特的数字,这48比特分为两个部分组成,前面的24比特用于表示以太网卡的寄主,后面的24比特是一组序列号,是由寄主进行支派的。这样可以担保没有任何两块网卡的MAC地址是相同的(当然可以通过特殊的方法实现)。如果出现相同的地址,将发生问题,所有这一点是非常重要的。这24比特被称之为OUI(Organizationally Unique Identifier)。 可是,OUI的真实长度只有22比特,还有两个比特用于其他:一个比特用来校验是否是广播或者多播地址,另一个比特用来分配本地执行地址(一些网络允许管理员针对具体情况再分配MAC地址)。 举个例子,你的MAC地址在网络中表示为 03 00 00 00 00 01 。第一个字节所包含的值二进制表示方法为00000011。可以看到,最后两个比特都被置为真值。他指定了一个多播模式,向所有的计算机进行广播,使用了“NetBEUI”协议(一般的,在Windows计算机的网络中,文件共享传输等是不使用TCP/IP协议的)。. 我如何得到自己计算机的MAC地址? Win9x Win9x自带的这个程序将告诉你答案:“winipcfg.exe” WinNT 在命令行的状态下运行这个命令:"ipconfig /all" 它会显示出你的MAC网卡地址,下面是一个例子: Windows 2000 IP Configuration Host Name . . . . . . . . . . . . : bigball Primary DNS Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No Ethernet adapter 本地连接: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Legend/D-Link DFE-530TX PCI Fast Eth ernet Adapter (Rev B) Physical Address. . . . . . . . . : 00-50-BA-25-5D-E8 DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.10.254 Subnet Mask . . . . . . . . . . . : 255.255.128.0 Default Gateway . . . . . . . . . : 192.168.10.3 Ethernet adapter SC12001: Description . . . . . . . . : DEC DC21140 PCI Fast Ethernet Linux 运行“ifconfig”。结果如下: eth0 Link encap:Ethernet HWaddr 08:00:17:0A:36:3E inet addr:192.0.2.161 Bcast:192.0.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1137249 errors:0 dropped:0 overruns:0 TX packets:994976 errors:0 dropped:0 overruns:0 Interrupt:5 Base address:0x300 Solaris 用 “arp” 或者 “netstat -p” 命令 我如何才能知道有那些计算机和我的MAC地址直接关联? 对于WinNT和Unix机器,可以直接使用“arp -a”查看。 我能够改变我的MAC地址吗? 可以。简单的说一下: 第一种方法,你要做地址欺骗,因为MAC地址是数据包结构的一部分, 因此,当你向以太网发送一个数据包的时候,你可以覆盖源始的MAC信息。 第二种方法,很多网卡允许在一定的时间内修改内部的MAC地址。 第的三种方法, 你可以通过重新烧录EEPROM来实现MAC地址的修改。但是这种方法要求你必须有特定的硬件设备和适用的芯片才能修改,而且这种方法将永远的修改你的MAC地址。 反嗅探技术 我如何才能检测网内是否存在有嗅探程序? 理论上,嗅探程序是不可能被检测出来的,因为嗅探程序是一种被动的接收程序,属于被动触发的,它只会收集数据包,而不发送出任何数据,尽管如此,嗅探程序有时候还是能够被检测出来的。 一个嗅探程序,不会发送任何数据,但是当它安装在一台正常的局域网内的计算机上的时候会产生一些数据流。举个例子,它能发出一个请求,始DNS根据IP地址进行反相序列查找。 下面一种简单的检测方法: 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. 如果你看到了应答,说明这个MAC包没有被丢弃,也就是说,很有可能有嗅探器存在。 现在,这种方法已经得到了广泛的推崇和宣扬,新一代的黑客们也学会了在他们的代码中加入虚拟的MAC地址过滤器很多的计算机操作系统(比如Windows)都支持MAC过滤器(很多过虑器只检查MAC的第一个字节,这样一来,MAC地址FF-00-00-00-00-00和FF-FF-FF-FF-FF- FF就没有区别了。(广播地址消息会被所有的计算机所接收)。这种技术通常会用在交换模型的以太网中。当交换机发现一个未知的MAC地址的时候,它会执行类似“flood”的操作,把这个包发送给每个节点。 |
|||||
| 文章录入:福州电脑之家 责任编辑:福州电脑之家 | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | | |||
|