1. FTP 協(xié)議
FTP 數(shù)據(jù)傳輸協(xié)議,屬于是成塊數(shù)據(jù)流。
1.1 FTP的應(yīng)用
FTP是用來傳送文件的協(xié)議。使用FTP實現(xiàn)遠程文件傳輸?shù)耐瑫r,還可以保證數(shù)據(jù)傳輸?shù)目煽啃院透咝浴?/p>
1.2 FTP傳輸文件的過程
TCP連接
使用FTP進行文件傳輸時,會使用兩個TCP連接。
-
第一個連接是FTP客戶端和FTP服務(wù)器間的控制連接。FTP服務(wù)器開啟21號端口,等待FTP客戶端發(fā)送連接請求。FTP客戶端隨機開啟端口,向服務(wù)器發(fā)送建立連接的請求??刂七B接用于在服務(wù)器和客戶端之間傳輸控制命令。
-
第二個連接是FTP客戶端和FTP服務(wù)器間的數(shù)據(jù)連接。FTP服務(wù)器使用TCP的20號端口與客戶端建立數(shù)據(jù)連接。通常情況下,服務(wù)器主動建立或中斷數(shù)據(jù)連接。
1.3 FTP傳輸模式
FTP傳輸數(shù)據(jù)時支持兩種傳輸模式:ASCII模式和二進制模式。
-
ASCII模式用于傳輸文本。發(fā)送端的字符在發(fā)送前被轉(zhuǎn)換成ASCII碼格式之后進行傳輸,接收端收到之后再將其轉(zhuǎn)換成字符。
-
二進制模式常用于發(fā)送圖片文件和程序文件。發(fā)送端在發(fā)送這些文件時無需轉(zhuǎn)換格式,即可傳輸。
兩個信道
- 控制信道(21端口)
- 數(shù)據(jù)信道(20端口)
FTP的兩個模式
- 主動模式(Active Mode)
- 被動模式(Passive Mode)
通常都是使用的是被動模式Passive Mode,不管是什么模式第一信道都是不變的,所有的區(qū)別都在第二信道中。
1.4 主動模式(Active Mode)
在第一個信道中主要是認(rèn)證,還要進行三次握手的建立。在FTP上要下載文件,這樣就需要建立第二信道,也就是所有服務(wù)器給客戶端的數(shù)據(jù)都是在第二信道中傳遞的。
在第一個信道中發(fā)送PORT命令,由客戶發(fā)送給服務(wù)器,在PORT中有6個數(shù)字,分別用(a,b,c,d,e,f)來表示。這6個數(shù)字用逗號來分割。其作用是告訴客戶端它的IP地址是a.b.c.d,端口號是e*256+f 的結(jié)果為目的端口號。
服務(wù)器發(fā)起第二信道,源端口是20號端口,目的端口是e*256+f,在第二信道中也要進行三次握手的建立,所有數(shù)據(jù)都要在第二信道中進行傳輸。
1.5 Active Mode 抓包分析
首先在虛擬機中開啟FTP服務(wù)端
然后本機啟動FTP客戶端,進行連接。
在連接的時候使用OmniPeek進行抓包
很明顯用戶名和密碼被抓取出來了,所以FTP是不安全的。
第一個信道中發(fā)送PORT,在PORT中有6個數(shù)字,分別是(192,168,188,229,192,157)。
192*256+157=49309,這個49309就是目的端口,而192.138.188.229就是FTP服務(wù)端的 IP 地址。
第一次建立第二信道發(fā)送listing,意思是羅列清單查看FTP上有哪些文件和數(shù)據(jù)。這些信息都是通過第二信道主動發(fā)送的。
向下拖動還發(fā)現(xiàn)一個PORT命令,這個是第二次建立第二信道,表示下載FTP上的wuhu文件。只要是服務(wù)器過來的數(shù)據(jù)都要建立第二信道。
1.6 被動模式(Passive Mode)
客戶端發(fā)送PASV命令,該命令就是詢問服務(wù)器是否支持Passive Mode。如果服務(wù)器支持會回復(fù)227,還有6個數(shù)字并且用的逗號分割。服務(wù)器地址是a.b.c.d,所連接的端口號是e*256+f。
第二信道客戶端是隨機端口,目的端口號是e*256+f,雙方都是動態(tài)的端口號。
1.7 Passive Mode 抓包分析
通常都是使用的是被動模式Passive Mode。
客戶端發(fā)送PASV命令,并且在下面的TCP三次握手發(fā)現(xiàn)源端口和目的端口都是動態(tài)的。
2. Telnet 協(xié)議
2.1 Telnet 概念
Telnet 協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。屬于是交互式數(shù)據(jù)流,明文傳輸用戶名和密碼非常的不安全。占用**23端口號**。
它為用戶提供了在本地計算機上完成遠程主機遠作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務(wù)器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務(wù)器上運行,就像直接在服務(wù)器的控制臺上輸入一樣??梢栽诒镜鼐湍芸刂品?wù)器。要開始一個telnet會話,必須輸入用戶名和密碼來登錄服務(wù)器。Telnet是常用的遠程控制路由器的方法。
特點:
- 交互式TCP數(shù)據(jù)流特點
- 安全問題(替代協(xié)議SSH)
2.2 Telnet 協(xié)議抓包分析
在本機cmd窗口輸入如下命令進行Telnet遠程登錄。
telnet 192.168.188.227
然后輸入虛擬機中的用戶名,密碼,管理員名稱。
登錄成功彈出如下界面
在登錄的過程中進行抓包,這里使用的是OmniPeek,原因是因為這個比起Wireshark更加的方便對數(shù)據(jù)包進行分析。
可以看到在本機輸入的用戶名和密碼被抓取到了,這樣就非常的不安全。
而且Telnet是屬于TCP的交互式數(shù)據(jù)流,在輸入用戶名和密碼的時候,數(shù)據(jù)包是客戶端發(fā)送一個,服務(wù)端接受一個。這樣在抓取到的數(shù)據(jù)包中看到客戶端和服務(wù)端一來一回的一個交互過程。
在數(shù)據(jù)包內(nèi)容中可以看到目的端口是23,也就是Telnet所占用的端口號。
文章來源:http://www.zghlxwxcb.cn/news/detail-807740.html
CSNAS 抓包分析文章來源地址http://www.zghlxwxcb.cn/news/detail-807740.html
到了這里,關(guān)于TCP/IP詳解——FTP 協(xié)議,Telnet協(xié)議的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!