`
小嘴冰凉
  • 浏览: 457098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POP3协议命令原始码及工作原理

阅读更多

1. POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。脱机 模型即不能在线操作,不像IMAP4(netscape支持IMAP4) 
    2. 当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件 都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。 
    3. POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码 表示。 服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本+ OK或-ERR指出相应 的操作状态是成功还是失败
    4. 在POP3协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态, 在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。如下图 
    等待连接 身份确认 quit命令 
   ——|认可|————— |处理|——————|更新| 
     |__________________________________| 
           重返认可状态 
    5. 认可状态的命令语句
    一般情况下,大多数现有的POP3客户与服务器执行采用ASCII明文发送用户名和口令,在 认可状态等待客户连接的情况下,客户发出连接,并由命令user/pass对在网络上发送明文用户名和 口令给服务器进行身份确认。一旦确认成功,便转入处理状态。 为了避免发送明文口令的问题,有一种新的认证方法,命令为APOP,使用APOP,口令在 传输之前被加密。 
    当第一次与服务器连接时,POP3服务器向客户机发送一个ASCII码问候,这个问候由一串字符组成对每个客户机是唯一的,与当时的时间有关,然后,客户机把它的纯文本口令附加到从服务器接收到的字符串之后,然后计算出结果字符串的MD5单出函数消息摘要,客户机把用户名与MD5消息摘要作为APOP命令的参数一起发送出去。 
    目前,大多数windows上的邮件客户软件不支持APOP命令,qpopper支持。 
    6. POP3命令码如下:
命令 参数 状态 描述
------------------------------------------
USER username 认可 此命令与下面的pass命令若成功,将导致状态转换
PASS password 认可
APOP Name,Digest 认可 Digest是MD5消息摘要
------------------------------------------
STAT None 处理 请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
UIDL [Msg#] 处理 返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的
LIST [Msg#] 处理 返回邮件数量和每个邮件的大小
RETR [Msg#] 处理 返回由参数标识的邮件的全部文本
DELE [Msg#] 处理 服务器将由参数标识的邮件标记为删除,由quit命令执行
RSET None 处理 服务器将重置所有标记为删除的邮件,用于撤消DELE命令
TOP [Msg#] 处理 服务器将返回由参数标识的邮件前n行内容,n必须是正整数
NOOP None 处理 服务器返回一个肯定的响应
------------------------------------------
QUIT None 更新
a.客户机希望结束这次会话
b.如果服务器处于‘处理’状态,那么将进入‘更新’状态以删除任何标记为删除的邮件
c.导致由处理状态到更新状态,又重返认可状态的转变
d.如果这个命令发出时服务器处于‘认可’状态,则结束会话,不进行‘更新’状态。 
    7. POP3协议在TCP/110端口上等待客户连接请求。 
    8. 若密码为明文,我如何监听? 
    下面的命令在服务器运行后在屏幕上显示POP3连接及命令发送的过程:
#sniffit -a -A. -p 110 -b -s 192.169.11.12
note: 192.168.11.12是客户机IP地址。你需要事先安装sniffit这个端口监听程序 
    9. 考虑这种情况,若客户在收取邮件时,假定为15封信等待接收,但由于线路问题,收到第10封时断线了,为什么下次收时仍然从第一封开始,也即为什么前10封没有被从服务器上删除掉?任何邮件的删除都必须在quit命令发出后对已标记为删除的邮件执行删除操作,由于中途断线,仍处于处理状态,没有机会执行quit命令以进行状态转换。 
    10. pop3 session is locked by another session, please wait 10 minutes then try again. 由于非正常操作引起POP3程序内部机制锁住该次会话。 
    11. Foxmail与OE(outlook express)的处理机制的不同。 
    a. 假定服务器上有三封邮件等待客户机接收。用foxmail与OE的不同之处在于foxmail每收一封标记删除一封,而OE则等全部接收完后再全部标记为删除最后执行quit命令。
Foxmail OE
-------------------------------
retr 1 retr 1
dele 1 retr 2
retr 2 retr 3
dele 2 dele 1
retr 3 dele 2
dele 3 dele 3
quit quit
    b. Foxmail的远程邮件管理是非常优秀的管理工具,假定服务器上有三封信,对第一封,我们不想接收想从服务器直接删除;对第二封,想接收但不删除,对第三封,这一次不想接收,分别标记后最后foxmail发出的命令是
dele 1
retr 2
quit
    c. 若没有foxmail,正好有几封很大的信堵住了,我不想接收,想直接删除它,或者想查看这两封是谁发的?直接在windows的DOS窗口下用命令行操作,如:
# telnet my.isp.net 110
user username
pass password
list
dele 3
dele 5
quit


分享到:
评论

相关推荐

    Pop3协议_收发邮件

    下面将详细介绍POP3协议的工作原理、特点以及如何通过POP3进行邮件收发。 一、POP3协议工作原理 POP3协议基于客户端/服务器模型。当用户想要检查新的邮件时,他们的邮件客户端(如Outlook、Thunderbird或Apple ...

    pop3.rar_libnids smtp_libnids pop3_pop3_pop3 协议_pop3 邮件

    通过这个程序,开发者可以深入理解POP3协议的工作原理,也可以用于开发自己的邮件监控或者安全审计工具。 总结来说,这个项目提供了一个C语言实现的工具,用于分析和理解电子邮件协议中的POP3部分,利用了`libnids`...

    邮箱实现原理。POP3,SMTP

    了解和掌握SMTP和POP3的原理及编程,对于开发邮件应用至关重要,包括能够编写异步的邮件接收和发送程序,理解邮件的结构(信封、首部、正文和结束符号),以及如何处理SMTP响应码,这些都是成为熟练的IT从业者所必需...

    pop3接收邮件及解码

    POP3(Post Office Protocol ...总之,POP3协议是互联网上获取邮件的标准方法,理解其工作原理和邮件解码过程对于有效管理个人或企业的邮件通信至关重要。通过使用POP3,我们可以确保安全、可靠地接收和处理电子邮件。

    pop3高级程序开发_pop3_

    下面我们将深入探讨POP3协议的工作原理,以及在编程中实现这些功能的关键技术点。 1. POP3协议简介: POP3是基于TCP的协议,运行在110端口。它的主要任务是让用户可以从远程邮件服务器下载邮件到本地设备。POP3...

    pop3高级程序开发 c++源码

    此外,由于原始POP3协议不支持SSL/TLS加密,所以在实际应用中,通常会使用POP3 over SSL(也称为POP3S),确保传输过程中数据的安全。 在提供的源码中,可能会有如下关键部分: - `Connection`类:负责与POP3服务器...

    POP3.rar_pop3_pop3.cpp

    POP3(Post Office Protocol version 3)是一种互联网标准协议,用于从邮件服务器接收电子邮件。...通过阅读和分析`pop3.cpp`代码,开发者可以深入理解POP3协议的工作原理,以及如何在实际项目中实现邮件的接收功能。

    网络协议大全

    ARP协议 PPP(Point-to-Point Protocol点...SMTP协议原始命令码和工作原理 多协议标志交换(MPLS)基本原理 POP3 邮局协议-版本3 CIP 传输协议 802.1x协议解析 X.25 协议 XKMS协议介绍及其工作原理 技术简述

    POP3应用1

    POP3协议是互联网中用于接收电子邮件的标准协议,它在TCP/IP协议族中占有重要位置,由RFC 1939规范定义。POP3全称为Post Office Protocol ...通过这样的实践,可以深入理解POP3协议的工作原理和BASE64编码的使用。

    POP3邮件接收程序

    在这个“POP3邮件接收程序”的描述中,提到代码完整且注释详细,这意味着它可能是一个教学示例或开源项目,适合初学者学习邮件系统的工作原理和网络编程。开发者可能使用了像Python的`poplib`库或Java的`javax.mail`...

    a63822322的什么是POP3和SMTP的说明

    POP3协议允许用户将邮件从服务器下载到本地计算机,并可以选择性地从服务器上删除这些邮件。 #### POP3的工作原理 1. **连接建立**:客户端软件(如Outlook、Thunderbird等)通过TCP/IP协议与邮件服务器建立连接。...

    pop3和smtp

    理解SMTP和POP3的工作原理对于有效地使用电子邮件服务至关重要。例如,当你在邮件客户端设置新账户时,需要正确配置SMTP服务器地址、端口、用户名和密码,以及POP3服务器信息,以便能够发送和接收邮件。同时,了解...

    Internet与WEB服务源代码_updatepop3wrapper

    2. **POP3协议实现**:如AUTH命令用于身份验证,STAT和LIST命令用于查询邮件数量和大小,RETR命令用于下载邮件,DELE命令用于标记邮件待删除等。 3. **C++编程**:如何使用C++来编写网络客户端,包括类的设计,异常...

    接收电子邮件的程序实例

    【接收电子邮件的程序实例】是关于如何通过编程方式使用POP3协议接收电子邮件的教程。POP3(Post Office Protocol version 3)是一种标准的互联网协议,用于从邮件服务器上下载电子邮件到本地客户端。以下是对该实例...

    计算机网络实验_网络协议

    这些实验不仅加深了对网络协议工作原理的理解,也为未来的网络应用开发提供了实践基础。通过实际操作,学习者能直观地感受到网络协议的运作,这对于理解和设计网络应用程序至关重要。此外,实验也强调了使用诸如...

    RFC1939.rar

    1. **协议概述**:定义了POP3协议的工作原理,包括其命令和响应格式。POP3协议基于TCP/IP,通常使用110端口进行通信。 2. **会话状态**:POP3会话分为三个阶段:CAPA(能力)、AUTH(认证)和 TRANSACTION(事务)...

    swjtu西南交大:网络编程技术-实验报告-网络体系结构及TCPIP协议分析

    #### 三、TCP/IP协议层次结构及报文格式 - **应用层**:负责处理特定的应用程序细节,如HTTP、FTP、SMTP等。 - **传输层**:提供端到端的数据传输服务,主要协议有TCP和UDP。 - **TCP**:传输控制协议,提供可靠的...

    计算机网络安全课程实验报告.docx

    此外,实验还涵盖了自定义网络嗅探器(如RawSocket)的使用,让学生了解底层网络通信的工作原理。 实验意义: 这个实验不仅加深了学生对密码学基本概念的理解,如加密和解密,还强调了网络通信安全的重要性,尤其...

    9.4 简单邮件传输协议(SMTP) - Wireshark 数据包分析实战(第 3 版) - 知乎书店1

    总之,SMTP是电子邮件系统的基础,其工作原理和数据包分析对于理解和排查邮件问题至关重要。通过Wireshark这样的工具,我们可以深入到网络通信的底层,增强对邮件服务的理解,提升网络管理的效率。

Global site tag (gtag.js) - Google Analytics