5.网络嗅探与协议分析.pptx

上传人:少林足球 文档编号:4651229 上传时间:2019-11-24 格式:PPTX 页数:47 大小:1.21MB
返回 下载 相关 举报
5.网络嗅探与协议分析.pptx_第1页
第1页 / 共47页
5.网络嗅探与协议分析.pptx_第2页
第2页 / 共47页
5.网络嗅探与协议分析.pptx_第3页
第3页 / 共47页
5.网络嗅探与协议分析.pptx_第4页
第4页 / 共47页
5.网络嗅探与协议分析.pptx_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《5.网络嗅探与协议分析.pptx》由会员分享,可在线阅读,更多相关《5.网络嗅探与协议分析.pptx(47页珍藏版)》请在三一文库上搜索。

1、1 5. 网络嗅探与协议分析 央视每周质量报告演示- 刷上360测速器的排行榜 o 刷出50MB/s(400M)的网络“光速” o 刷上360测速器的排行榜 2 360测速器设计缺陷 o HTTP下载方式 n 从服务端得到固定的URL下载链接, n 没有对下载源进行加密传输和验证, n 容易受到DNAT、DNS劫持和下载缓存等干扰。 o P2P下载方式 n P2SP模块会选择宽带内部网络节点进行测试 n 因此可能造成测速虚高的问题 o 360的快速响应 n 当天发布回应,第二天发布新版本 3 如何分析360测速器的测速过程 o 网络嗅探与协议分析技术 o 开源网络嗅探与协议分析器-wiresh

2、ark 4 网络嗅探 o 网络嗅探(Sniff) n网络监听、网络窃听 n类似于传统的电话线窃听 o 网络嗅探技术定义 n利用计算机网络接口截获目的地为其他计算机的数据报文 n监听网络流中所包含的用户账户密码或私密信息等 o 网络嗅探器(Sniffer) n实现嗅探的软件或硬件设备 n嗅探获得数据二进制格式数据报文 n解析和理解二进制数据,获取各层协议字段和应用层传输数据 网络协议分析 5 6 网络嗅探的危害与作用 o 攻击者:内网渗透技术 n 窃取机密信息 n 为发起进一步攻击收集信息 o 防御者 n管理员可以用来监听网络的流量情况,定位网络故障 n为网络入侵检测系统提供底层数据来源基础 o

3、 其他作用 n开发网络应用的程序员可以监视程序的网络行为,排除 程序错误 网络嗅探技术与工具分类 o 链路层网络进行分类 n 以太网嗅探 n WiFi嗅探 n n 目前一些著名嗅探器支持多种链路层网络嗅探, wireshark*, Sniffer Pro o 工具形态 n 软件嗅探器 n 硬件嗅探器(协议分析仪): 专用设备, 速度快, 额外 功能(如流量记录与重放等), 价格昂贵 7 8 以太网的工作机制 o 载波侦听/冲突检测(CSMA/CD: 802.3, carrier sense multiple access with collision detection)技术 n载波侦听:是指

4、在网络中的每个站点都具有同等的权利 ,在传输自己的数据时,首先监听信道是否空闲 o 如果空闲,就传输自己的数据 o 如果信道被占用,就等待信道空闲 n而冲突检测则是为了防止发生两个站点同时监测到网络 没有被使用时而产生冲突 o 以太网采用了CSMA/CD技术,由于使用了广播 机制,所以,所有在同一媒介信道上连接的工作站 都可以看到网络上传递的数据 9 以太网卡的工作模式 o网卡的MAC地址(48位) n通过ARP来解析IP地址到MAC地址的映射 n用ipconfig/ifconfig可以查看MAC地址 o正常情况下,网卡应该只接收这样的包 nMAC地址与自己相匹配的数据帧 n广播包 o网卡完成

5、收发数据包的工作,两种接收模式 n混杂模式:不管数据帧中的目的地址是否与自己的地址匹配, 都接收下来 n非混杂模式:只接收目的地址相匹配的数据帧,以及广播数据 包(和组播数据包) o为了监听网络上的流量,必须设置为混杂模式 10 共享式网络和交换式网络 o共享式网络 n通过Hub(集线器)连接 n总线方式: 通过网络的所有数据包 发往每一个主机 n能够嗅探整个Hub上全部网络流量 o交换式网络 n通过Switch(交换机)连接 n由交换机构造一个“MAC地址-端口 ”映射表 n发送包的时候,只发到特定端口上 n只能监听同一端口上流量 n可通过流量映像口监听(SPAN) 交换式网络中的嗅探攻击

6、o MAC地址洪泛攻击 n向交换机发送大量虚构MAC地址和IP地址数据包 n致使交换机“MAC地址-端口映射表”溢出 n交换机切换入所谓的“打开失效”模式- “共享式” o MAC欺骗 n假冒所要监听的主机网卡,将源MAC地址伪造成目标主机的 MAC地址 n交换机不断地更新它的“MAC地址-端口映射表” n交换机就会将本应发送给目标主机的数据包发送给攻击者 o ARP欺骗 n利用IP地址与MAC地址之间进行转换时的协议漏洞 n攻击机通过ARP欺骗声称为嗅探目标主机甚至网关 11 802.11 (WiFi) 网络中的嗅探 o WiFi: 空中永不消逝的电波 o 802.11 定义了无线通讯标准的

7、物理层和Mac层 n802.11b(DSSS), 802.11a(OFDM), 802.11g(OFDM), 80211n(MIMO) nMAC:带冲突避免的载波侦听多路访问CSMA/CA o 802.11网络安全机制 n完全开放式: 无加密,可直接嗅探监听 nWEP: 存在缺陷的加密协议,可以很快破解并监听内容 nWPA/WPA2: 目前还算安全,但如果设置弱密码,也能被彩虹表 破解 o 课程8:详细介绍WiFi网络攻击 12 星巴克肯德基上免费WiFi的风险 13 网络嗅探技术的具体实现机理 o 网络嗅探的理论基础 n 以太网、WiFi网络所使用的共享传输介质 o 标准网络协议栈实现 n

8、控制网卡驱动只获取发往本机地址的数据包 o 网络嗅探技术实现 n 类Unix平台:BPF/libpcap n Windows平台:NPF/Winpcap o 网络嗅探软件工具 14 15 BPF(Berkeley Packet Filter) o BSD数据包捕获 nBPF是一个核心态的组件,支持数据包“过滤”抓取 nNetwork Tap接收所有的数据包 n BPF虚拟机机器语言的解释器,比较/算术等操作 nKernel Buffer,保存过滤器送过来的数据包 nUser buffer,用户态上的数据包缓冲区 o Libpcap(一个抓包工具库)支持BPF nLibpcap是用户态的一个抓包

9、工具 nLibpcap几乎是系统无关的 o BPF是一种比较理想的抓包方案 n在核心态,所以效率比较高 n目前类UNIX系统的标准抓包内核模块 16 BPF和libpcap 17 关于libpcap抓包库 o 用户态下的抓包库 o 系统独立的接口,C语言接口 n 多种其他高级编程语言包装接口: Perl, Python, Ruby, Tcl, Java, o 广泛应用于 n 网络统计软件 n 入侵检测系统 n 网络调试 o 支持过滤机制,BPF 18 BPF过滤器 o Man tcpdump (http:/www.tcpdump.org/tcpdump_man.ht ml) n善用过滤器规则是

10、网络报文分析的关键 o Examples: n达到某主机或从某主机发出的流量: tcpdump host HOST n每个TCP会话的首包和尾包(SYN包/FIN包): tcpdump tcptcpflags / pcap文件magic标识,0xa1b2c3d4 u_short version_major; / pcap文件版本号 u_short version_minor; / pcap文件小版本号 bpf_int32 thiszone; / 时区修正(未使用) bpf_u_int32 sigfigs; / 精确时间戳(未使用) bpf_u_int32 snaplen; / 抓包最大长度(抓

11、全数据包长度: 0x0000ffff,tcpdump缺省68) bpf_u_int32 linktype; / 链路层类型:一般都是1(以太网) ; struct pcap_pkthdr / 数据包捕获信息结构 struct timeval ts; / 捕获的时间戳 bpf_u_int32 caplen; / 捕获数据长度 bpf_u_int32 len; / 数据包长度 ; 20 Windows平台下的抓包技术 o 内核本身没有提供标准的接口 o 通过增加一个驱动程序或者网络组件来访问 内核网卡驱动提供的数据包 n 在Windows不同操作系统平台下有所不同 o 不同sniffer采用的技术

12、不同 n WinPcap是一个重要的抓包工具,它是 libpcap的Windows版本 21 WinPcap oWinPcap包括三个部分 n第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱 动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传 给用户态模块,这个过程中包括了一些操作系统特有的代码 n第二个模块packet.dll为win32平台提供了一个公共的接口。不同 版本的Windows系统都有自己的内核模块和用户层模块。 Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在 不同版本的Windows平台上,而无需重新编

13、译 n第三个模块 Wpcap.dll是不依赖于操作系统的。它提供了更加高 层、抽象的函数。 opacket.dll和Wpcap.dll npacket.dll直接映射了内核的调用 nWpcap.dll提供了更加友好、功能更加强大的函数调用 22 WinPcap和NPF 23 NPF在Windows网络结构中位置 o NDIS(Network Driver Interface Specification, 网络驱动接口规范)描述了网络驱动与底层网卡之间的接口 规范,以及它与上层协议之间的规范 o NPF作为一个核心驱动程序而提供的 24 WinPcap的优势 o 提供了一套标准的抓包接口 n 与

14、libpcap兼容,可使得原来许多类UNIX平 台下的网络分析工具快速移植过来 n 便于开发各种网络分析工具 o 除了与libpcap兼容的功能之外,还有 n 充分考虑了各种性能和效率的优化,包括对于 NPF内核层次上的过滤器支持 n 支持内核态的统计模式 n 提供了发送数据包的能力 网络嗅探器软件 o 类Unix平台网络嗅探器软件 n Libpcap*抓包开发函数库 n Tcpdump*以及wireshark*嗅探器软件 n Snort*、dsniff、sniffit和linux_sniffer o Windows平台网络嗅探器软件 n NPF/winpcap/windump n Sniff

15、erPro n Buttsniffer、NetMon、Network Associates Sniffer 25 Libpcap开发函数库 libpcap主要库函数函数功能描述 char *pcap_lookupdev(char *errbuf)获得一个网络设备名的指针 int pcap_lookupnet(const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf) 获得指定网络设备的IP地址和掩码 pcap_t *pcap_open_live(const char *device, int snaplen,

16、 int promisc, int to_ms, char *errbuf) 打开指定设备的网络捕获 int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask) 编译过滤规则 int pcap_setfilter(pcap_t *p, struct bpf_program *fp)设置一个过滤规则 int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user) 捕获主循环,用来捕获数

17、据包时用 的,当捕获了符合要求数据包之后就 交给回调函数callback来进行下一步 处理. 26 基于Libpcap实现简单的嗅探器 27 Tcpdump嗅探器软件 o 通用的命令行网络嗅探与数据包分析程序 o 绝大多数类Unix平台缺省安装 o 善用BPF过滤器规则 用好tcpdump的关键 o 实例:从源主机172.24.7.44向外连接的HTTP网络 流量情况 28 rootubuntu:$ sudo tcpdump src 172.24.7.44 and tcp dst port 80 tcpdump: verbose output suppressed, use -v or -vv

18、 for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 19:55:05.445585 IP ubuntu.local.34964 61.135.133.26.www: Flags ., ack 3492103045, win 5840, length 0 19:55:05.445726 IP ubuntu.local.34964 61.135.133.26.www: Flags P., seq 0:362, ack 1, win 5840, length 3

19、62 19:55:05.571886 IP ubuntu.local.34964 61.135.133.26.www: Flags ., ack 520, win 6432, length 0 . 13 packets captured 59 packets received by filter 网络嗅探的检测技术 o网卡和操作系统对于是否处于混杂模式会有一些不同的行为, 利用这些特征可以判断一个机器是否运行在混杂模式下 o一些检测手段 n根据操作系统的特征 oLinux内核的特性:正常情况下,只处理本机MAC地址或者以 太广播地址的包。在混杂模式下,许多版本的Linux内核只检查 数据包中的

20、IP地址以确定是否送到IP堆栈。因此,可以构造无效 以太地址而IP地址有效的ICMP ECHO请求,看机器是否返回应 答包(混杂模式),或忽略(非混杂模式)。 oWindows 9x/NT:在混杂模式下,检查一个包是否为以太广 播包时,只看MAC地址前八位是否为0xff。 n根据网络和主机的性能 o根据响应时间:向本地网络发送大量的伪造数据包,然后,看目 标主机的响应时间,首先要测得一个响应时间基准和平均值 29 L0pht的AntiSniff产品 30 31 网络嗅探技术的防范措施 o 采用安全的网络拓扑 n共享式网络交换式网络 n交换机上设置VLAN等技术手段,对网络进行合理的分段 o 共

21、享式以太网交换式以太网拓扑 n性能提升: 广播冲突域每台主机单独冲突域 n安全性提升: 较难被网络监听 n交换式网络提供安全性仍可能被挫败: ARP欺骗 o 静态ARP或者MAC-端口映射表代替动态机制 o 重视网络数据传输的集中位置点的安全防范 o 避免使用明文传输口令/敏感信息网络协议, 使用加密 协议 ntelnet ssh nIPSEC/TLS 作业 o 实验五 o 利用TCPDUMP进行数据包嗅探 32 网络协议分析 o 网络协议分析的粒度和层次 n原始数据包: 最细粒度、最低层次 n网络流(/会话): 通过5元组进行流(/会话)重组 o 5元组: sip, sport, dip,

22、dport, ipproto n网络流高层统计 o IP会话列表 o 目标端口流统计 o 网络报文分析工具 n集成工具: Wireshark n网络流重组: nstreams, snort n高层统计和摘要分析: Netflow, RRDTools 33 原始数据包粒度网络协议分析 o 对网络上传输的二进制格式数据包进行解析 ,以恢复出各层网络协议信息以及传输内容 的技术方法 34 网络协议分析技术实现 o 实现参考源码 nSnort中的网络解码器模块 ndecode.c/decode.h o 解析以太网数据帧 DecodeEthPkt n预处理:拆包前进行一些前期处理 n拆包:将当前得到的包

23、内存位置赋 给Packet数据结构中相应的指针 eh(EtherHdr)型的指针即可 n解析上层协议: switch语句,根 据ether_type分别调用相应的上 层协议解析例程 35 typedef struct _EtherHdr u_int8_t ether_dst6 ; u_int8_t ether_src6 ; u_int16_t ether_type ; EtherHdr ; DecodeEthPkt() in snort decode.c 36 DecodeEthPkt() in snort decode.c cond o PPPoE o IP o ARP, RARP o IP

24、v6 o IPX o 802.1Q 37 38 Wireshark* (ethereal) oWireshark (ethereal) n1998-2006: Ethereal oGerald Combs, University of Missouri-Kansas City n2006-now: wireshark oRenamed from Ethereal due to trademark issues oeWEEK Labs named Wireshark one of “The Most Important Open-Source Apps of All Time“ oWiresha

25、rk特性 n图形化界面/命令行(tshark) n在线/离线抓包(支持标准pcap二进制日志文件) n支持BPF过滤器 n支持分析几百种常见网络协议 n跨平台:类UNIX、Win32(依赖libpcap/WinPcap) 39 Wireshark界面 40 Wireshark基本功能 o抓包(Capture) nCapture Filter: BPF过滤器 o分析(Analyze) n自动协议解码: 支持数百种协议, 显示各层包头和内容字段 n灵活选择协议对网络流进行解码 Decode As o统计(Statistics) n协议分类(Protocol Hierarchy) n会话列表(Con

26、versations) o2层(以太网)/3层(IP)/4层(TCP,UDP) n会话终端(EndPoints) nI/O Graph: 随时间统计的流量曲线 n会话重组(Follow TCP/UDP Stream) 和会话图(Flow Graph) Wireshark中的两类过滤规则 o 嗅探过滤规则 n 支持BPF规则 n 用于嗅探抓包时的 过滤 o 显示过滤规则 n 用于在界面中选择 显示哪些数据包 n 与BPF规则有所 不同 41 42 流重组/会话重组 o流重组/会话重组 nTCP/UDP会话发送字节数可能很大 nIP包最大长度(64K-2064K) n以太网帧最大长度(1500-2

27、0=1480) n协议栈发送大量TCP/UDP报文时,必然分组传送 n流重组: 将同属于一个TCP/UDP会话的IP包负载按序重新 组装,还原应用层数据的过程 o流重组工具 nWireshark: Follow TCP/UDP Stream nnstreams: onstreams -f pcap_file nstreams.txt nSnort: oLog规则(snort.conf): log tcp any any any any (sid:1000001; session: printable;) osnort -r pcap_file l ./log -csnort.conf 43 网

28、络流记录和高层统计分析 oNetflow n定义了网络会话流记录的业界标准-Cisco oRFC 3334/3954/3955 nIP Flow Information Export (netflow v10)-IETF o网络流记录 n商业路由器、交换机支持Netflow日志输出 n开源软件: nfdump(支持Netflow标准), Argus o网络流分析 n基于pcap文件上的流重组和统计分析 oWireshark: 协议分类/会话列表 oSnifferPro nNetflow Analyzer: HP openview/cacti/nfsen Wireshark工具的演示 Demo:

29、 对FTP协议登录过程进行监听与协 议分析 Case: 对校园门户网站的监听与协议分析 使用参考教程: http:/ 68011ca300a6c390cf.html 44 对校园门户网站的监听和协议分析 o%7BactionForm.userid%7D=00XXXXXXXX o&%7BactionForm.password%7D=* 45 国内账号登录不安全的常见大型网站 46 网站类型HTTPS加密明文传输不安全 门户 /平台网易,搜狐,360腾讯腾讯 ,新浪,凤凰网, 邮箱QQ,网易,搜狐闪电邮 ,139,126 新浪邮邮箱,21CN,Foxmail 电商京东,淘宝,凡客,亚马 逊,当当,苏宁,国美 腾讯腾讯 拍拍,梦芭莎,马萨马 索,好乐买 , 银泰,麦考林,红孩子 社交网站/社区百度贴吧,豆瓣,网易微 博 人人网,开心网,新浪微博,腾讯腾讯 微博,天 涯,猫扑 团购全军军覆没!美团,高朋,聚美优品,糯米网,拉手 生活服务携程大众点评,艺龙 ,芒果网,去哪儿,赶集网 ,搜房网,58同城 IT技术OSChinaCSDN,ITEye,cnblogs,51cto 视频 /娱乐起点中文网优酷,土豆,爱奇艺,迅雷,PPS,铁血 银行/支付/基金 /证券 支付宝,财付通,快钱, 银联 ,招商,工商 中邮邮基金 等 课堂实践 47 o 实验六利用Wireshark分析数据包

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1