网络安全 频道

网络嗅探与监听的分析处理办法

  二. 活跃在局域网里的“耳朵”们

  由于前面说过的原因,嗅探技术不太能在公共网络设备上使用(仅指入侵行为的安装方式,因为网络管理员要在某个路由设备上设置监听是简单的事情),所以当今最普遍的嗅探行为并不是发生在Internet上的,而是各个或大或小的局域网,因为它很显然满足监听技术需要的条件:监听方与通讯方位于同一物理网络。

  1.写在前面:局域网内计算机通讯的概念和寻址

  要发生监听事件,就必须有至少两台计算机处于通讯状态,而监听的实质也是数据的传输,这就要求窃听者自身也处于通讯网络中,而实现局域网通讯的基础是以太网模型(Ethernet),它包括物理上的数据传输设备如网卡、集线器和交换机等,除此之外还需要逻辑上的软件、网络协议和操作系统支持,如网卡驱动程序、TCP/IP协议、NetBIOS协议、多种寻址和底层协议等,具备了这些条件,计算机才可以实现完整的通讯过程。

  那么局域网内的计算机通讯是怎么进行的呢?计算机系统要传输数据时,是严格按照IEEE802.3标准的局域网协议进行的,而且还要结合TCP/IP和OSI模型7层规范实施,所以数据是经过打包封装的,从高层到低层被分别加上相关数据头和地址,直至物理层把其转化为电平信号传送出去,而另一台计算机则是通过逆向操作把数据还原的,这就引发了一个问题:寻址问题。

  在局域网里,计算机要查找彼此并不是通过IP进行的,而是通过网卡MAC地址(也被称为以太网地址),它是一组在生产时就固化的全球优异标识号,根据协议规范,当一台计算机要查找另一台计算机时,它必须把目标计算机的IP通过ARP协议(地址解析协议)在物理网络中广播出去,“广播”是一种让任意一台计算机都能收到数据的数据发送方式,计算机收到数据后就会判断这条信息是不是发给自己的,如果是,就会返回应答,在这里,它会返回自身地址,这一步被称为“ARP寻址”。当源计算机收到有效的回应时,它就得知了目标计算机的MAC地址并把结果保存在系统的地址缓冲池里,下次传输数据时就不需要再次发送广播了,这个地址缓冲池会定时刷新重建,以免造成数据老旧和错误。当前活动的ARP表可以使用arp –a命令查看。

  话题回到数据被打包成为比特流的最后两层,在这里有一个关键部分被称为“数据链路层”,数据在网络层形成IP数据报,再向下到达数据链路层,由数据链路层将IP数据报分割为数据帧,增加以太网包头,再向下一层发送。以太网包头中包含着本机和目标设备的MAC地址,也就是说,链路层的数据帧发送时,是依靠以太网地址而非IP地址来确认的,网卡驱动程序不会关心IP数据报中的目标地址,它所需要的仅仅是MAC地址,而MAC地址就是通过前面提到的ARP寻址获得的。简单的说,数据在局域网内的最终传输目标地址是对方网卡的MAC地址,而不是IP地址,IP地址在局域网里只是为了协助系统找到MAC地址而已。

  而就是因为这个寻址结构,最终导致了监听实现的发生。

  那么,发生在Internet上的监听又是怎么进行的呢?Internet并不采用MAC地址寻址,因此不可能发生类似局域网内的监听案例,实际上,Internet上的监听是因为数据必须通过的路由网关路由设备被做了手脚,不属于本文讨论范围。

0
相关文章