7

SOCKSクライアントライブラリを使用してPythonでSOCKS5プロキシ経由でUDPデータグラムを送信することは可能ですか? SocksiPy が機能していないように見えるか、単に使い方が間違っているだけかもしれません。次のコードは機能しません。宛先に直接接続しようとします。

s = socks.socksocket ( socket.AF_INET, socket.SOCK_DGRAM )
s.setproxy(socks.PROXY_TYPE_SOCKS5,"socks.proxy.lan")
s.sendto ( payload, ( ip, port ) )

コードを変更SOCK_DGRAMSOCK_STREAMても機能しない場合は、どこにも接続しようとしません。

4

2 に答える 2

2

sendto() の代わりに connect() と send() を使用しようとしましたか? SocksiPy のソース コードから判断すると、コネクションレス モードは実装されていません。

編集

req = struct.pack('BBB', 0x05, 0x01, 0x00)

ここでは、TCP ストリーム接続 (0x01) がハードコーディングされているようです。SocksiPy はそのままでは機能しません。

于 2012-06-15T15:01:48.533 に答える
0

これを試しましたか:

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "socks.proxy.lan", 8080, True)

8080 をポートに置き換えます。rdns を有効にする場合は、「True」を True にします。

Python バージョン 3 以降を使用している場合は、PySocks を使用することをお勧めします。

socks.set_default_proxy(socks.PROXY_TYPE_SOCKS5, "socks.proxy.lan", 8080, True)
于 2014-02-22T17:55:45.260 に答える