如何使用netcat测试socks5服务器?

时间:2018-09-27 06:13:14

标签: tcp proxy netcat socks

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 个答案:

答案 0 :(得分:0)

数据包格式图中出现的十进制数字代表相应字段的长度(以八位字节为单位),而不是您应该使用的值。

socks5代理的版本字段应为0x05。 NMETHODS和METHODS的值取决于您要检查的方法。

最后,响应消息的原始输出由不可打印的字符组成,因此,即使它在那里,通常也看不到它,并且显然您需要以CR-结尾netcat的输入LF或永远等待,以便它实际上发送邮件。

因此,总而言之,要检查方法0x00(不进行身份验证),您可以执行类似的操作

printf "\x05\x01\x00\r\n" | nc test.com 30 | hd

并获得

00000000  05 00                                             |..|
00000002

成功。