วิธีตรวจสอบว่าพร็อกซี Socks5 ใช้งานได้หรือไม่


36

มีวิธีง่าย ๆ โดยเฉพาะอย่างยิ่งการใช้เทอร์มินัล Linux เพื่อตรวจสอบว่าพร็อกซี Socks5 ทำงานได้หรือไม่?

คำตอบ:


40

หากคุณสร้างพร็อกซีด้วยตัวเองคุณควรตรวจสอบก่อนว่ามีพอร์ตที่เปิดอยู่หรือไม่ ( pอาร์กิวเมนต์จะทำงานได้ก็ต่อเมื่อกระบวนการที่เกี่ยวข้องนั้นเป็นของคุณหรือคุณเป็นรูท)

netstat -tlnp

สิ่งนี้ควรให้สายคุณ: (ฉันมีพร็อกซีบนlocalhost:8888)

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

หากคุณพบบรรทัดหรือพร็อกซีดังกล่าวไม่ใช่ของคุณลองส่งแพ็กเก็ตผ่านมัน ตัวอย่างเช่นขอเว็บเพจที่มีcurl:

curl --socks5 localhost:8888 binfalse.de

ควรส่งออกบางสิ่ง HTML หวังว่านี่จะช่วยในการค้นหาข้อผิดพลาด ;-)


Aux : สำหรับตัวอย่างของฉันฉันสร้าง proxy ผ่าน:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

แทนที่someoneด้วยชื่อผู้ใช้ของคุณและsomewhereกับเซิร์ฟเวอร์ปลายทางของคุณ แน่นอนว่าการใช้ OpenSSH เป็นเพียงวิธีการหนึ่งในผู้รับมอบฉันทะถุงเท้าที่เป็นไปได้ 5 อย่าง


1
ssh: ไม่สามารถแก้ไขชื่อโฮสต์บางแห่ง: ไม่ทราบชื่อหรือบริการ
tony_sid

6
แน่นอนคุณต้องแทนที่someone@somewhereด้วยชื่อผู้ใช้และเซิร์ฟเวอร์ของคุณเช่นssh -D8888 YOURUSER@YOURHOST;-)
binfalse

บน windows คำสั่ง netstat คือ: nestat -an หรือnetstat -an | grep LISTENถ้าคุณมี grep อยู่ในพา ธ ของคุณ
Erik Aronesty

ขอบคุณสำหรับcurlคำใบ้ FWIW, curl ยังสนับสนุน--socks5-hostnameสิ่งที่คล้ายกัน--socks5แต่ไม่พยายามแก้ไขชื่อโฮสต์ของ URL ที่ส่ง (ซึ่งอาจเป็นประโยชน์อย่างยิ่งสำหรับการเชื่อมต่อกับอินทราเน็ต)
kostix

7

ที่จะได้รับขดเพื่อแก้ไข DNS บนด้านอื่น ๆ การเปลี่ยนแปลงด้วย--socks5--socks5-hostname

ดูหน้าคนสำหรับข้อมูลเพิ่มเติม


ขอบคุณไม่ทราบว่าทำไมคำขอของฉันจึงล้มเหลวจนกว่าจะใช้สิ่งนี้
xamox

4

คำสั่งต่อไปนี้จะทดสอบว่าพร็อกซีถุงเท้า 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 0x00 0x01 0x02 เซิร์ฟเวอร์ SOCKS5 เตรียมพร้อมที่จะใช้การตรวจสอบสิทธิ์ usr + pwd จะตอบกลับ 0x05 0x02

หรือนี่คือวิธีตรวจสอบว่าเป็นเซิร์ฟเวอร์ SOCKS5 หรือไม่และการตรวจสอบสิทธิ์ (วิธีที่ 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.