Cara memeriksa apakah proxy Socks5 berfungsi

36

Apakah ada cara mudah, lebih disukai dengan menggunakan terminal Linux, untuk memeriksa apakah proxy Socks5 berfungsi?

tony_sid
sumber

Jawaban:

40

Jika Anda membuat proxy sendiri, pertama-tama Anda harus memeriksa apakah ada port terbuka ( pargumen hanya berfungsi jika proses yang bersangkutan adalah milik Anda atau Anda root):

netstat -tlnp

Ini akan memberi Anda garis seperti: (Saya memiliki proxy di localhost:8888)

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

Jika Anda menemukan garis seperti itu atau proxy itu bukan milik Anda, coba kirim paket melaluinya. Misalnya meminta halaman web dengan curl:

curl --socks5 localhost:8888 binfalse.de

Seharusnya menampilkan beberapa hal HTML. Semoga ini bisa membantu mencari kesalahan ;-)


Aux : Sebagai contoh saya membuat proxy melalui:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

Ganti someonedengan nama pengguna Anda dan somewheredengan server tujuan Anda. Tentu saja menggunakan OpenSSH hanyalah salah satu metode dalam sekelompok proxy socks5 yang mungkin.

binfalse
sumber
1
ssh: Tidak dapat menyelesaikan nama host di suatu tempat: Nama atau layanan tidak dikenal
tony_sid
6
Tentu saja Anda harus mengganti someone@somewheredengan nama pengguna dan server Anda, misalnya ssh -D8888 YOURUSER@YOURHOST;-)
binfalse
Di windows, perintah netstat adalah: nestat -an atau netstat -an | grep LISTENjika Anda memiliki grep di jalur Anda.
Erik Aronesty
Terima kasih atas curlpetunjuknya. FWIW, curl juga mendukung --socks5-hostnameyang seperti --socks5tetapi tidak mencoba untuk secara lokal menyelesaikan nama host dari URL yang dikirimkan (yang mungkin sangat berguna untuk menghubungkan ke intranet).
kostix
7

Untuk mendapatkan ikal untuk menyelesaikan DNS di sisi lain, ubah --socks5dengan --socks5-hostname.

Lihat halaman manual untuk info lebih lanjut.

Sindre Svendby
sumber
Terima kasih, tidak menyadari mengapa permintaan saya gagal sampai menggunakan ini.
xamox
4

Perintah berikut akan menguji apakah proxy Socks 5 bekerja di localhost:8080:

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

Kalau tidak, akan habis setelah 5 detik. Jika Anda tidak memiliki timeoutperintah, jatuhkan.

kenorb
sumber
1

Anda dapat terhubung dengan netcat dan mengikuti aturan RFC 1928 untuk berbicara dengan server. Anda harus dapat mengetik dan membaca karakter yang tidak dapat dicetak, atau mencatatnya ke file untuk pemeriksaan lebih lanjut.

Misalnya, untuk menguji apakah ini server SOCKS5 dan mencari tahu mana yang tidak mendukung autentikasi, gssapi, atau usr + pwd yang akan didukungnya, kirim 0x05 0x03 0x00 0x01 0x02. Server SOCKS5 yang disiapkan untuk menggunakan usr + otentikasi pwd akan membalas 0x05 0x02.

Atau inilah cara untuk memeriksa apakah ini server SOCKS5 dan no-auth (metode 0) berfungsi:

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

Setelah Anda menyela itu, menjelang akhir out.txt seharusnya menghasilkan 0x05 0x00 jika server mendukung metode itu (0), atau 0x05 0xFF jika tidak.

jchevali
sumber