1、 《计算机网络》 实验指导书 层 次:本科 适用专业:15网络工程 广东东软学院 二〇一七年二月 编写说明 该实验指导书是网络工程专业《计算机网络》课程的课内实验配套教材。其教学目标为:使学生掌握计算机网络五层体系结构中每层的网络协议,各层的工作原理,以及各层的封装过程;掌握常见网络服务的功能与实现原理;掌握常规应用和服务的传输过程;掌握网络层路由转发的原理及配置实现过程;掌握综合利用网络技术规划和设计企业网络的步骤与流程,设计思路。具有网络规划设计、配置与一定的网络开发能力。培养学生具有团队合作、沟通协调能力、创新设计能力,同时具
2、有编写专业文档的专业素养。 目 录 项目 实验项目名称 学时分配 实验类型 页码 实验一 应用层与传输层协议分析 4 验证性 4 实验二 HTTP协议工作过程 4 验证性 6 实验三 网络层路由配置 4 综合性 8 实验四 中小型企业局域网方案 4 设计性 10 实验一 应用层与传输层协议分析 一、实验目的 1、掌握数据报封装过程 2、掌握数据传输过程 二、实验仪器设备/实验环境 1
3、安装有wireshark的客户端(必要); 2、安装并配置有outlook或者foxmail等邮件客户端,能正常收发邮件; 3、安装有dns和www、ftp等服务的服务器(非必要,如无安装,则用互联网服务替代); 4、至少由交换机搭建的局域网,如无则使用互联网替代; 三、实验原理 1. 应用层协议 应用层协议(application layer protocol)定义了运行在不同端系统上的应用程序进程如何相互传递报文。 1)域名系统(Domain Name System,DNS):用于实现域名到IP地址映射的网络服务。 2)文件传输协议(File Transfer Pro
4、tocol,FTP):用于实现交互式文件传输功能。 3)超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务,也就是网站。 4)SMTP(Simple Mail Transfer Protocol),简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 5)POP3(Post Office Protocol 3),邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。 6)IMAP(Internet Mail Access Protocol),交互式
5、邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。 2. TCP与UDP TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议 UDP (User Datagram Protocol数据报协议)一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务 TCP与UDP在传输层为应用层提供传输服务 3. Encapsulatio
6、n 数据封装(Data Encapsulation),由上到下在每一层数据加上报头,header,分别加入传输方式,IP地址,MAC地址等信息 解封装,就是封装的逆过程,拆解协议包,由下到上去除报头 数据封装和解封装是一对逆过程。 4. Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口 5. Port 由于系统加载后服务与app其
7、进程号是按加载顺序排序的,因此通信的两台主机很难通过进程号找到对方,因此我们在逻辑上提出了一个Port(端口)的概念,注意,该概念在我们课程中仅限于TCP与UDP传输过程,该概念将逻辑上同一类的服务和APP归结到一个通信出口,那么通信另外一端就可以通过一个随机选择大于 1024 以上(因为0-1023一般被用作知名服务器的端口,被预定,如FTP、HTTP、SMTP等)的端口向固定服务的端口(1024以下固定服务)发起通信请求。 比如下图源10.84.218.106通过63366向目的40.100.54.34的443发起加密http(443)请求 源10.84.218.10
8、6通过62850向目的182.250.178.82的443发起http(80端口)请求 6. TCP通信的三次握手 每一个 TCP 连接都必须由一端(通常为 client )发起请求,这个 port 通常是随机选择大于 1024 以上(因为0-1023一般被用作知名服务器的端口,被预定,如FTP、HTTP、SMTP等)的 port 号来进行!其 TCP封包会将(且只将) SYN旗标设定起来!这是整个通信的第一个封包; 如果另一端(通常为 Server ) 接受这个请求的话(特殊的服务需要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的
9、第二个封包!其上除了 SYN旗标之外同时还将 ACK 旗标也设定起来,并同时在本机端建立资源准备通信; 然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK旗标(事实上,后继联机中的所有封包都必须带有 ACK 旗标); 只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的 TCP 联机的'三次握手( Three-Way Handshake )'的原理。 经过三向交握之后,你的 client 端的 port 通常是高于 1024 的随机取得的 port,至于主机端则视当时的服务是开启哪一
10、个 port 而定。 四、实验内容 1、搭建DNS、FTP、WEB、Email等服务器 2、使用wireshark捕捉应用层各服务在应用层与传输层的数据报文 3、使用filter过滤dns、http、ftp及email的数据报文 4、对数据报文进行协议分析 五、实验步骤 对DNS的捕捉分析 1、打开wireshark,选择正在上网的网卡,开始capture(捕捉) 2、打开网站 3、停止捕捉,进行协议过程分析 A 在结果中的spliter输入DNS,查看DNS过程 B 打开某一个DNS过程,针对五层协议逐层分析数据封装过程,DNS的message内容
11、 C 在传输层查看dns服务的Port D 计算每一次封装的报头大小 对FTP的捕捉分析 1、打开wireshark,选择正在上网的网卡,在capture的spliter输入 host 172.16.3.190地址开始capture(捕捉), 2、命令行输入 ftp://yourname:password@172.16.3.190登录,sure 你是登录不了的,但是错误的密码已经发送给FTP 3、停止捕捉,进行协议过程分析 A查看和分析tcp的三次握手建立TCP连接的过程 B在结果中的spliter输入FTP过滤,查看ftp过程,及源地址与目的地址por
12、t C 在结果中查看ftp发送用户的报文,分析在五层协议中的每层封装 D 讨论一下,怎么样才能不让别人看账户和密码 对HTTP的捕捉分析 1、打开wireshark,选择正在上网的网卡,在capture的spliter输入 host ip地址开始capture(捕捉),老赵的ip地址会在上课给出 2、打开老赵网站(http://ip:8080/Vist/index.jsp),输入susu:999999登录 3、停止捕捉,进行协议过程分析 A查看和分析tcp的三次握手建立TCP连接的过程 B在结果中的spliter输入http过滤,查看http过程,及po
13、rt C 在结果中的spliter输入http.request.method==”POST”过滤,查看http表单post的过程,找到用户为susu的发送行,分析在五层协议中的每层封装 D 讨论一下,怎么样才能不让别人看账户和密码 对EMAIL的捕捉分析 1、首先应使用outlook或者foxmail设置邮箱,(具体设置过程请参考各邮箱的设置教程) 2、由于当前所有知名服务商邮件都是加密的,因此大家捕捉数据应尽量针对ip地址,而不是smtp协议,查询邮箱的ip地址方法: 运行 -- cmd -- nslookup ,然后输入域名就可以了,但应该注意的是,各个邮箱的都
14、是提供网页版的邮箱,发送服务器和接收服务器未必就是用,大家应参照其邮箱设置中的配置,对或者进行查询解析。 3、打开wireshark,选择正在上网的网卡,在capture的spliter输入 host 刚刚查询解析的地址开始capture(捕捉), 4、发送一封邮件给somebody 3、停止捕捉,进行协议过程分析 A查看和分析tcp的三次握手建立TCP连接的过程 B仔细分析email的过程,查看邮箱发送过程中的data是否加密 C 查看port 六、实验注意事项 1、wireshark的捕捉应该针对上网的网卡 2、正确使用过滤语句进行相应过滤 七、
15、思考题或作业 为什么https的数据在wireshark过滤http中看不到? 为什么https的数据在wireshark捕捉的报文中看不到内容? 下表为老赵总结的网络常用服务,请你务必通过实验,而非搜索,完成协议和端口 常用服务 传输协议 端口 应用层 SMTP 简单邮件传输 POP3 邮局协议 IMAP 协同邮件 Telnet 远程 终端服务 远程桌面 HTTP HTTPS SSH加密服务 FTP 文件传输协议 FTP RADIUS 认证服务 DNS 表示层 SSH安全连接 网络层 DHCP Ip sec 加密连接 数据链路层 PPTP 点对点加密传输 L2TP 数据库 Oracle MS SQL SERVER My SQL






