论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
2.2 网络监听
2.2.1 网络监听的定义
众所周知,电话可以进行监听,无线电通讯可以监听,而网络使用的数字信号在线路上传输时,同样也可以监听。网络监听也叫嗅探器,其英文名是Sniffer,即将网络上传输的数据捕获并进行分析的行为。[③]
网络监听,在网络安全上一直是一个比较敏感的话题,作为一种发展比较成熟的技术,监听在协助网络员监测网络传输数据,排除网络故障等方面具有不可替代的作用,因而一直备受网络管理员的青睐。然而,在另一方面网络监听也给网络安全带来了极大的隐患,许多的网络入侵往往都伴随着网络监听行为,从而造成口令失窃,敏感数据被截获等连锁性安全事件。
2.2.2 网络监听的基本原理
局域网中的数据是以广播方式发送的,局域网中的每台主机都时刻在监听网络中传输的数据,主机中的网卡将监听到的数据帧中的MAC地址与自己的MAC地址进行比较,如果两者相同就接收该帧,否则就丢掉该帧。如果把对网卡进行适当的设置和修改,将它设置为混杂模式,在这种状态下它就能接收网络中的每一个信息包。网络监听就是依据这种原理来监测网络中流动的数据。
2.2.3 网络监听的检测
2.2.3.1 在本地计算机上进行检测
(1)检查网卡是否处于混杂模式。可以利用一些现成的工具软件来发现,例如:AntiSniff,ARP 探测技术。也可以编写一些程序来实现。在Linux 下,有现成的函数,比较容易实现,而在Windows平台上,并没有现成的函数来实现这个功能,要自己编写程序来实现。可以利用一些现成的工具软件来发现,例如:AntiSniff,ARP探测技术。也可以编写一些程序来实现。在Linux下,有现成的函数,比较容易实现,而在Windows 平台上,并没有现成的函数来实现这个功能,要自己编写程序来实现。
(2)搜索法。在本地主机上搜索所有运行的进程,就可以知道是否有人在进行网络监听。在Windows系统下,按下Ctrl+Alt+Del可以得到任务列表,查看是否有监听程序在运行。如果有不熟悉的进程,或者通过跟另外一台机器比较,看哪些进程是有可能是监听进程。
2.2.3.2 在其它计算机上进行检测
(1)观察法。如果某台电脑没有监听的话,无论是信息的传送还是电脑对信息的响应时间等方面都是正常的,如果被监听的话,就会出现异常情况。我们可以通过观察一些异常情况来判断电脑是否有被监听。
网络通讯掉包率是否反常地高。例如ping命令会显示掉了百分几的信息包。如果网络中有人在监听,就会拦截每个信息包,从而导致信息包丢包率提高。
网络带宽是否出现反常。如果某台计算机长时间的占用了较大的带宽,对外界的响应很慢,这台计算机就有可能被监听。
机器性能是否下降。向网上发大量不存在的地址的包,而监听程序往往就会将这些包进行处理,这样就会导致机器性能下降,可以用icmp echo delay 来判断和比较它。
(2)PING 法。这种检测原理基于以太网的数据链路层和TCP/IP 网络层的实现,是一种非常有效的测试方法。
ping法的原理:如果一个以太网的数据包的目的MAC 地址不属于本机,该包会在以太网的数据链路层上被抛弃,无法进入TCP/IP 网络层;进入TCP/IP 网络层的数据包,如果解析该包后,发现这是一个包含本机ICMP 回应请示的TCP 包(PING 包),则网络层向该包的发送主机发送ICMP 回应。
我们可以构造一个PING 包,包含正确的IP 地址和错误的MAC 地址,其中IP 地址是可疑主机的IP地址,MAC 地址是伪造的,这样如果可疑主机的网卡工作在正常模式,则该包将在可疑主机的以太网的数据链路层上被丢弃,TCP/IP 网络层接收不到数据因而也不会有什么反应。如果可疑主机的网卡工作在混杂模式,它就能接收错误的MAC 地址,该非法包会被数据链路层接收而进入上层的TCP/IP 网络层,TCP/IP 网络层将对这个非法的PING 包产生回应,从而暴露其工作模式。