มีวิธีง่าย ๆ โดยเฉพาะอย่างยิ่งการใช้เทอร์มินัล Linux เพื่อตรวจสอบว่าพร็อกซี Socks5 ทำงานได้หรือไม่?
มีวิธีง่าย ๆ โดยเฉพาะอย่างยิ่งการใช้เทอร์มินัล Linux เพื่อตรวจสอบว่าพร็อกซี Socks5 ทำงานได้หรือไม่?
คำตอบ:
หากคุณสร้างพร็อกซีด้วยตัวเองคุณควรตรวจสอบก่อนว่ามีพอร์ตที่เปิดอยู่หรือไม่ ( 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 อย่าง
someone@somewhere
ด้วยชื่อผู้ใช้และเซิร์ฟเวอร์ของคุณเช่นssh -D8888 YOURUSER@YOURHOST
;-)
nestat -an
หรือnetstat -an | grep LISTEN
ถ้าคุณมี grep อยู่ในพา ธ ของคุณ
curl
คำใบ้ FWIW, curl ยังสนับสนุน--socks5-hostname
สิ่งที่คล้ายกัน--socks5
แต่ไม่พยายามแก้ไขชื่อโฮสต์ของ URL ที่ส่ง (ซึ่งอาจเป็นประโยชน์อย่างยิ่งสำหรับการเชื่อมต่อกับอินทราเน็ต)
คำสั่งต่อไปนี้จะทดสอบว่าพร็อกซีถุงเท้า 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 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 หากไม่รองรับ