一、实验原理
1、网络嗅探
(1)技术定义:
网络嗅探是一种黑客常用的窃听技术。与传统的电话窃听相类似,网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。
实现网络嗅探技术的工具称为网络嗅探器。嗅探器捕获的数据报文是经过封包处理之后的二进制数据。因此,通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容。以及实际发送的应用程序信息。
网络嗅探技术按照所监听的链路层网络分为:以太网和Wi-Fi。
(2)原理:
以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。
以太网在部署局域网时分为共享式网络与交换式网络。共享式网络使用集线器连接;交互式网络使用交换机组件,数据通过交换机转发。
集线器的工作模式决定了同一集线器上连接的所有主机在发送数据包时,都会发往每一台主机,因此任一主机都能嗅探整个集线器上的全部网络流量。
交换机对每一个收到的数据帧根据映射表进行转发处理,发送至特定端口。这种方式可以减少网络被嗅探的风险。不过还是可以通过以下三种方式嗅探:(1)MAC地址洪泛攻击 ;(2)MAc地址欺骗;(3)ARP欺骗。
(3)相关工具:
类Unix平台下的嗅探软件:libpcap抓包开发库、tcpdump、wireshark和dsniff、sniffit等。
windows平台下的嗅探软件:wireshark、snifferPro等。
2、网络协议分析
(1)协议分析原理:
对网络上传输的二进制数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
网络协议分析技术的流程如下:
(1)通过嗅探得到链路层传输的二进制数据包(大多是以太网数据帧);
(2)对以太网帧进行结构分析确定网络层协议类型并提取数据帧包含的网络层数据内容;
(3)进一步对IP数据包进行分析,确定传输层协议类型,并提取IP数据包中的传输数据内容;
(4)然后根据TCP或UDP端口确定具体的应用层协议,并对TCP或UDP数据包重组,得到应用层特定协议的应用交互内容;
(5)最后依据相应的应用层协议对数据进行整合恢复,得到实际传输数据。
(2)技术应用:
在开源的软件如tcpdump、wireshark、snort中都有相应源码实现。
Snort网络协议分析处理过程如下:(1)解析以太网数据帧;(2)解析IP数据包 ;(3)解析TCP数据包。
上述的三个解析过程都可以分为三个部分:(1)预处理; (2)拆包; (3)解析。
二、实验内容
1、动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
2、动手实践Wireshark
使用Wireshark开源软