socks 5 協議解析
阿新 • • 發佈:2018-02-04
class password 私人 sock 認證 private user strong cep
本文所列的表格通常長這樣的:
┌────────┬────────┬────────┐
│ field1 │ field2 │ field3 │
├────────┼────────┼────────┤
│ 1 │ 2 │ 3 │
└────────┴────────┴────────┘
其中field就是協議頭的域,其下面的數字表示該域所占字節數量,而不是其表示內容。
協議內容
client to server
┌─────┬──────────┬─────────┐ │ VER │ NMETHODS │ METHODS │ ├─────┼──────────┼─────────┤ │ 1 │ 1 │ 1~255 │ └─────┴──────────┴─────────┘
用途:確立連接認證方法協商,client告知server其所支持的認證方法,server可從中挑選一個。其中
ver
socks協議的版本號,常用的是socks5版本的,故可以為0x05
。
nmethods
後面的域methods有n個字節
methods
每個字節即為一個認證方法,供server挑選server to client
┌──────┬──────────┐ │ VER │ METHOD │ ├──────┼──────────┤ │ 1 │ 1 │ └──────┴──────────┘
用途:告知client需要使用哪種認證方法進行認證。
ver
版本,即0x05
method
可以下面其中一項:
o0x00
NO AUTHENTICATION REQUIRED 無需認證
o0x01
GSSAPI
o0x02
USERNAME/PASSWORD 用戶名/密碼
o0x03
to0x7F
IANA ASSIGNED 由IANA指定
o0x80
to0xFE
RESERVED FOR PRIVATE METHODS 私人保留方法
o0xFF
NO ACCEPTABLE METHODS 不接受
socks 5 協議解析