数据包与流量分析

上传人:壹****1 文档编号:568031963 上传时间:2024-07-23 格式:PPT 页数:47 大小:1.19MB
返回 下载 相关 举报
数据包与流量分析_第1页
第1页 / 共47页
数据包与流量分析_第2页
第2页 / 共47页
数据包与流量分析_第3页
第3页 / 共47页
数据包与流量分析_第4页
第4页 / 共47页
数据包与流量分析_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数据包与流量分析》由会员分享,可在线阅读,更多相关《数据包与流量分析(47页珍藏版)》请在金锄头文库上搜索。

1、第一章 协议简介n 更新时间:2010/02/06一、TCP协议简介nTCP(Transmission Control Protocol)的简写,中文译名为传输控制协议 。位于OSI中的传输层。n传输层主要为两台主机上的应用程序提供端到端的通信。在 TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议) 。nTCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。n像我们平时使

2、用浏览器打开网站,远程桌面连接都使用TCP协议。1. TCP连接的建立n建立一个 tcp连接,需要建立三次握手,看左图:nclient第一次发送一个带有SYN标志位的包到达server,server回应SYN,ACK标志位,最后client回应ACK,连接建立完成。2. TCP数据的传输nTcp将应用进程交付给自己的数据分成很多小数据段,每个数据段的最大值是MSS(Maxitum Segment Size,最大传输大小的缩写),这个值可在带有标志位SYN的包中看到。nMSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建 立连接的时候通常要协商双方的MSS值,这

3、个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的 包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。 nTCP对每次发达的数据段,都带有一个序列号,对方收到此数据会对此数据进行确认,表明这部分我已经收到了,同时表示我想下次收到某一个序列号的数据段。因为这样,所以TCP才提供了可靠的数据流传输,如果其中某个数据段丢失了,却等了一段时间之后还没有收到对此数据的确认,它会重新再传一份过去。直到收到对此数据段的确认为止。n而UDP没有这种对数据段的确认功能。3. TCP连接的终止n

4、在client,server之间的数据传输完成后,会有一方主动请求终止这个tcp连接。n假设server主动终止tcp连接:nserver会发送带有FIN标志位的包到达client,client收到这个FIN包后,回应ACK包对这个FIN包确认,接着client也发送FIN到server,server收到后也发送确认ACK。n当然FIN和ACK也可以在一个包一同发送过去。4. TCP状态变迁图n左边图是从进程开始closed,到监听,到完成一系列的连接后,client 和server中tcp的状态变化图。二、HTTP协议简介n超文件传输协议(HTTP,HyperText Transfer Pr

5、otocol)是互联网上应用最为广泛的一种网络传输协议。 nWeb的应用层协议HTTP是Web的核心。HTTP在Web的客户程序和服务器程序中得以实现。运行在不同端系统上的客户程序和服务器程序通过交换 HTTP消息彼此交流。HTTP定义这些消息的结构以及客户和服务器如何交换这些消息。 n我们每天看网站,新闻,论坛,视频网站,基本上都是通过浏览器来实现的,但浏览器底层就是使用HTTP协议与服务器传输数据的。nHTTP协议目前有两个版本1.0和1.1,大部分浏览器默认使用HTTP 1.1。n它是一种应用层协议,在TCP协议之上。n如:当打开 时,浏览器发送一个带有HTTP协议头的包到达sina服务

6、器,服务器回应的数据都带有HTTP头数据,再加上真正的网站数据。但它还是要通过TCP帮它传输自身的,HTTP头加上HTTP数据,在TCP那儿看来,还是TCP的数据部分。(后在数据包分析有讲)HTTP协议传输过程nClient首先和Server建立tcp连接,然后client发送请求,server回应请求; client再发送请求,server再回应请求;如此重复的下去,直到client或server 主动终止连接。三、UDP协议简介nUDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息

7、传送服务。 nUDP是无连接的,所以不存在建立三次握手,客户端只要发送一个udp数据到服务器,数据部分带有请求部分,服务器接受到了就会且个应答。nUDP是个不可靠的连接,目前网络还用它的原因是: 它有时传输的更快,简单。nDNS 域名解析就是一个例子,视频聊天室传输视频也是。四、DNS协议简介nDNS是域名系统(DomainNameSystem)的缩写 ,该系统用于命名组织到域层次结构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在 Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet

8、等TCP/IP网络中,通过用户友 好的名称查找计算机和服务。DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库。 n简单说就是将网站名字翻译成ip地址的。n平时的网站都是 这些名字,但网络连接这些网站时,是以ip地址来连接,如果让你访问 记住要用61.172.201.194这个ip去登陆,你记得住吗,网站那么多,你能记得住几个ip地址?n这就是每台上网的电脑中要设置dns服务器地址的原因。n当你在浏览器输入,浏览器就会向你电脑中设置的dns地址,发送一个dns请求,请求的内容是”的ip是多少”,dns服务器收到后,会将对应的ip地址回应给浏览器,浏览器才会向这

9、个ip地址发送tcp 的连接。n如果dns解析不出ip地址,那你的网站通过域名也就没法打开了。第二章 协议分析仪n本章主要讲解协议分析仪(数据包分析软件)的基本使用。n下面以ethereal软件为例:一、Ethereal使用 nEthereal简介:n下载地址:(http:/ ethereal是一款基于tcpdump的开源GUI数据包嗅探分析软件,支持UNIX、GNU/Linux、Windows、类BSD等操作系统。软件界面捕获过滤器n含义:n 就对要获取的数据定义一个捕获条件,因为你可能只对tcp数据包感兴趣,所以没有必要将其它协议的数据捕获下来。捕获过滤器简单语法n如果只想捕获UDP协议,

10、填udp就可以了.n如果想捕获dns数据,填udp port 53n如果想捕获访问网站数据,填tcp port 80n如果想捕获192.168.1.2数据,填host 192.168.1.2n如果想捕获arp数据,填arpn如果想捕获arp和tcp数据,填arp | tcp显示过滤器n含义: 如果像之前已经只捕获了tcp和udp的数据,但可能还需要只看tcp数据中的某部分数据,如只看192.168.1.2这个ip的数据,这里就要用到显示过滤器了。它是从已经捕获到的数据中再次过滤,将过滤后的数据单独显示出来。显示过滤器简单语法n如果只想看tcp 80端口的数据,填tcp.port=80n如果想看

11、tcp数据,填tcpn如果想看192.168.1.6和192.168.1.8之间的通讯数据,填ip.addr= 192.168.1.8 & ip.addr = 192.168.1.6n如果想看192.168.1.6发送的数据,填ip.src=192.168.1.6显示一个会话流ntcp的一次连接,以client ip,源端口,及server ip,本地端口组成的一次连接过程,就是一个会话流,如:n建立好tcp三次握手,client请求一个1.jpg的图片,server回应1.jpg的数据,之后再结束连接。这么一个过程就是一个会话流。在数据包汇总栏任意位置点右键,选择Follow TCP Str

12、eam,就会显示一个会话流的数据包,同时还会出现一个新的窗口(看下一张图片),下图的一个会话流共10个包粉红色的表示client发送的数据,蓝色的表示server回应的数据二、Ethereal使用过程中常见问题nEthereal使用过程中难免会遇到各式各样的问题,下面对平时常见的问题做个简单列举:1. 无法抓包n如下图:列出系统中的网卡时,看不到真实网卡,第二个图是正常情况下的截图,可以看到有个Marvell 厂商的网卡。n出现这种情况最有可能就是winpcap没有安装(http:/www.winpcap.org/install/bin/WinPcap_4_1_1.exe)2. 捕获不到数据包

13、n没有设置任何捕获过滤器,却始终捕获不到包,这时可能是没有选择正确的网卡有关,看下图图1红色框部分,那不是真实存在的网卡,在图2中选择系统中真实存在的网卡即可 。3. 设置了捕获过滤器无法抓包n看下图,填好捕获条件后,出现错误,无法抓包, 原因是由于捕获过滤器语法错误.n应该改成udp port 53或udp 等。4、无法使用显示过滤器n输入了显示过滤器,点Apply,没有反应,出现提示框,原因是显示过滤书写有误,addr后面少了一个等于号,168后面多了个点,如果书写正确的话,显示过滤栏处不会是红色,而是绿色,看右下角小图:第三章 数据包简单分析案例n下面列举一些例子,讲解基于TCP,UDP

14、的一些应用。一、UDP数据传输nudp的数据传输前面已讲解过,client向server发送一个udp请求或其它基于udp协议的数据类型包,server会做出回应。n下图是1.219向202.102.192.68请求解析的ip是多少?n202.102.192.68很快回应结果:对应的ip是61.172.201.194二、 TCP连接的建立n tcp的连接建立在前面已经说过。n1.219向1.109的http端口(80),发送tcp SYN数据包, 1.109回应SYN,ACK,最后1.219发送ACK确认。n下图是tcp三次握手在协议分析器的体现。三、TCP SYN数据包被防火墙拦截n如果带有

15、SYN标志位的数据被防火墙拦截了,那么tcp连接就建立不成功。n从下图本地抓包可以看出,看不到server端回应的SYN,ACK包。n192.168.1.219向192.1681.34发送带有 SYN标志位的包,过了一段时间之后,没看到1.34的回应,等了3秒左右,又重传一次,又没看到1.34的回应,又过了6秒,又重传一次。可能导致此种情况的防火墙设置n1. 规则中封了本地ip的所有流量;n2. 规则中封了本地ip的此端口流量;n3. 规则中封了外部ip的所有流量;n4. 防火墙的屏蔽列表。四、 SYN Flood攻击n看下图,可以看到很多主机向ip发送带有syn标志位的数据包,而且源ip都不

16、一样。n如果出现很多,基本可以断定受到SYN Flood攻击了。五、 TCP连接被重置n从下图可以看到:192.168.1.66向202.102.192.69发送了TCP 请求建立包,n但202.102.192.69并没有回应SYN,ACK包,而是RST,ACK包,说明服务器拒绝这个连接,可能原因是服务器没有开启网站80端口。六、 TCP会话超时nTCP连接都有一个会话,金盾防火墙参数设置中的连接空闲超时,也是这个意思。n如果此段时间,tcp双方没有数据传输,会被其中一方主动断开。看下图,tcp三次握手建立好后,过了60秒,都没有数据传输,被server端断开连接了。七、网站打开过程(直接ip

17、访问)n在与服务器建立好tcp三次握手后,浏览器会发送GET / 数据包,服务器收到后回应网站主页面给浏览器,浏览器解析这个主页文件,如果这个文件中还有图片的,还会再建立连接去下载图片等。服务器的成功回应代码是HTTP 200 OK.八、网站打开过程(域名访问)n下图是使用浏览器打开公司主页,抓取的数据包。第52: 1.219首先向202.102.192.68请求 对应的ip是多少?第53: 202.102.192.68回应1.219域名对应的ip是60.169.1.120第54: 因为域名ip解析成功,所以1.219接着发起tcp连接请求。九、网站主页请求失败n看下图 ,tcp三次握手已经建立成功,同时客户端也发出GET / 数据包,但一段时间后,服务器没有回应,且 GET /数据发送了好几次,说明GET /数据包被拦截了,或服务器的回应数据包被拦截了。可能导致此种情况的防火墙设置n做规则封了GET /;n做规则封了服务器的回应数据;n防火墙开启域名审计功能;n防火墙tcp端口保护设置有误;n其它情况。十、网站无法访问n访问网站过程: n 首先对要访问的域名通过dns服务器,解析成ip地址,再建立这个ip的tcp连接。访问抓包截图n谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号