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