Socks5プロキシが機能するかどうかを確認する方法


36

できればLinuxターミナルを使用して、Socks5プロキシが機能するかどうかを確認する簡単な方法はありますか?

回答:


40

自分でプロキシを作成した場合は、まず、開いているポートがあるかどうかを確認する必要があります(p関連するプロセスが自分のものであるか、ルートである場合にのみ引数が機能します)。

netstat -tlnp

これにより、次のような行が表示されます(プロキシがありますlocalhost:8888)。

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

そのような回線を見つけた場合、またはプロキシが自分のものでない場合は、その回線を介してパケットを送信してみてください。たとえば、次のようにWebページをリクエストしますcurl

curl --socks5 localhost:8888 binfalse.de

HTMLのものを出力する必要があります。これが間違いの検索に役立つことを願っています;-)


Aux:私の例では、次の方法でプロキシを作成しました:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

someoneユーザー名とsomewhere宛先サーバーに置き換えます。もちろん、OpenSSHを使用することは、考えられる多数のsocks5プロキシの1つの方法にすぎません。


1
SSH:ホスト名のどこかに解決できませんでした:名前またはサービスが知られていない
tony_sid

6
もちろん、あなたは交換する必要がありsomeone@somewhere例えば、ユーザー名とサーバーとのssh -D8888 YOURUSER@YOURHOST;-)
binfalse

Windowsでは、netstatコマンドは次のとおりです。 nestat -an またはnetstat -an | grep LISTEN、パスにgrepがある場合。
エリックアロネスティ

curlヒントをありがとう。FWIW、curl は、サブミットされたURLのホスト名をローカルで解決することを試みませんが、--socks5-hostnameこれをサポート--socks5します(イントラネットへの接続に非常に役立つ場合があります)。
kostix


4

次のコマンドは、Socks 5プロキシが動作するかどうかをテストしlocalhost:8080ます。

timeout 5 curl -x socks5://localhost:8080 http://example.com/

それ以外の場合、5秒後にタイムアウトします。timeoutコマンドがない場合は、ドロップします。


1

netcatで接続し、RFC 1928の規則に従ってサーバーと通信できます。ただし、印刷できない文字を入力して読み取るか、さらに調査するためにファイルに記録する必要があります。

たとえば、SOCKS5サーバーかどうかをテストし、no-auth、gssapi、またはusr + pwdのどの認証方法をサポートするかを調べるには、0x05 0x03 0x00 0x01 0x02を送信します。usr + pwd認証を使用するように準備されたSOCKS5サーバーは、0x05 0x02と応答します。

または、SOCKS5サーバーでno-auth(方法0)が機能するかどうかを確認する方法は次のとおりです。

echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}

それを中断した後、out.txtの終わりに向かって、サーバーがそのメソッドをサポートしている場合は0x05 0x00(0)を、サポートしていない場合は0x05 0xFFを生成しているはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.