Linux端末を使用して、Socks5プロキシが機能するかどうかを確認する簡単な方法はありますか?
自分でプロキシを作成した場合は、まず開いているポートがあるかどうかを確認する必要があります(p
引数は、関係するプロセスが自分のものであるか、自分がルートである場合にのみ機能します)。
netstat -tlnp
これにより、次のような行が表示されます((localhost:8888
)
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN
そのような回線を見つけた場合、またはプロキシが自分のものではない場合は、それを介してパケットを送信してみてください。たとえば、curl
を使用してWebページをリクエストします。
curl --socks5 localhost:8888 binfalse.de
いくつかのHTMLを出力する必要があります。これが間違いの検索に役立つことを願っています;-)
Aux:私の例では、次の方法でプロキシを作成しました。
ssh -o ServerAliveInterval=60 -D8888 someone@somewhere
someone
をユーザー名に、somewhere
を宛先サーバーに置き換えます。もちろん、OpenSSHを使用することは、可能なsocks5プロキシの束の1つの方法にすぎません。
Curlで反対側のDNSを解決するには、--socks5
と--socks5-hostname
。
詳細は manページ を参照してください。
次のコマンドは、Socks 5プロキシがlocalhost:8080
で動作するかどうかをテストします。
timeout 5 curl -x socks5://localhost:8080 http://example.com/
それ以外の場合は、5秒後にタイムアウトします。 timeout
コマンドがない場合は、削除してください。
Netcatに接続し、 RFC 1928 のルールに従ってサーバーと通信できます。ただし、印刷不可能な文字を入力して読み取るか、さらに詳しく調べるためにファイルに記録する必要があります。
たとえば、それがSOCKS5サーバーであるかどうかをテストし、それがサポートするno-auth、gssapi、またはusr + pwd認証方法を見つけるには、0x05 0x03 0x00 0x01 0x02を送信します。 usr + pwd認証を使用するように準備されたSOCKS5サーバーは、0x05 0x02と応答します。
または、SOCKS5サーバーであり、認証なし(メソッド0)が機能するかどうかを確認する方法は次のとおりです。
echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}
それを中断した後、out.txtの終わり近くで、サーバーがそのメソッド(0)をサポートしている場合は0x05 0x00を生成し、サポートしていない場合は0x05 0xFFを生成しているはずです。