我已多次阅读RFC1928,但仍无法理解兼容的SOCKS 5服务器在发生故障时应该回复的内容。这种怀疑来自这样的事实:例如,如果接收到具有无效命令的请求,来自SOCKS应答的ATYP,BND.ADDR和BND.PORT字段就没有意义。服务器必须不发送这些字段还是只发送空白?
答案 0 :(得分:2)
我只是红腻子源代码,发现当回复中有错误时(REP!= 0)ATYP是IPv4(1)BND.ADDR和BND.PORT都是NULL字节。
我猜这种行为有助于开发人员解析请求吗?
答案 1 :(得分:1)
在失败回复中,只有VER
和REP
字段才有意义。其他字段可能存在但未使用。除非REP
为零,否则甚至不需要查看这些字节。