第一篇:計算機網絡應用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.tmdps.cn、www.tmdps.cn、www.tmdps.cn,觀察此時是否還有DNS請求?
2、關閉IE瀏覽器后再重新打開,訪問一個尚未訪問過的網站,例如www.tmdps.cn,觀察此時是否有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的情況下,都是明文傳遞,有泄密風險。
(此文檔部分內容來源于網絡,如有侵權請告知刪除,文檔可自行編輯修改內容,供參考,感謝您的支持)