通過解讀數據包內容對FTP協議的分析


    准備好兩台局域網內的電腦,一台配置為FTP服務器,另一台進行登錄,並使用Wireshark抓包。

    此時兩台電腦的基本狀態為:兩台電腦(Win7系統)直接通過網線相連,其中FTP服務器的IP設為192.168.1.1,客戶端的IP為192.168.1.2。FTP工具為Filezilla(由xampp附帶)。

    

    抓取的包相當雜亂,於是使用過濾器(Filter)對其進行過濾。

    

    當過濾出這些FTP包后猛地一驚,大片的黑底紅字,即Bad TCP。相應顯示的錯誤信息為“Header checksum:0x0000 [incorrect, should be 0xb2d1 (maybe cause by 'IP Checksum Offload'?)]”。網上搜索后才知道,其實,這是由於網卡中關於“硬件校驗和(Offload checksum)”的選項所致。

    

    我的電腦中該項值為“Rx & Tx 開啟”,即Windows的傳輸層將隨機填充TCP校驗和,因此在本機上抓取的數據包是Bad CheckSum。但網卡會自動計算正確的校驗碼然后發送,因此對方收到的仍然是正確的TCP包。

    下面對FTP包做簡要分析:

    

    上圖是前幾個FTP包。具體的“對話內容”有:

        [客戶端通過瀏覽器訪問FTP服務器]

        服務器(S):220(服務就緒,執行新用戶請求),並發送了一個歡迎頁面。

        客戶端(C):USER anonymous。

        S:331(用戶名正確,需要密碼)。

        C:PASS chrome@example.com。

        S:530(未登錄),not log in, user account has been disabled(賬戶無效)。

        C:quit(退出)。

    以上內容應該為瀏覽器自動執行,以試圖以匿名用戶身份登錄服務器,但我在FTP服務期設置時Disabled掉了用戶anonymous的使用權,所以登錄失效了。瀏覽器出現了登錄的對話框。

        S:220(服務就緒,執行新用戶請求),並發送了一個歡迎頁面。

        C:USER test。

        S:331(用戶名正確,需要密碼)。

        C:PASS test。

        S:230用戶已登錄,繼續進行。),log on。

        C:SYST(獲取FTP服務器的操作系統)。

        S:215(回復系統類型),UNIX emulated by Filezilla(由Filezilla仿真了一個Unix的系統)。

        C:PWD(獲取當前目錄)。

        S:257(創建pathname),返回了“/”根目錄。

        C:TYPE I(設置二進制流數據傳輸。TYPE A為ASCII碼,默認。)。

        S:200(確定命令), Type set to I。

        C:EPSV(針對IPV6的被動模式。IPV4的主、被動模式分別為PORT、PASV,IPV6分別為EPRT、EPSV。)。

        S:229,Entering Extended Passive Mode(這是一個報錯,在DOS環境下需Ctrl+C然后鍵入EPSV4 OFF,但瀏覽器下未進行操作)。

        C:SIZE /...(獲取服務器上相應文件的大小)。

        S:213(文件狀態),...。

        C:CWD /...(更換文件目錄,Change working directory)。

        S:550(請求拒絕),CWD Failed(這里是因為上面我選中的是exe文件,仍處於根目錄中,不能進行更換路徑操作)。

        C:RETR /...(文件傳輸,File Transfer)。

        S:150(文件狀態正常,准備打開數據連接),Connection accept。

        [數據傳輸]

        S:226(關閉數據連接,請求操作成功),Transfer OK。

        C:quit

        S:221(關閉控制連接),Goodbye。

    以上便是通過抓包,對一次FTP服務器訪問過程的解讀。接下來,我將着手整理出FTP的狀態碼和命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM