資源描述:
《SMTP協(xié)議分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第1章.????SMTP概述1.1.?SMTP在郵件通信中的位置SMTP,即簡(jiǎn)單郵件傳送協(xié)議,所對(duì)應(yīng)RFC文檔為RFC821。同http等多數(shù)應(yīng)用層協(xié)議一樣,它工作在C/S模式下,用來(lái)實(shí)現(xiàn)因特網(wǎng)上的郵件傳送。SMTP在整個(gè)電子郵件通信中所處的位置如圖1所示。圖1電子郵件的通信過(guò)程可以看出,SMTP是用來(lái)將客戶機(jī)上的郵件傳送到服務(wù)器上。這里的客戶機(jī)是指某次連接中的發(fā)送方,服務(wù)器是指相應(yīng)的接收方。在講解發(fā)送郵件的整個(gè)通信過(guò)程前,先解釋一下面幾個(gè)術(shù)語(yǔ)。1.2.?幾個(gè)術(shù)語(yǔ)1.2.1.?郵件郵件是一種消息的格式,由信封、首部和正文組成。信封上最重要的是收信人的地址。郵件服務(wù)器用這
2、個(gè)地址將郵件發(fā)送到收信人所在的郵件服務(wù)器上。首部是由用戶代理或郵件服務(wù)器添加的一些信息。包括Received、Message-ID、From、Data、Reply-To、X-Phone、X-Mailer、To和Subject等字段。正文是是發(fā)送用戶發(fā)給接收用戶報(bào)文的內(nèi)容。RFC822規(guī)定正文為NVTASCII文字行。更為詳細(xì)的說(shuō)明,請(qǐng)參考RFC821和RFC822等協(xié)議。1.2.2.?用戶代理用戶代理UA(UserAgent)是用戶與電子郵件系統(tǒng)的交互接口,一般來(lái)說(shuō)它就是我們PC機(jī)上的一個(gè)程序。Windows上常見的用戶代理是Foxmail和OutlookExpress
3、。用戶代理提供一個(gè)好的用戶界面,它提取用戶在其界面填寫的各項(xiàng)信息,生成一封符合SMTP等郵件標(biāo)準(zhǔn)的郵件,然后采用SMTP協(xié)議將郵件發(fā)送到發(fā)送端郵件服務(wù)器。1.2.3.?郵件服務(wù)器郵件服務(wù)器是電子郵件系統(tǒng)的核心,它用來(lái)發(fā)送和接收郵件。郵件服務(wù)器不同于普通PC的是它幾乎是全天工作的,所以它可以在任何時(shí)候?yàn)橛脩籼峁┓?wù),后面將提到這正是為什么需要郵件服務(wù)器的一個(gè)重要原因。很多ISP都提供免費(fèi)的郵件服務(wù)器,如126提供smtp.126.com郵件服務(wù)器。郵件服務(wù)器向其它郵件服務(wù)器轉(zhuǎn)發(fā)郵件也是采用SMTP協(xié)議。1.3.?郵件的收發(fā)過(guò)程一般情況下,一封郵件的發(fā)送和接收過(guò)程如下。1)
4、???????發(fā)信人在用戶代理里編輯郵件,包括填寫發(fā)信人郵箱、收信人郵箱和郵件標(biāo)題等等。2)???????用戶代理提取發(fā)信人編輯的信息,生成一封符合郵件格式標(biāo)準(zhǔn)(RFC822)的郵件。3)???????用戶代理用SMTP將郵件發(fā)送到發(fā)送端郵件服務(wù)器(即發(fā)信人郵箱所對(duì)應(yīng)的郵件服務(wù)器)。4)???????發(fā)送端郵件服務(wù)器用SMTP將郵件發(fā)送到接收端郵件服務(wù)器(即收信人郵箱所對(duì)應(yīng)的郵件服務(wù)器)。5)???????收信人調(diào)用用戶代理。用戶代理用POP3協(xié)議從接收端郵件服務(wù)器取回郵件。6)???????用戶代理解析收到的郵件,以適當(dāng)?shù)男问匠尸F(xiàn)在收信人面前。第2章.????SMTP
5、詳解2.1.?通信過(guò)程一個(gè)具體的SMTP通信(如發(fā)送端郵件服務(wù)器與接收端服務(wù)器的通信)的過(guò)程如下。1)???????發(fā)送端郵件服務(wù)器(以下簡(jiǎn)稱客戶端)與接收端郵件服務(wù)器(以下簡(jiǎn)稱服務(wù)器)的25號(hào)端口建立TCP連接。2)???????客戶端向服務(wù)器發(fā)送各種命令,來(lái)請(qǐng)求各種服務(wù)(如認(rèn)證、指定發(fā)送人和接收人)。3)???????服務(wù)器解析用戶的命令,做出相應(yīng)動(dòng)作并返回給客戶端一個(gè)響應(yīng)。4)???????2)和3)交替進(jìn)行,直到所有郵件都發(fā)送完或兩者的連接被意外中斷。從這個(gè)過(guò)程看出,命令和響應(yīng)是SMTP協(xié)議的重點(diǎn),下面將予以重點(diǎn)講述。2.2.?命令和響應(yīng)2.2.1.?格式SMT
6、P的命令不多(14個(gè)),它的一般形式是:COMMAND?[Parameter]。其中COMMAND是ASCII形式的命令名,Parameter是相應(yīng)的命令參數(shù),是回車換行符(0DH,0AH)。SMTP的響應(yīng)也不復(fù)雜,它的一般形式是:XXX?ReadableIllustration。XXX是三位十進(jìn)制數(shù);ReadableIllustration是可讀的解釋說(shuō)明,用來(lái)表明命令是否成功等。XXX具有如下的規(guī)律:以2開頭的表示成功,以4和5開頭的表示失敗,以3開頭的表示未完成(進(jìn)行中)。2.2.2.?一個(gè)例子命令和響應(yīng)的格式是語(yǔ)法,各命令和響應(yīng)的意思則是語(yǔ)義,各命令和各響應(yīng)在時(shí)
7、間上的關(guān)系則是同步。下面將通過(guò)一個(gè)簡(jiǎn)單的SMTP通信過(guò)程來(lái)說(shuō)明協(xié)議的這三個(gè)要素。C:telnetsmtp.126.com25??S:220126.comAnti-spamGTforCoremailSystem(126com[071018]) C:HELOsmtp.126.comS:250OKC:MAILFROM:bripengandre@126.comS:250….C:RCPTTO:bripengandre@smail.hust.edu.cn S:250….C:DATA?S:354Entermail,endwith"."onalineby