1

私はRFC1928を何度か読んだことがありますが、障害が発生した場合に対応する SOCKS 5 サーバーが何を応答する必要があるのか​​、まだ理解できませんでした。この疑問は、たとえば、無効なコマンドを含む要求を受信した場合、SOCKS 応答の ATYP、BND.ADDR、および BND.PORT フィールドが単に意味をなさないという事実から生じます。サーバーはこれらのフィールドを送信しないか、単に空白を送信する必要がありますか?

4

2 に答える 2

2

ソースコードを赤くしたところ、応答にエラーがある場合 (REP != 0) ATYP は IPv4 (1) BND.ADDR と BND.PORT はすべて NULL バイトであることがわかりました。

この動作は、開発者がリクエストを解析するのに役立つと思いますか?

于 2012-07-30T21:16:09.420 に答える
1

失敗応答では、VERandREPフィールドのみが意味を持ちます。他のフィールドは存在する可能性がありますが、使用されません。REPがゼロでない限り、これらのバイトを調べる必要はありません。

于 2012-07-31T03:11:56.737 に答える