如何使用 netcat 测试 socks5 服务器?
Posted
技术标签:
【中文标题】如何使用 netcat 测试 socks5 服务器?【英文标题】:how use netcat to test socks5 server? 【发布时间】:2018-09-27 06:13:13 【问题描述】:在rfc1928中,首先,客户端必须向服务器发送消息:
client send to server:
+----+----------+----------+
|VER | NMETHODS | METHODS |
+----+----------+----------+
| 1 | 1 | 1 to 255 |
+----+----------+----------+
然后服务器应该返回以下消息:
+----+--------+
|VER | METHOD |
+----+--------+
| 1 | 1 |
+----+--------+
所以我使用命令行来测试:
$ echo -e '0x01''0x01''0x01' | nc test.com 30
这个命令应该返回给我
0x01 0x01
但是什么都不给我留空白
【问题讨论】:
【参考方案1】:出现在数据包格式图中的十进制数字表示相应字段的长度,以八位字节为单位,而不是您应该使用的值。
socks5 代理的版本字段应该是0x05
。 NMETHODS 和 METHODS 的值取决于您要检查的方法。
最后,响应消息的原始输出包含不可打印的字符,因此即使它存在,您通常也无法看到它,显然您需要使用 CR- 结束 netcat 的输入LF 或永远等待,以便它实际发送消息。
总而言之,要检查方法 0x00
(无身份验证),您可以执行类似的操作
printf "\x05\x01\x00\r\n" | nc test.com 30 | hd
得到
00000000 05 00 |..|
00000002
成功。
【讨论】:
以上是关于如何使用 netcat 测试 socks5 服务器?的主要内容,如果未能解决你的问题,请参考以下文章