應用層服務的原理和工作端口全解析(FTP,telnet,SSH,SMTP,DNS,HTTP)

SMTP 簡單郵件協議 是一種發送的郵件協議,並不能接受郵件,開啓,應用層協議,SMTP-auth 擴展,POP3和IMAP進行收取郵件

https://blog.csdn.net/cnyxlxw/article/details/6619935

工作原理 :首先能夠在服務器和服務器還有客戶端和服務器之間進行傳輸

傳輸的步驟 建立tcp連接

客戶端HELLO命令表示自己的身份,在發送MAIL表示自己要發送郵件

服務器返回可以發送之後

客戶端進行發送RCPT指定接收的人,

服務端決定是否接受

協商結束 客戶端DATA命令進行發送

端口 25

DNS

http://www.ruanyifeng.com/blog/2016/06/dns.html

https://zhuanlan.zhihu.com/p/28273783

端口 53

需要注意的點

本質是返回ip地址

dns服務器的地址可以dhcp動態分配,也可以靜態進行配置

 

HTTP

https://www.jianshu.com/p/5dc1793a4d10

工作原理

當我們訪問資源時 客戶端和服務器建立連接 ,HTTP開始工作,建立連接之後,客戶機發送一個請求給服務器

請求封裝成HTTP報文 其中有URL 協議版本號

接受請求後給予相應信息 200 306 404 502

返回內容 顯示

端口 80

 

 

FTP

工作原理

ftp有兩種模式

https://blog.csdn.net/ZWE7616175/article/details/81356015

一種是主動模式port,共開啓兩個端口 21控制端口 20數據端口(安全防火牆控制)

一種是被動端口 pasv 21控制端口和所有大於1024的端口x端口

端口 20 21 1024以上

建立兩次TCP連接,一次是控制連接 是我主動向服務器的21端口建立

第二次是服務器知道我的ip和隨機端口之後向我的20端口建立的數據傳輸連接

舉例子

當我要向服務器進行文件上傳的時候,首先向ftp服務器的21端口發送建立連接的請求,服務器受到請求,第一次三次握手建立控制連接

通過控制連接向服務器發送一個命令告訴我的ip地址和臨時端口

服務器接受到之後從20端口向我的ip地址所對應的默認端口建立tcp連接,第二次三次握手

上傳文件,服務器主動結束連接

 

telnet

端口 23

什麼是telnet服務:遠程登錄的服務,管理服務器的操作

原理

1)與遠程主機建立一個TCP連接,用戶必須知道遠程主機的Ip地址或域名

2)將本地終端上輸入的用戶名和口令及以後輸入的任何命令或字符以NVT(Net Virtual Terminal)格式傳送到遠程主機。該過程實際上是從本地主機向遠程主機發送一個IP數據包;

3)將遠程主機輸出的NVT格式的數據轉化爲本地所接受的格式送回本地終端,包括輸入命令回顯和命令執行結果;

4)最後,本地終端對遠程主機進行撤消連接。該過程是撤銷一個TCP連接。

NVT格式進行發送

 

SSH

端口 22

secure shell命令,ftp和telnet本質是不安全的,中間人攻擊等,加密了傳輸的數據,ssh更加安全

提供兩種級別的安全驗證,一種是基於口令 另外一種是基於密鑰,不能防止中間人攻擊

基於密鑰將自己的公鑰放在服務器上,連接的時候先驗證公鑰是否正確,之後服務器使用發送挑戰challenge的方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章