“TCP/IP网络协议基础”实验报告

应用层协议二

一、实验说明 在传输层之上,便是应用层。传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据。 不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如 DNS、FTP、Telnet、SMTP、HTTP、RIP、NFS 等协议都是用于解决其各自的一类问题。 本节实验,介绍 Telnet、TFTP、SMTP、 POP3 四个常用的应用层协议。 二、Telnet 协议 2.1 Telnet 简介 Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式,它基于 TCP 协议,使用端口 23。 终端使用者在本地电脑上使用 telnet 程序,用它连接到服务器,终端使用者可以在 telnet 程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。 2.2 Telnet 工作过程 使用 Telnet 协议进行远程登录时必须满足以下条件: 在本地计算机上必须装有包含 Telnet 协议的客户程序; 必须知道远程主机的 IP 地址或域名; 必须知道登录标识与口令。 Telnet 远程登录服务分为以下4个过程: 1)本地与远程主机建立连接。该过程实际上是建立一个 TCP 连接,用户必须知道远程主机的 IP 地址或域名; 2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以 NVT ( Net Virtual Terminal ) 格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个 IP 数据包; 3)将远程主机输出的 NVT 格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果; 4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个 TCP 连接。 2.3 Telnet 连接远程主机 telnet 使用语法:telnet IP 端口(可选) 由于实验楼环境限制,无法进行 telnet 实验。 telnet 192.168.1.1 Trying 192.168.1.1... Connected to 192.168.1.1 (192.168.1.1). Escape character is '^]'.

    localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2017) (1) 
copy

login: shiyanlou Password: Login incorrect 2.4 Telnet 测试主机端口 telnet 可以测试目标机器的TCP端口是否开放。 例如 telnet IP地址 3389 是用来测试目标机器的 3389 端口是否开放,如果连接失败 ,可能是以下原因: 防火墙屏蔽 目标机器没有启用相关远程桌面服务( windows ) 修改了默认占用 3389 端口。 下图示例使用 telnet 127.0.0.1 端口 测试本地环境端口开放性:

说明本地环境 3389 端口未开放 ,22 端口开放。 下图示例使用 netstat -pantu 验证以上结果( LISTEN 说明为开放状态):

三、TFTP 协议 3.1 TFTP 简介 TFTP( Trivial File Transfer Protocol )是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,它基于 UDP 协议,使用端口 69 。 此协议设计的时候是进行小文件传输的,与 FTP 相比少了许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证。 TFTP也有着它自身的优点: TFTP 可用于 UDP 环境;比如当需要将程序或者文件同时向许多机器下载时就往往需要使用到 TFTP 协议。 TFTP 代码所占的内存较小,这对于小型计算机或者某些特殊用途的设备来说是很重要的,TFTP 具有更多的灵活性,也减少了开销。 3.2 TFTP 报文格式

TFTP 数据报文有 5 种操作码,对应了 5 种报文格式(1、2报文格式相同): 操作码为 RRO :读文件请求 , 客户端请求读取位于服务器上的文件 操作码为 WRO :写文件请求 , 客户端请求写入位于服务器上的文件 操作码为 DATA :数据包 , 用于传输数据文件 操作码为 ACK :确认包 , 回应确认信息 操作码为 ERROR :错误包 , 它用于服务器不能处理读请求或者写请求的情况。 四、SMTP 协议和 POP3 协议 4.1 SMTP 简介 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式,它使用 TCP 协议,使用端口 25 。 SMTP 存在两个端: 在发信人的邮件服务器上执行的客户端 在收信人的邮件服务器上执行的服务器端。 SMTP 的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。 4.2 SMTP 的连接和发送过程 (1)建立 TCP 连接。 (2)客户端向服务器发送 HELO 命令以标识发件人自己的身份,然后客户端发送MAIL命令。 (3)服务器端以 OK 作为响应,表示准备接收。 (4)客户端发送 RCPT 命令。 (5)服务器端表示是否愿意为收件人接收邮件。 (6)协商结束,发送邮件,用命令 DATA 发送输入内容。 (7)结束此次发送,用QUIT命令退出。 4.3 POP3 简介 POP3(Post Office Protocol Version 3 )即邮局协议版本3,是 TCP/IP 协议族中的一员 ,主要用于支持使用客户端远程管理在服务器上的电子邮件,使用 TCP 协议,使用端口 110 。 POP3 邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的 POP3 协议。 4.4 POP3 工作过程

  1. 用户运行用户代理(如Foxmail, Outlook Express)。
  2. 用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连 接。
  3. 客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。
  4. 服务端解析用户的命令,做出相应动作并返回给客户端一个响应。
  5. 3)和4)交替进行,直到接收完所有邮件转到步骤6),或两者的连接被意外中断而直接退出。
  6. 用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。

4.5 POP3 和 SMTP 协同工作 一封邮件的发送过程:

最新评论
暂无评论~