| 实验名称 | 分析典型P2P软件的工作过程 |
| 实验目的 | 1、利用逆向工程的方法,分析典型的P2P软件的基本工作过程 |
| 实验完成人 | |
| 完成时间 | 2013年5月22日 |
| 实验环境 | |
| windows7系统和虚拟机的windows XP系统 通过校园网与Internet连接 使用wireshark进行抓包,使用P2P软件迅雷 | |
| 实验步骤与结果分析 | |
| 1、使用ipconfig查询本机IP 2、将查毒软件等可能需要联网程序都关闭,使之不干扰抓包过程 3、启动迅雷下载电影并启动wireshark进行抓包 (1)P2P的启动阶段 由此可以看出,在下载开始的时候,下载主机频繁与多个.sandai.net为后缀的服务器进行DNS解析。经过查询,知道了这些服务器就是迅雷的服务器。 当本机发出下载请求时,首先访问迅雷的索引服务器,询问拥有此资源的可供用户下载资源的点。索引服务器搜索用户所要下载的资源的拥有者的信息列表,并将信息返回给用户。 用户收到列表后,会尝试去连接其中的资源,如果请求都失败则会再次向迅雷的索引服务器发出请求。当请求成功时,则开始下载。 (2)P2P的传输阶段 通过TCP协议和ACK标示可知在下载资源时通过TCP端口和资源提供者进行三次握手的过程。 通过不同的seq和Ack号可以看出本机在下载这个任务时与很多不同的资源提供者进行请求连接和下载资源。 本主机从不同的提供资源的主机接收数据包。P2P软件下载资源通常是使用UDP协议的,因为UDP是无连接的,传输速度比较快,下载的该资源是从多个机器获取的。 分析:主机建立一个资源的下载任务后,向迅雷服务器发送资源名请求服务器返回给本主机多个资源主机的信息,主机通过三次握手协议连接资源提供者下载任务,并实时监控资源提供者的信息选择最优的进行下载,同时也作为资源提供者供其他连接到迅雷服务器的下载本机资源。 (3)P2P的释放过程 下载完成时,根据FIN和ACK标示可知本机下载完成后同资源提供者采用三次握手释放资源。 | |
| 分析与思考 | |
| 1、迅雷工作过程分析 P2P是Peer-to-peer的缩写,指对等互联网,即数据的传输不再通过服务器,而是网络用户之间直接传递数据。 P2P软件的工作过程典型P2P软件迅雷的工作过程类似,用户兼有服务器和客户端两种角色,在利用软件下载的时候同时也在上传,可以通过服务器提供的资源地址连接资源提供者的主机进行下载,同时也可以为通过该服务器相连的其他下载者提供相关资源,不再通过服务器进行下载,而直接实时选择最优用户资源进行直接传递数据。下面以一次P2P访问过程为例进行具体说明: (1)开启迅雷时,本主机将自己的IP地址和端口号发给迅雷服务器请求连接,迅雷服务器响应连接。 (2)此时本主机可以作为资源提供者为连接迅雷服务器并请求资源的其他下载者提供资源。 (3)当本主机建立下载任务的时候,他成为一个下载者,给迅雷服务器发送要下载的资源的名称,服务器查看资源记录并返回给本主机含有该资源的一个或多个目标主机的IP地址和端口号。 (4)本主机根据资源提供者的信息选取实时最优资源并与提供者通过三次握手建立连接,进行下载。 (5)本主机下载任务完成后会通过三次握手释放和所有资源提供者的连接,同时服务器将该主机拥有刚才所下载的资源的信息记入资源记录中,以供其他下载者下载。 2、P2P软件主要实体之间的信息交互图 (1)各个主机将本机信息发给服务器向服务器请求连接,如果有主机要建立下载任务,则向服务器发送资源请求,服务器查看记录并返回主机具有该资源的主机信息 (2)本主机根据资源提供者的信息与提供者通过三次握手建立连接,进行下载。 3、P2P模式的优点和缺点: P2P模式能让客户共享带宽、存储空间和计算能力。它的分布特性通过在多 结点上赋值数据,增加了防故障的健壮性。P2P模式能实现互联网的大部分潜力,将互联网从一个基于文件的网页和电子邮件网络转变成一个动态的、颗粒状网络,在网络中,特定的信息组件可被有效地放置和分享。 在带宽方面,由于有多个客户端分担了带宽,我们下载的速度会非常的快,就可以很容易的获得自己想要的东西。但是同时,在我们下载东西的同时,还要上载东西,那么对自己带宽的消耗会增大,上行带宽会下载的速度。而且P2P模式在版权问题和安全问题上也有很大的问题。 4、实验心得: 我们学校宿舍的有线网似乎是迅雷下载的,我多次开启下载都无法加载出页面,但是在校园无线网下迅雷是可以使用的,成功地进行了实验。第一次使用抓包工具,在怎么筛选信息分析信息方面参考了很多资料,通过逆向分析的方法对P2P的方式有了更深入的了解。 | |