资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,网络信息对抗,网络信息对抗,第三章:网络嗅探与协议分析,提纲,网络嗅探技术,课堂实践:使用,Sniffer Pro,网络协议分析技术,课堂实践:使用,Wireshark,作业,“,墙有耳,伏寇在侧。墙有耳者,微谋外泄之谓也。,”,春秋,管仲,管子,君臣下,网络嗅探,网络嗅探,(Sniff),网络监听、网络窃听,类似于传统的电话线窃听,网络嗅探技术定义,利用计算机网络接口截获目的地为其他计算机的数据报文,监听网络流中所包含的用户账户密码或私密信息等,网络嗅探器,(Sniffer),实现嗅探的软件或硬件设备,嗅探获得数据二进制格式数据报文,解析和理解二进制数据,获取各层协议字段和应用层传输数据网络协议分析,网络嗅探的危害与作用,攻击者:内网渗透技术,窃取机密信息,为发起进一步攻击收集信息,防御者,管理员可以用来监听网络的流量情况,定位网络故障,为网络入侵检测系统提供底层数据来源基础,其他作用,开发网络应用的程序员可以监视程序的网络情况,网络嗅探技术与工具分类,链路层嗅探分类,以太网嗅探,WiFi,嗅探,目前一些著名嗅探器支持多种链路层网络嗅探,,wireshark,Sniffer Pro,工具形态,软件嗅探器,硬件嗅探器,(,协议分析仪,):,专用设备,速度快,额外功能,(,如流量记录与重放等,),价格昂贵,以太网工作原理,载波侦听,/,冲突检测,(CSMA/CD:802.3,carrier sense multiple access with collision detection),技术,载波侦听:是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲,如果空闲,就传输自己的数据,如果信道被占用,就等待信道空闲,而冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突,以太网的,CSMA/CD,技术,采用广播机制,所有在同一媒介信道上连接的工作站都可以看到网络上传递的数据,以太网工作模式,网卡的,MAC,地址,(48,位,),通过,ARP,来解析,MAC,与,IP,地址的转换,用,ipconfig/ifconfig,可以查看,MAC,地址,正常情况下,网卡应该只接收这样的包,MAC,地址与自己相匹配的数据帧,广播包,网卡完成收发数据包的工作,两种接收模式,混杂模式:不管数据帧中的目的地址是否与自己的地址匹配,都接收下来,非混杂模式:只接收目的地址相匹配的数据帧,以及广播数据包,(,和组播数据包,),为了监听网络上的流量,必须设置为混杂模式,局域网类型,共享式网络,通过,Hub(,集线器,),连接,总线方式,:,通过网络的所有数据包发往每一个主机,能够嗅探整个,Hub,上全部网络流量,交换式网络,通过,Switch(,交换机,),连接,由交换机构造一个,“,MAC,地址,-,端口,”,映射表,发送包的时候,只发到特定端口上,只能监听同一端口上流量,可通过流量映像口监听,(SPAN),交换式网络的嗅探攻击,MAC,地址洪泛攻击,向交换机发送大量虚构,MAC,地址和,IP,地址数据包,致使交换机,“,MAC,地址,-,端口映射表,”,溢出,交换机切换入所谓的,“,打开失效,”,模式,-,“,共享式,”,MAC,欺骗,假冒所要监听的主机网卡,将源,MAC,地址伪造成目标主机的,MAC,地址,交换机不断地更新它的,“,MAC,地址,-,端口映射表,”,交换机就会将本应发送给目标主机的数据包发送给攻击者,ARP,欺骗,利用,IP,地址与,MAC,地址之间进行转换时的协议漏洞,应用程序抓包技术,类,Unix,平台提供了标准的,API,支持,内核态,:BPF(Berkeley Packet Filter),用户态函数库:,libpcap,用户态嗅探程序:,tcpdump,等,Windows,平台通过驱动程序来抓取数据包,驱动程序,:NPF(NetGroupPacket Filter),用户态函数库:,winpcap,用户态嗅探程序:,windump,等,BPF(Berkeley Packets Filter),BSD,数据包捕获,BPF,是一个核心态的组件,支持数据包,“,过滤,”,抓取,Network Tap,接收所有的数据包,BPF,虚拟机机器语言的解释器,比较,/,算术等操作,Kernel Buffer,,保存过滤器送过来的数据包,User buffer,,用户态上的数据包缓冲区,Libpcap(,一个抓包工具库,),支持,BPF,Libpcap,是用户态的一个抓包工具,Libpcap,几乎是系统无关的,BPF,是一种比较理想的抓包方案,在核心态,所以效率比较高,目前类,UNIX,系统的标准抓包内核模块,BPF,与,Libpcap,Libpcap,抓包库,用户态下的抓包库,系统独立的接口,,C,语言接口,多种其他高级编程语言包装接口,:Perl,Python,Ruby,Tcl,Java,广泛应用于,网络统计软件,入侵检测系统,网络调试,支持过滤机制,,BPF,Windows,平台的抓包技术,内核本身没有提供标准的接口,通过增加一个驱动程序或者网络组件来访问内核网卡驱动提供的数据包,在,Windows,不同操作系统平台下有所不同,不同,sniffer,采用的技术不同,WinPcap,是一个重要的抓包工具,它是,libpcap,的,Windows,版本,Winpcap,WinPcap,包括三个部分,第一个模块,NPF(Netgroup Packet Filter),:是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码,第二个模块,packet.dll,:为,win32,平台提供了一个公共的接口。不同版本的,Windows,系统都有自己的内核模块和用户层模块。,Packet.dll,用于解决这些不同。调用,Packet.dll,的程序可以运行在不同版本的,Windows,平台上,而无需重新编译,第三个模块,Wpcap.dll,:是不依赖于操作系统的。它提供了更加高层、抽象的函数。,packet.dll,和,Wpcap.dll,packet.dll,直接映射了内核的调用,Wpcap.dll,提供了更加友好、功能更加强大的函数调用,Winpcap,与,NPF,NPF,在,Windows,网络结构中的位置,NDIS(Network Driver Interface Specification,,网络驱动接口规范,),描述了网络驱动与底层网卡之间的接口规范,以及它与上层协议之间的规范,NPF,作为一个核心驱动程序而提供的,Winpcap,优势,提供了一套标准的抓包接口,与,libpcap,兼容,可使得原来许多类,UNIX,平台下的网络分析工具快速移植过来,便于开发各种网络分析工具,除了与,libpcap,兼容的功能之外,还有,充分考虑了各种性能和效率的优化,包括对于,NPF,内核层次上的过滤器支持,支持内核态的统计模式,提供了发送数据包的能力,网络嗅探软件,类,Unix,平台网络嗅探器软件,Libpcap*,抓包开发函数库,Tcpdump*,以及,wireshark*,嗅探器软件,Snort*,、,dsniff,、,sniffit,和,linux_sniffer,Windows,平台网络嗅探器软件,NPF/winpcap/windump,SnifferPro,Buttsniffer,、,NetMon,、,Network Associates Sniffer,网络嗅探的检测技术,网卡和操作系统,对于是否处于混杂模式会有一些不同的行为,利用这些特征可以判断一个机器是否运行在混杂模式下,一些检测手段,根据操作系统的特征,Linux,内核的特性:正常情况下,只处理本机,MAC,地址或者以太广播地址的包。在混杂模式下,许多版本的,Linux,内核只检查数据包中的,IP,地址以确定是否送到,IP,堆栈。因此,可以构造无效以太地址而,IP,地址有效的,ICMP ECHO,请求,看机器是否返回应答包,(,混杂模式,),,或忽略,(,非混杂模式,),。,Windows 9x/NT,:在混杂模式下,检查一个包是否为以太广播包时,只看,MAC,地址前八位是否为,0 xff,。,根据网络和主机的性能,根据响应时间:向本地网络发送大量的伪造数据包,然后,看目标主机的响应时间,首先要测得一个响应时间基准和平均值,LOpht,的,AntiSniff,产品,网络嗅探技术的防范措施,采用安全的网络拓扑,共享式网络交换式网络,交换机上设置,VLAN,等技术手段,对网络进行合理的分段,共享式以太网交换式以太网拓扑,性能提升,:,广播冲突域每台主机单独冲突域,安全性提升,:,较难被网络监听,交换式网络提供安全性仍可能被挫败,:ARP,欺骗,静态,ARP,或者,MAC-,端口映射表代替动态机制,重视网络数据传输的集中位置点的安全防范,避免使用明文传输口令,/,敏感信息网络协议,使用加密协议,telnet,ssh,IPSEC/TLS,提纲,网络嗅探技术,课堂实践:使用,Sniffer Pro,网络协议分析技术,课堂实践:使用,Wireshark,作业,课堂实践,使用,Sniffer Pro,开源软件对在本机上访问网站过程进行嗅探,回答问题:你在访问网站首页时,浏览器将访问多少个,Web,服务器?他们的,IP,地址都是什么?,提纲,网络嗅探技术,课堂实践:使用,Sniffer Pro,网络协议分析技术,课堂实践:使用,Wireshark,作业,网络协议分析,网络协议分析的粒度和层次,原始数据包,:,最细粒度、最低层次,网络流,(/,会话,):,通过,5,元组进行流,(/,会话,),重组,5,元组,:sip,sport,dip,dport,ipproto,网络流高层统计,IP,会话列表,目标端口流统计,网络报文分析工具,集成工具,:Wireshark,网络流重组,:nstreams,snort,高层统计和摘要分析,:Netflow,RRDTools,原始数据包粒度网络协议分析,对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法,网络协议分析技术实现,实现参考源码,Snort,中的网络解码器模块,decode.c/decode.h,解析以太网数据帧,DecodeEthPkt,预处理:拆包前进行一些前期处理,拆包:将当前得到的包内存位置赋给,Packet,数据结构中相应的指针,eh(EtherHdr),型的指针即可,解析上层协议:,switch,语句,根据,ether_type,分别调用相应的上层协议解析例程,WireShark,(,Ethereal,),Wireshark(Ethereal),1998-2006:Ethereal,Gerald Combs,University of Missouri-Kansas City,2006-now:wireshark,Renamed from Ethereal due to trademark issues,eWEEKLabs named Wireshark one of The Most Important Open-Source Apps of All Time,“,Wireshark,特性,图形化界面,/,命令行,(tshark),在线,/,离线抓包,(,支持标准,pcap,二进制日志文件,),支持,BPF,过滤器,支持分析几百种常见网络协议,跨平台:类,UNIX,、,Win32(,依赖,libpcap/WinPcap),WireShark,界面,WireShark,基本功能,抓包,(Capture),Capture Filter:BPF,过滤器,分析,(Analyze),自动协议解码,:,支持数百种协议,显
展开阅读全文