第一篇:计算机网络应用SMTP协议
计算机网络应用SMTP协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一种电子邮件协议,它既具有客户端(发送方)发送邮件的功能,又具有服务器(接收方)接收邮件的功能。SMTP协议允许将电子邮件从一个计算机邮件服务器发送到另一个计算机邮件服务器,并且SMTP服务器接收本地用户发送的邮件,以便将其传输到互联网中其他邮件服务器上。
在互联网中,大多数计算机系统通过本地邮件系统服务器在本地按路径发送电子邮件。SMTP发送程序从输出邮件队列中得到邮件报文,通过多个TCP连接将邮件报文传输到目标主机的25号端口上。在发送过程中,SMTP接收程序必须能够证实本地邮件目的地址,并处理各种差错,包括传输差错以及没有足够接收空间等。
SMTP发送程序对报文的作用直到SMTP接收程序指示传输完成才结束,因此SMTP协议的作用范围仅限于SMTP发送程序和SMTP接收程序之间的对话过程。SMTP协议的主要功能是传送报文,为了保证正确传送报文,SMTP协议规定了14条命令和21种响应信息。其中,每条命令由一行文本组和四个字母的命令组成;而每一种响应信息由一个三位数据代码和简单的文字说明组成。下面介绍SMTP协议通信过程中,各阶段主要用到的命令和响应信息。
1.建立连接
邮件发送方将需要发送的邮件发送到邮件缓存中,SMTP发送程序将每隔一定时间对邮件缓存进行扫描。如果缓存有未发送的电子邮件,则使用SMTP程序端口号与目的计算机的SMTP服务器建立连接。
建立连接后,发送方将发送“220 Service ready(服务就绪)”的信息,并向SMTP服务器发送用来标识自己的HELLO命令。当接收方的SMTP程序接收到发送方所发送的信息后,则返回响应信息“250 OK(一切正常)”,以便接收发送方SMTP发送程序的身份标识。如果接收方的邮件服务器不可用,则返回响应信息“421 Service not available(服务不可用)”。
2.传输邮件
当连接建立成功后,SMTP发送程序将向SMTP接收程序发送邮件报文信息。邮件报文传送包括以下三个逻辑阶段:
用一个EAIL命令标识出邮件报文的发送方。例如,MAIL FROM:
用一个或者多个RCPT命令标识该邮件报文的接收方。例如,RCPT TO: <收信人电子邮箱地址>。
用一个DATA命令标识该邮件报文的内容。
发送MAIL命令后,如果SMTP服务器已经做好接收邮件的准备,则返回响应信息“250 OK(一切正常)”。否则,返回有关无法接收邮件原因的响应信息,例如451(处理时出错)、452(存储空间不够)、500(命令无法识别)等。
RCPT命令标识邮件接收方的电子邮箱地址,多次使用该命令能够为邮件指定多个接收者,并且每个RCPT命令都会返回一个单独的响应信息。例如“550 No such user here(无此用户)”,即不存在此电子邮箱地址。RCPT命令的作用是:先检测SMTP接收服务器是否做好接收邮件的准备,然后在进行邮件传输。
3.关闭连接
邮件发送完毕后,发送方SMTP服务器程序将发送QUIT命令。当接收方SMTP服务器程序返回响应信息“211(服务关闭)”时,表明接收方SMTP服务器程序同意关闭TCP连接。
第二篇:计算机网络实验-DNS、SMTP、POP3协议分析
实验三 DNS、SMTP、POP3协议分析
【实验目的】
了解DNS解析的过程;掌握DNS报文格式, 学习DNS协议的原理和实现方法 掌握nslookup命令和ipconfig命令的使用;理解SMTP, POP3协议的基本原理及其与传输层协议的关系。
【实验内容】
一、DNS协议分析
使用nslookup工具解析域名,捕获数据包并进行分析
1、在实验主机上启动网络协议分析仪进行数据捕获并设置过滤条件,在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“DNS协议”,点击“设置参数”按钮后“确定”,开始进行数据包的捕获:
图5-1 设置DNS协议过滤器
2、使用nslookup工具进行域名的解析。
nslookup命令是查询域名对应IP的工具,其用法可以直接在Windows系统的命令提示符下运行命令:nslookup域名 来进行域名解析,例如:
图5-2 使用nslookup工具
(一)也可以仅仅运行nslookup命令(不需任何参数),进入nslookup的交互界面,在“>”提示符后可以多次输入不同的域名,以实现多次的查询,例如可以在一次nslookup的交互过程中,进行www.xiexiebang.com、www.xiexiebang.com、www.xiexiebang.com,观察此时是否还有DNS请求?
2、关闭IE浏览器后再重新打开,访问一个尚未访问过的网站,例如www.xiexiebang.com,观察此时是否有DNS请求?为什么?
3、在Windows系统的命令提示符下运行:ipconfig /displaydns显示本机缓冲区中的DNS解析内容,如图5-6所示:
图5-6 显示本机的DNS缓存
4、在Windows系统的命令提示符下运行:ipconfig /flushdns,则可以清除本机的DNS缓存记录,如图5-7所示:
图5-7 清除本机的DNS缓存
二、SMTP协议分析
说明:实验室收发邮件服务器为192.168.2.24并且能够支持SMTP和POP3协议,实验室主机安装有Outlook Express软件,学生可以进行账号的配置,并利用其进行收发邮件的的操作:
邮箱为nxx@netlab.ie,(注意其中xx=01-40,每位同学取与自己的机器号相同的数字)密码为123,配置完成后可看到的邮件帐户属性(帐户名一定要写完整:nxx@netlab.ie)在Outlook中创建一封邮件,发送出去。
步骤一:利用Outlook发送电子邮件,捕获数据包并分析
1、打开邮件工具:Outlook Express,按照已经申请的邮箱信息进行配置,例如邮箱为n01@netlab.ie,密码为:123,配置完成后可看到的邮件帐户属性为:
图5-8 在Outlook Express中设置邮箱帐户
2、在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中选择“SMTP协议”:
图5-9 设置SMTP协议过滤器
3、在Outlook中创建一封邮件,发送出去。
4、进行数据捕获,并分析数据包内容,可以看到SMTP的命令和参数,图5-10中可以看到MAIL FROM命令,并可看到邮箱地址 n01@netlab.ie:
图5-10 SMTP协议的MAIL FROM命令报文
而在图5-11中,则可以看到这是一个携带邮件内容的DATA报文:
图5-11 SMTP协议中的DATA报文
5、分析其中发送邮件的过程传输层采用什么协议?发送端的目的端口号是多少?代表什么协议?
6、使用Outlook工具接收一封邮件;
7、进行数据捕获,并分析数据包内容,可以看到POP3协议的命令和参数,如图5-12和图5-13所示,就是POP3协议使用USER命令和PASS命令在传输邮件的帐号和密码:
图5-12 POP3协议的USER命令
图5-13 POP3协议的PASS命令
8、分析其中接收邮件的过程传输层采用什么协议?使用的端口号是多少,代表什么协议?
步骤二:利用“TCP工具”和SMTP命令编辑邮件并发送
本步骤的目的是学习SMTP协议的命令用法,以及一个邮件发送的过程。首先要与某个邮件服务器建立一个TCP连接,例如:使用步骤一中的netlab.ie的邮件服务器,可从刚才捕获到的报文中看到其IP地址为:(),用户名:(),密码为:(),邮件服务器域名:()。
1、首先打开协议分析仪,准备好进行数据包的捕获,然后打开协议分析仪,点击工具栏中的“TCP”按钮;
2、在弹出的“TCP连接工具”中填写邮件服务器的IP地址(192.168.2.24)及邮件服务器SMTP协议的端口号(25),点击“启动”,从而建立本机与邮件服务器SMTP端口的TCP连接,如图5-14所示:
图5-14 利用TCP工具与邮件服务器建立连接
3、若连接成功,在接收窗口会显示成功连接的信息:
若不成功,查看IP地址和端口号是否有错,再次尝试进行连接,直到成功。在命令行输入命令,进行交互邮件发送(参见课本78页);
步骤三:利用“TCP工具”和SMTP命令编辑邮件并发送
1、首先打开协议分析仪,准备好进行数据包的捕获,然后点击工具栏中的“TCP”按钮;
2、在弹出的“TCP连接工具”中填写服务器的IP地址(192.168.2.24)及服务器POP3协议的端口号(110),点击“启动”,从而建立本机与POP3服务器的TCP连接:
3、若连接成功,在接收窗口会显示成功连接的信息若不成功,再次尝试进行连接,直到成功。
在命令行输入命令,进行交互邮件接受(参见课本83页);
三.邮局协议POP3分析
步骤一:利用Outlook工具接收电子邮件,捕获数据包并分析
1、打开邮件工具:Outlook Express,按照已经申请的邮箱信息进行配置,例如邮箱为2008.test.star@163.com,密码为:Test2008,配置完成后可看到的邮件帐户属性为:
图5-15在Outlook Express中设置邮箱帐户
2、在主机上打开协议分析仪,点击工具栏上的 “过滤器”,在“端口过滤器”的“端口值”中选择“发送/接收”的端口为110,如图5-16所示:
图5-16 设置POP协议过滤器
3、在Outlook中创建一封邮件,发送出去,再使用Outlook工具进行接收;
4、进行数据捕获,并分析数据包内容,可以看到POP3协议的命令和参数,如图5-12和图5-13所示,就是POP3协议使用USER命令和PASS命令在传输邮件的帐号和密码:
图5-17 POP3协议的USER命令
图5-18 POP3协议的PASS命令
5、分析其中接收邮件的过程传输层采用什么协议?使用的端口号是多少,代表什么协议?
步骤二:利用TCP连接客户端工具和POP命令接收电子邮件
本步骤的目的是学习POP3协议的命令用法,以及接收一个邮件的过程。
1、首先用Outlook工具构造一个邮件发送出去,如图5-19所示,然后关闭Outlook工具:
图5-19 使用Outlook构造一封测试用邮件
2、建立与POP3服务器的TCP连接,继续使用163.com的POP3服务器,可从刚才捕获到的报文中看到其IP地址为:202.208.5.100,用户名:2008.test.star,密码为:Test2008,邮件服务器域名:163.com。(1)首先打开协议分析仪,准备好进行数据包的捕获,然后点击工具栏中的“TCP”按钮;
(2)在弹出的“TCP连接工具”中填写服务器的IP地址(202.208.5.100)及服务器POP3协议的端口号(110),点击“启动”,从而建立本机与POP3服务器的TCP连接:
(3)若连接成功,在接收窗口会显示成功连接的信息(+OK Welcome to coremail Mail Pop3 Server(163coms[3d8c1fa079729fb6acc588e66d30360es]);若不成功,再次尝试进行连接,直到成功。
2、用POP3命令接收邮件,捕获数据包并进行分析:
(1)在发送的编辑栏里面编辑发送POP 3协议的命令USER,参数为邮箱帐号:USER 2008.test.star ;
(2)发送命令PASS,参数为邮箱密码:PASS Test2008 ;(3)此时可以看到服务器对油箱帐号的验证已经通过,返回了邮箱内的邮件数量和占用字节数:1封邮件,大小是2038字节,可以用STAT命令和LIST命令(无参数)再次查看邮箱内邮件的情况;
(4)使用RETR命令收邮件,携带参数“1”,表示读取第一封邮件的内容;(5)服务器返回邮件的内容,从中可以看到:
From: “2008.test.star” 2008.test.star@163.com; To: <2008.test.star@163.com> Subject: test 邮件正文内容使用BASE64编码,所以无法在TCP工具中看明内容;(6)可以使用DELE命令删除邮件,携带参数“1”表示删除第一封邮件;
3、使用命令QUIT可以结束会话,断开连接。
第三篇:计算机网络应用ARP协议
计算机网络应用ARP协议
地址解析协议(Address Resolution Protocol,ARP)是一种能够实现IP地址到物理地址转化的协议。在计算机网络中,通过物理地址来识别网络上的各个主机,IP地址只是以符号地址的形式对目的主机进行编址。通过ARP协议将网络传输的数据报目的IP地址进行解析,将其转化为目的主机的物理地址,数据报才能够被目的主机正确接收。
实现IP地址到物理地址的映射在网络数据传输中是非常重要的,任何一次从互联网层及互联网层以上层发起的数据传输都使用IP地址,一旦使用IP地址,必须涉及IP地址到物理地址的映射,否则网络将不能识别地址信息,无法进行数据传输。
IP地址到物理地址的映射包括表格方式和非表格方式两种。其中,表格方式是事先在各主机中建立一张IP地址、物理地址映射表。这种方式很简单,但是映射表需要人工建立及人工维护,由于人工建立维护比较麻烦,并且速度较慢,因此该方式不适应大规模和长距离网络或映射关系变化频繁的网络。而非表格方式采用全自动技术,地址映射完全由设备自动完成。根据物理地址类型的不同,非表格方式有分为直接映射和动态联编两种方式。
1.直接映射
物理地址分为固定物理地址和可自由配置的物理地址两类,对于可自由配置的物理地址,经过配置后,可以将其编入IP地址码中,这样物理地址的解析就变的非常简单,即将它从IP地址的主机号部分取出来便是,这种方式就是直接映射。直接映射方式比较简单,但适用范围有限,当IP地址中主机号部分不能容纳物理地址时,这种方式将失去作用。另外,以太网的物理地址都是固定的,一旦网络接口更改,物理地址也随之改变,采用直接映射将会出现问题。
2.动态联编
由于以太网具有广播能力和物理地址是固定的特点,通常使用动态联编方式来进行IP地址到物理地址的解析。动态联编ARP方式的原理是,在广播型网络中,一台计算机A欲解析另一台计算机B的IP地址,计算机A首先广播一个ARP请求报文,请求计算机B回答其物理地址。网络上所有主机都将接收到该ARP请求,但只有计算机B识别出自己的IP地址,并做出应答,向计算机A发回一个ARP响应,回答自己的物理地址。
为提高地址解析效率,ARP使用了高速缓存技术,即在每台使用ARP的主机中,都保留一个专用的高速缓存,存放最近获得的IP地址-物理地址联编信息。当收到ARP应答报文时,主机就将信宿机的IP地址和物理地址存入缓存。在发送报文时,首先在缓存中查找相应的地址联编信息,若不存在相应的地址联编信息,再利用ARP进行地址解析。这样不必每发一个报文都进行动态联编,提高地址解析效率,从而使网络性能得到提高。
另外,还有一种在无盘工作站中常用的反向地址解析协议(RARP),它可以实现物理地址到IP地址的转换。在无盘工作站启动时,首先以广播方式发出RARP请求,网络上的RARP服务器会根据RARP请求中的物理地址为该工作站分配一个IP地址,生成一个RARP响应报文发送回去。然后,无盘工作站接收到RARP响应报文,便获得自己的IP地址,就能够和服务器进行通信。
第四篇:计算机网络协议
计算机网络的最大特点是通过不同的通信介质把不同厂家、不同操作系统的计算机和其他相关设备(例如打印机、传达室感器等)连接在一起,打破时间和空间的界限,共享软硬件资源和进行信息传输。然而,如何实现不同传输介质上的不同软硬件资源之间的通令共享呢?这就需要计算机与相关设备按照相同的协议,也就是通信规则的集合来进行通信。这正如人类进行通信、交谈时要使用相同的语言一样。
网络协议(Network Protcol)是计算机网络中互相通信的对等实体间交换信息时所必须遵守的规则的集合。当前的计算机网络的体系结构是以TCP/IP协议为主的Internet结构。对等实体通常是指在计算机网络体系结构中处于相同层次的通信协议进程。网络协议为传输的信息宣言严格的格式(语法)和传输顺序(文法)。而且还定义所传输信息的词汇表和这些词汇所表示的意义(语义)。
既然谈到Internet网络,那我们就来看一下网络协议与Internet网络的关系:
Internet网络体系结构以TCP/IP协议为核心。其中IP协议用来给各种不同的通信子网或局域网提供一个统一的互连平台,TCP协议则用来为应用程序提供端到端的通信和控制功能。事实上,Internet并不是一个实际的物理网络或独立的计算机网络,它是世界上各种使用统一TCP/IP协议的网络的互连。TCP/IP协议分为4层(通信子网层、网络层、运输层和应用层)
1、通信子网层(subnetwork layer)
TCP/IP协议的通信子网层与OSI协议的物理层、数据链路层以及网络层的一部分相对应。该层中所使用的协议为各通信子网本身固有的协议,例如以太网的802.3协议、令牌环网的802.5协议有及分组交互网的X.25协议等。通信子网层的作用是传输经网络层处理过的消息。
2、网络层(internet layer)
网络层所使用的协议是IP协议。它把运输层送来的消息组装成IP数据包,并把IP数据包传递给通信子网层。IP协议提供统一的IP数据格式,以消除各通信子层的差异,从而为信息发送方和接收方提供透明通道。
网络层的主要功能是:①Internet全网址的识别与管理;②IP数据包路由功能;③发送或接收时例IP数据包的长度与通信子网所允许的数据包长度相匹配,例如,以太网所传输的帧长为1500字节,而ARPA网所传输的数据包长1008字节。当以太网上的数据帧通过网络层IP协议转达发给ARPA网时,就要进行数据帧的分解处理。
3、运输层(transport layer)
运输层为应用程序提供端到羰通信功能。运输层有3个主要协议,即传输控制的协议(TCP)、用户数据报协议(UDP)和互连网控制消息协议(ICMP)。
4、应用层(application layer)
应用层为用户提供所需要的各种服务。它提供的主要服务有:过程登录,用户可以使用异地主机;文件传输,用户可在不同主机之间传输文件;电子邮件,用户可通过主机和终羰互相发送信件;Web服务器,发布和访问具有超文本格式HTML的各种信息。|
第五篇:SMTP与POP协议简析
SMTP、POP协议简析
作者:李鹏博
时间:2016/06
1.SMTP协议与POP协议说明
SMTP(Simple
Transfer
Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
POP(Post
Office
Protocol)即邮局协议,用于电子邮件的接收。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。本文只介绍POP3。
2.SMTP协议简析
通过抓包,可以看到清晰的服务器与客户端的交流过程。如下图。
如上图,将整个流程分为三部分:握手阶段、认证阶段、发送数据阶段。其中TCP三次握手在上图中未体现,握手成功后,进入认证阶段。
SMTP命令字说明
HELO客户端为标识自己的身份而发送的命令(通常带域名)
EHLO使服务器可以表明自己支持扩展简单邮件传输协议
(ESMTP)
命令。
FROM标识邮件的发件人;以
FROM:的形式使用。
RCPT
TO标识邮件的收件人;以
RCPT
TO:的形式使用。
DATA客户端发送的、用于启动邮件内容传输的命令。
RSET使整个邮件的处理无效,并重置缓冲区。
QUIT终止会话。
对于服务器的每个回复,都有一个返回码,这个返回码标志着上次的请求操作完成状态。如果第一个数字是2表示操作成功;3表示操作正在进行;5表示操作失败。
握手阶段
认证阶段
握手成功后,邮件服务器(上面示例是163的邮件服务器)会发送欢迎连接信息。然后是客户端HELO(或EHLO),向服务器标识用户身份;接下来进行认证操作。认证成功后,客户端告诉服务器这封邮件从哪个邮箱来,到哪个邮箱去,mail
from只有一个,但是recpt
to后面可以跟多个收件人地址。成功后,客户端请求发送邮件数据。
数据发送阶段
服务器回复DATA命令后,会有一个结束符说明。如上图,就是以
数据内容规格一般是按照MIME协议生成,具体参见《MIME协议的内容分析及解析说明》。
数据发送完成后客户端以QUIT命令主动退出。邮件发送完成,流程结束。
3.POP协议简析
POP命令字说明
USER
<用户名>
用户登录。
PASS
<密码>
发送用户密码。
STAT返回邮箱列表(邮件数量、字节)。
LIST
返回邮件数量和每个邮件的大小。
UIDL
返回邮件的唯一标识符,pop3会话的每个标识符都将是唯一的。
RETR
<邮件编号>
传回指定的邮件,以只有一个“.”号的行结束。
QUIT关闭连接。
服务器命令回应的第一行以“+OK”或“-ERR”(+OK指成功,-ERR指失败)指出相应的操作状态是成功还是失败。
握手阶段
邮件客户端与服务器的110端口(POP默认端口)三次握手连接。
认证阶段
客户端以USER和PASS关键字带参数完成认证。如果不勾选SSL,认证过程为明文。
检查阶段
认证结束后,客户端发起STAT请求,服务器返回邮件总数量和总大小。(该处总数不包括已归档的邮件)
客户端发起LIST请求,服务器返回每封邮件的大小。以
之后,客户端发送UIDL
请求,服务器返回每封邮件的唯一ID,此时,客户端会对本地已有邮件和收到的邮件列表进行比较。发现没有的,会收取该邮件。
收取阶段
如上图,客户端发送RETR
192来收取第192封邮件。
需要说明的是,有时,客户端还会发送TOP命令来获取某封邮件的包头信息。具体作用不明。
收取完成后,客户端主动退出,断开连接。
4.其他说明
SMTP协议服务器默认监听端口是25,POP协议服务器默认监听端口是110。
SMTP和POP在不勾选SSL的情况下,都是明文传递,有泄密风险。
(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的支持)