SOCKS 4A


SOCKS 4A (简体)

SOCKS 4ASOCKS 4 協議的簡單擴展,允許客戶端對無法解析的目的主機,進行自行規定。

客戶端對DSTIP的頭三個位元組設定為NULL,最後一個位元組為非零;對應的IP地址就是0.0.0.x,其中x是非零,這當然不可能是目的主機的地址,這樣即使客戶端可以解析域名,對此也不會發生衝突。USERID以緊跟的NULL位元組作結尾,客戶端必鬚髮送目的主機的域名,並以另一個NULL位元組作結尾。CONNECT和BIND請求的時候,都要按照這種格式(以位元組為單位):

+----+----+----+----+----+----+----+----+----+----+....+----+----+----+....+----+
| VN | CD | DSTPORT | DSTIP 0.0.0.x     | USERID       |NULL| HOSTNAME     |NULL|
+----+----+----+----+----+----+----+----+----+----+....+----+----+----+....+----+
   1    1      2              4           variable       1    variable       1

使用4a協議的伺服器必須檢查請求包里的DSTIP欄位,如果表示地址0.0.0.x,x是非零結尾,那麼伺服器就得讀取客戶端所發包中的域名欄位,然後伺服器就得解析這個域名,可以的話,對目的主機進行連接。

外部鏈接

  • Ying-Da Lee,SOCKS 4A: A Simple Extension to SOCKS 4 Protocol(SOCKS 4A:SOCKS 4協議的一個簡單擴展)
  • Michel Arboi,Vulnerability - Too long hostname kills the SOCKS4A server(很受傷:域名過長導致SOCKS4A伺服器死機)

! __







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History