私はRFC1928を何度か読んだことがありますが、障害が発生した場合に対応する SOCKS 5 サーバーが何を応答する必要があるのか、まだ理解できませんでした。この疑問は、たとえば、無効なコマンドを含む要求を受信した場合、SOCKS 応答の ATYP、BND.ADDR、および BND.PORT フィールドが単に意味をなさないという事実から生じます。サーバーはこれらのフィールドを送信しないか、単に空白を送信する必要がありますか?
2 に答える
2
ソースコードを赤くしたところ、応答にエラーがある場合 (REP != 0) ATYP は IPv4 (1) BND.ADDR と BND.PORT はすべて NULL バイトであることがわかりました。
この動作は、開発者がリクエストを解析するのに役立つと思いますか?
于 2012-07-30T21:16:09.420 に答える
1
失敗応答では、VER
andREP
フィールドのみが意味を持ちます。他のフィールドは存在する可能性がありますが、使用されません。REP
がゼロでない限り、これらのバイトを調べる必要はありません。
于 2012-07-31T03:11:56.737 に答える