5-1IP网络流量分析常见的应用层流量分析和检测第五章5-2IP网络流量分析目录基于内容的流量分析综述•QQ和MSN等聊天工具的端口及封堵方法•BT流量的检测和预防5-3IP网络流量分析流量控制需求产生的来源•流量控制需求–是在网络资源和投资收益之间进行平衡的•客户的网络资源都是有一定的容量的•为了获得尽可能多的经济利益•客户会对某些特定的应用进行流量控制5-4IP网络流量分析数据链路层的流控•数据链路层协议都有其特定的标识方式–ATM中有VPI/VCI–FR中有DLCI–Ethernet中有VlanID/MAC5-5IP网络流量分析数据链路层的流控•Ethernet中最常用的数据通信设备是LSW•L2主要的应用–划分Vlan–隔离广播域•在L2上实施的“流量控制”策略–就是基于MAC地址进行限速–设备上支持基于MAC的ACL–配置特定的ACL来界定出需要控制的数据流5-6IP网络流量分析网络层和传输层的流控•在这两个层面上,数据包都有明显的特征字段–IP报文有源/目的IP地址–TCP/UDP报文有端口号–主流的数据通信设备上都提供•基本ACL(2000~2999)•扩展ACL(3000~3999)•通过ACL界定出特定的数据流再进行限速5-7IP网络流量分析应用层的流控•应用层在传输层之上•这部分内容与具体的应用相关性很强•策略十分灵活•一般路由设备是不提供这个层面的功能–如需这部分业务,需应用特定的应用层网关5-8IP网络流量分析流控的位置•传统的网络结构可以分为–核心层–汇聚层–接入层•在网络的“接入层”实施流量控制–减轻汇聚层和核心层对无法到达目的地的数据流量的输导压力–越靠近边缘,设备的数目相对也就越多–响应的维护工作量也就越大5-9IP网络流量分析流控的位置•对于单台设备来说–要考虑在数据包的入接口或出接口进行限速–入接口限速可有效减轻设备的负载,提高设备可用性–但相同类型的数据流可能存在多个“入接口”令配置量增加5-10IP网络流量分析QQ-TCPF协议•TCPF–是建立在UDP协议上的一个协议族–主要支持文字聊天功能–是以请求--相应方式工作的–QQ主要是通过TCPF协议和服务器进行通信5-11IP网络流量分析QQ-TCPF协议•包结构类型•TCPF包我们把它分为5类–登录请求包(LIP,LogInPacket),它是由客户端向服务器发出登录请求的数据包–登录应答包(LRP,LoginReplyPacket),它是由服务器响应客户端登录请求的数据包–注销请求包(LOP,LogOutPacket),它是由客户端向服务器发出注销登录请求的数据包,服务器对这个包不作应答–客户端其它包(CSP,ClientSentPacket),它是由客户端向服务器发送的其它包–服务器其它包(SSP,ServerSentPacket),它是由服务器向客户端发送的其它包5-12IP网络流量分析QQ-TCPF协议•包头–所有TCPF包的前7个字节是包头–包头可以识别TCPF包的内容–包头的格式为•第0字节:TCPF包标识:0x02•第1-2字节:发送者标识•第3-4字节:命令编号•第5-6字节:命令序列号5-13IP网络流量分析QQ-TCPF协议•包尾–所有的TCPF包都以0x03作为包尾–在包头和包尾中间的包数据则不同类型的包有所不同5-14IP网络流量分析TCPF协议-LIP包•登录请求包的包数据格式为–第7-10字节•4bytes•发出登录请求的QQ号码–第11-26字节•16bytes•随机密钥–第27-106字节•80bytes•加密后的登录包数据5-15IP网络流量分析TCPF协议-LRP包•从第7字节开始到包尾前•加密的登录应答包数据•解密的密钥随客户端版本的不同而有不同的可能–在旧有版本中,使用登录包的随机密钥–在后期的版本,使用用户QQ密码的MD5Digest•LRP包内数据的16个字节的SessionKey–很重要的–作为以后通讯的加密密钥5-16IP网络流量分析TCPF协议-LOP包•它的序列号总是0xFFFF–在新的版本中,好象已经没有了这个要求–第7-10字节•4bytes•发送注销登录请求的QQ号码–第11字节到包尾前•加密的注销登录包数据•使用SessionKey作为密钥5-17IP网络流量分析TCPF协议-CSP包•第7-10字节–4bytes–发送请求的QQ号码•第11字节到包尾前–加密的包数据–使用SessionKey作为密钥5-18IP网络流量分析TCPF协议-SSP包•从第7字节开始到包尾前–加密的服务器发送包数据–使用SessionKey作为密钥5-19IP网络流量分析TCPF协议-QQ加密算法•源于TEA(TinyEncryptionAlgorithm)加密算法–使用128bit密钥加密64bit数据产生64bit输出的算法•通过加密轮数保证可靠性•QQ使用16轮的加密–这是最低限,推荐是32轮•QQ使用了一些常规的–填充算法–交织算法5-20IP网络流量分析QQ-服务器地址•219.133.40.15•218.17.209.23•202.104.129.252•218.18.95.153•202.104.129.251•61.144.238.145•202.104.129.253•61.141.194.203•202.104.129.254•218.18.95.165•61.144.238.146•219.133.40.91•211.248.99.252•218.17.217.66•61.144.238.156•219.133.40.89•219.133.40.115•219.133.40.90•219.133.40.113•219.133.40.114•210.22.12.126•61.141.194.223•61.172.249.135•202.104.128.233•202.96.170.164•218.17.217.103•218.66.59.233•61.141.194.207•202.96.170.163•202.96.170.166•202.96.140.18•202.96.140.119•202.96.140.8•202.96.140.125-21IP网络流量分析QQ-UDP服务器•UDP8000端口类–13个–速度最快–服务器最多–服务器名字均以SZ开头–域后缀是tencent.com–域名与IP对应为sz5-22IP网络流量分析QQ-TCP/HTTP服务器•TCPHTTP连接服务器–4个–使用HTTP80和443端口连接–服务器名字均以tcpconn开头–域后缀是tencent.com•会员VIP登陆服务器–使用HTTP443安全连接–服务器IP218.17.209.425-23IP网络流量分析QQ登陆过程•首先选择就近的UDP服务器登陆•如果登陆超时–会选择就近的TCP服务器登陆5-24IP网络流量分析QQ封堵•封堵QQ服务的IP地址和端口–注意:不能封堵80端口–因为80端口也是HTTP服务的默认端口•以上方法的失效情况–有新服务器开放–改变端口•目前路由器无法实现–根据qq报文的内容进行封堵–可以采用第3方软件来实现5-25IP网络流量分析MSN登陆过程分析•MSNMessenger“客户端”–一般来说,是用户微机上的程序的统称–通过Internet连接到一个MSNMessenger服务器–即客户端通过服务器与其他客户端交互信息5-26IP网络流量分析MSN登陆过程分析5-27IP网络流量分析MSN登陆过程分析•使用TWN(Tweener)认证方式•通过SSL/TLS连接到login.passport.com和loginnet.passport.com等服务器•借助于HTTP协议输入账号和密码•认证通过后,才能取得“进场券”5-28IP网络流量分析MSN协议•最初版本的MSNMessenger协议–“MSNMessengerService1.0Protocol”草案–1999年Microsoft向IETF提交的•InternetEngineeringSteeringGroup国际互联网工程任务组•是世界上做互联网方面技术标准的组织•目前MSNMessenger的协议已经到了第12版–简称MSNP12•MSN7.0支持的协议是MSNP10和MSNP11•服务器对MSNP8以下的版本已经不再支持5-29IP网络流量分析MSN协议•客户端与服务器间信息都是以命令格式传递的•命令被描述为三个字符、所有字母大写的命令代号•所有一般命令都有一个事务ID并且以新行结束•客户端发送的命令一般会使服务器响应一个及以上的命令•MSNMessenger命令使用了纯ASCII码•对非ASCII码字符使用URL编码•命令的语法如下:XXX[TrIDPARAM1PARAM2…]–其中,是空白字符,是回车换行,XXX是一个3字符的命令串,TrID是一个流水号,PARAMx是参数,[]内是可选项5-30IP网络流量分析MSN命令5-31IP网络流量分析MSN命令5-32IP网络流量分析MSN术语•派遣服务器–DispatchServer,简称DS服务器–客户端最初连接的服务器–负责给客户端分配合适的通知服务器–域名是messenger.hotmail.com–标准服务端口是1863–完成派遣任务后,切断TCP连接5-33IP网络流量分析MSN术语•通知服务器–NotificationServer,简称NS服务器–通知服务器的目的•主要就是保留用户的在线信息•保留其他用户所关心的重要人员的信息•包括登录、改变状态、获取用户列表、修改用户信息、发起聊天、接受呼叫、邮件通知、退出等等–通知服务器同样也提供其他通知服务•如hotmail的新邮件提示•创建或者加入会话等–服务端口由派遣服务器指定,通常是18635-34IP网络流量分析MSN术语•接线服务器–SwitchboardServer,简称SS服务器–保存了各人员的即时会话信息–服务端口通常也是1863–点对点通信使用的端口由客户端自动协商决定•如文件传输通常使用6891端口5-35IP网络流量分析MSN图解PassportServerTCP/4435-36IP网络流量分析MSN服务器地址•65.54.225.25465.54.226.25465.54.228.24465.54.228.25365.54.229.24865.54.229.25365.54.225.24165.54.226.2475-37IP网络流量分析MSN封堵•通过封MSN的服务器地址来实现•但有一个缺陷,同时hotmail也无法使用•用第三方软件来–实现通过对报文内容的监控–达到彻底封MSN的目的5-38IP网络流量分析BT下载原理简介•是一种用来进行文件下载的共享软件•全名叫“BitTorrent”•是一个多点下载的源码公开的P2P软件•使用非常方便•很适合新发布的热门下载•特点–下载的人越多,速度越快5-39IP网络流量分析BT下载原理简介•一般来讲,下载是把文件由服务器端传送到客户端,例如FTP,HTTP,PUB等等。工作原理如下图:5-40IP网络流量分析BT下载原理简介•出现了一个问题–随着用户的增多,对带宽的要求也随之增多–用户过多就会造成瓶颈–搞不好还会把服务器挂掉•很多的服务器会–限制用户人数–限制下载速度–给用户造成了诸多的不便5-41IP网络流量分析BT下载原理简介•用BT下载反而是用户越多,下载越快,这是为什么呢?因为BT用的是一种传销的方式来达到共享的,工作原理如下图:5-42IP网络流量分析BT协议介绍综述•是一个文件分发协议•通过URL识别内容并且和网络无缝结合•它和普通HTTP协议相比优势–同时下载一个文件的下载者在下载同时不断互相上传数据,使文件源可以在很有限的负载增加的情况下支持大量下载者同时下载5-43IP网络流量分析BT协议介绍综述•一个BT式文件分发需要以下实体–一个普通网络服务器–一个静态元信息文件('Metainfo'