• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • FTP協議的分析和擴展

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    根據是使用Port模式還是Passive模式,FTP使用不同的TCP端口號,在詳細描述FTP前,我們來 簡單討論一下TCP端口號的一些基本概念。TCP使用端口號來標識所發送和接收的應用,端口號 可以幫助TCP來分離字節流并且幫相應字節傳遞給正確的應用程序。 TCP端口號可以

    根據是使用Port模式還是Passive模式,FTP使用不同的TCP端口號,在詳細描述FTP前,我們來
    簡單討論一下TCP端口號的一些基本概念。TCP使用端口號來標識所發送和接收的應用,端口號
    可以幫助TCP來分離字節流并且幫相應字節傳遞給正確的應用程序。
    TCP端口號可以是半永久的和暫時的。服務器端監聽在半永久的端口上來讓客

    戶端訪問??蛻?
    端使用暫時的端口在本地標識一個對話,客戶端端口只在使用TCP服務時候才存在,而服務器
    端口只要服務器在運行就一直在監聽。

    TCP端口可以歸為3類:
    1、眾所周知的端口來標識在TCP上運行的標準服務,包括FTP、HTTP、TELNET、SMTP等,這些
    端口號碼范圍為0-1023;
    2、注冊端口號用來標識那些已經向IANA(Internet Assigned Numbers Assigned Numbers
    Authority)注冊的應用,注冊端口號為1024-49151;
    3、私有端口號是非注冊的并且可以動態地分配給任何應用,私有端口為49152-65535;
    注冊的端口號本來打算只給注冊的應用使用,可近年來端口號已經陷入了到達極限的困境,你
    可能會看到本來應該是給注冊應用使用的注冊端口被非注冊應用用做暫時的端口。RFC1700詳
    細標注了眾所周知的和注冊的端口號,然而不幸的是,這個RFC文檔自從1994年以來一直沒有
    被更新,然后你仍可以從IANA得到一個及時更新的端口列表,詳細URL為:
    http://www.iana.org/assignments/port-numbers


    >>2.0<< FTP Port模式和FTP Passive模式
    當你對一個FTP問題進行排錯時候,你首先要問的一個問題是使用的是port模式的還是passive
    模式。因為這兩種行為迥異,所以這兩種模式引起的問題也不同;在過去,客戶端缺省為acti
    ve(port)模式;近來,由于Port模式的安全問題,許多客戶端的FTP應用缺省為Passive模式。

    >>2.1 FTP Port模式
    Port模式的FTP步驟如下:
    1、 客戶端發送一個TCP SYN(TCP同步)包給服務器段眾所周知的FTP控制端口21,客戶端
    使用暫時的端口作為它的源端口;
    2、 服務器端發送SYN ACK(同步確認)包給客戶端,源端口為21,目的端口為客戶端上使用
    的暫時端口;
    3、 客戶端發送一個ACK(確認)包;客戶端使用這個連接來發送FTP命令,服務器端使用這個
    連接來發送FTP應答;
    4、 當用戶請求一個列表(List)請求或者發起一個要求發送或者接受文件的請求,客戶端軟件使用
    PORT命令,這個命令包含了一個暫時的端口,客戶端希望服務器在打開一個數據連接時候使用
    這個暫時端口;PORT命令也包含了一個IP地址,這個IP地址通常是客戶自己的IP地址,而且FT
    P也支持第三方(third-party)模式,第三方模式是客戶端告訴服務器端打開與另臺主機的連接;
    5、 服務器端發送一個SYN包給客戶端的暫時端口,源端口為20,暫時端口為客戶端在PORT命令中
    發送給服務器端的暫時端口號;
    6、 客戶端以源端口為暫時端口,目的端口為20發送一個SYN ACK包;
    7、 服務器端發送一個ACK包;
    8、 發送數據的主機以這個連接來發送數據,數據以TCP段(注:segment,第4層的PDU)形式發送(
    一些命令,如STOR表示客戶端要發送數據,RETR表示服務器段發送數據),這些TCP段都需要
    對方進行ACK確認(注:因為TCP協議是一個面向連接的協議
    9、 當數據傳輸完成以后,發送數據的主機以一個FIN命令來結束數據連接,這個FIN命令需要另一
    臺主機以ACK確認,另一臺主機也發送一個FIN命令,這個FIN命令同樣需要發送數據的主機以A
    CK確認;
    10、 客戶端能在控制連接上發送更多的命令,這可以打開和關閉另外的數據連接;有時候客戶端結
    束后,客戶端以FIN命令來關閉一個控制連接,服務器端以ACK包來確認客戶端的FIN,服務器
    同樣也發送它的FIN,客戶端用ACK來確認。

    下圖圖示了FTP PORT模式前幾步步驟:
    /====================================================================\
    | |
    | [ ftp Client ] [ ftp Server ] |
    | |
    | (TCP:21 連接初始化,控制端口) |
    | SYN |
    | Port xxxx ----------------------> Port 21 [TCP] |
    | SYN+ACK |
    | Port xxxx <---------------------- Port 21 |
    | ACK |
    | Port xxxx ----------------------> Port 21 |
    | |
    | (控制操作: 用戶列目錄或傳輸文件) |
    | |
    | Port, IP, Port yyyy |
    | Port xxxx <---------------------- Port 21 |
    | Port Seclearcase/" target="_blank" >ccussful |
    | Port xxxx <---------------------- Port 21 |
    | List, Retr or Stor |
    | Port xxxx ----------------------> Port 21 |
    | |
    | |
    | (TCP:20 連接初始化,數據端口) |
    | SYN |
    | Port yyyy <---------------------- Port 20 |
    | SYN+ACK |
    | Port yyyy ----------------------> Port 20 |
    | ACK |
    | Port yyyy <---------------------- Port 20 |
    | |
    | |
    | (數據操作: 數據傳輸) |
    | Data + ACK |
    | Port yyyy <---------------------> Port 20 |
    | . |
    | . |
    | . |
    | |
    \====================================================================/

    FTP Port模式會給網絡管理人員在許多方面帶來很多問題,首先,在PORT命令消息中的IP地址和端
    口號的編碼不是直白地顯示。另外,應用層的協議命令理論上不應該包含網絡地址信息(注:
    IP地址),因為這打破了協議層的原則并且可能導致協同性和安全性方面的問題。

    下圖是WildPackets EtherPeek協議分析儀解碼了PORT命令的地址參數,地址參數后是端口號,見PORT
    192,168,10,232,6,127;6,127部分的第一個阿拉伯數字乘以256,然后加上第2個阿拉伯數字
    就得到端口號,所以客戶端指定了端口號為6*256+127=1663;
    /====================================================================\
    | IP Header - Internet Protocol Datagram |
    | Version: 4 |
    | Header Length: 5 (20 bytes) |
    | |
    | ............... |
    | |
    | Time To Live: 128 |
    | Protocol: 6 TCP - Transmission Control Protocol |
    | Header Checksum: 0xAA36 |
    | Source IP Address: 192.168.0.1 DEMO |
    | Dest. IP Address: 192.168.0.3 VI |
    | No IP Options |
    | |
    | TCP - Transport Control Protocol |
    | Source Port: 2342 manage-exec |
    | Destination Port: 21 ftp |
    | Sequence Number: 2435440100 |
    | Ack Number: 9822605 |
    | Offset: 5 (20 bytes) |
    | Reserved:

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>