也就无法正常进行了。 MAC地址可以被盗用的直接原因是网卡驱动程序发送Ethernet报文的实现机制。Ethernet报文中的源MAC地址是驱动程序负责填写的,但驱动程序并不从网卡的EEPROM中读取MAC,而是在内存中建立一个MAC地址缓存区。网卡初始化的时候将EEPROM中的内容读入到该缓存区。如果将该缓存区中的内容修改为用户设置的MAC地址,以后发出去的Ethernet报文的源地址就是修改后的MAC地址了。 如果仅仅是修改MAC地址,地址盗用并不见得能够得逞。Ethernet是基于广播的,Ethernet网卡都能监听到局域网中传输的所有报文,但是网卡只接收那些目的地址与自己的MAC地址相匹配的Ethernet报文。如果有两台具有相同MAC地址的主机分别发出访问请求,而这两个访问请求的响应报文对于这两台主机都是匹配的,那么这两台主机就不只接收到自己需要的内容,而且还会接收到目的为另外一台同MAC主机的内容。 按理说,两台主机因为接收了多余的报文后,都应该无法正常工作,盗用马上就会被察觉,盗用也就无法继续了;但是,在实验中地址被盗用之后,各台实验设备都可以互不干扰的正常工作。这又是什么原因呢?答案应该归结于上层使用的协议。 目前,网络中最常用的协议是TCP/IP协议,网络应用程序一般都是运行在页码:[1] [2] [3] [4] [5] [6] [7] [8] 第6页、共8页 |