电脑技术学习

详解攻击中嗅探原理与反嗅探技术

dn001
  现在发送数据到网络。

  所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其他一些机器。通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地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地址。

标签: