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的方式