การใช้ Proxy Chains

Computer Network 23 กรกฎาคม พ.ศ. 2565 1,759
Home / Articles / 15

Proxy คือ บริการที่ให้เราสามารถส่งต่อคำขอส่งข้อมูล (requests) ผ่าน Proxy Server ไปยังเซิร์ฟเวอร์อื่นๆ ได้ โดยไม่ต้องเชื่อมต่อจากเราโดยตรง ตัวอย่างเช่น การจะเชื่อมต่อ A ไปหา B ปกติจะมีลักษณะดังนี้ A -> B หากผ่าน Proxy จะมีลักษณะ A -> Proxy Server -> B ซึ่งสามารถทำให้เชื่อมต่อ ต่อกันไปเป็นทอดๆ ได้ หรือที่เรียกว่า "Proxy Chains" เช่น A -> P1 -> P2 -> P3 -> B จะเห็นได้ว่ามีหลาย hops ก่อนจะถึง B

การที่จะระบุต้นทาง ต้องย้อนไปถามผู้ให้บริการ Proxy เพื่อหาประวัติการใช้ proxy ในเวลานั้น ตั้งแต่ผู้ให้บริการ P3 ขึ้นไปเรื่อยๆ จนกว่าจะเจอต้นทาง ซึ่งในบางเซิร์ฟเวอร์ ประวัติการใช้งาน (logs) มักถูกลบออกภายในระยะเวลาหนึ่งเดือน และมีมาตรการในการรักษาข้อมูลลูกข่าย หากใช้ Proxy Chains หลายชั้น ก็จะเป็นการยากต่อการระบุต้นทาง

macOS

brew install proxychains-ng

Ubuntu

sudo apt-get install proxychains

1) สร้างไฟล์ Config ของ proxychains (Download ข้างล่าง) โดยบันทึกไว้ที่ /etc/proxychains.conf สำหรับ Ubuntu และ /usr/local/etc/proxychains.conf สำหรับ macOS

https://github.com/rofl0r/proxychains-ng/blob/master/src/proxychains.conf

2) ปรับแต่งไฟล์ proxychains.conf เพื่อเปิดใช้ Proxy แบบ Dynamics ดังนี้

#strict_chain คอมเม้นบรรทัดนี้
dynamic_chain และนำคอมเม้นบรรทัดนี้ออก

3) เพิ่ม Proxy Server เข้าไปใน proxychains.conf (บรรทัดสุดท้าย) มีดังนี้

raw 178.1.256.4 8080 #เชื่อมต่อแบบ raw -> port 8080
http 178.1.256.4 8080 #เชื่อมต่อแบบ http -> port 8080
sock4 178.1.256.4 8080 #เชื่อมต่อแบบ Socket -> port 8080

สามารถหา Proxy Server ฟรีได้จาก Google โดยค้นหาว่า "free proxy lists" ซึ่งส่วนมากจะเป็นประเภท raw

Config พร้อมใช้งาน

raw  139.99.237.62 80
raw  157.100.12.138 999
raw  218.238.83.182 80
raw  140.227.69.124 3180
raw  208.113.134.223 80
raw  103.115.252.18 80
raw  34.110.251.255 80
raw  140.227.61.156 23456
raw  183.250.163.175 9091
raw  191.97.16.113 999

การใช้งาน ProxyChains

ใส่คำสั่ง proxychains หรือ proxychains4 นำหน้าคำสั่งที่จะใช้งาน เช่น

proxychains4 ping google.com
หรือ
proxychains4 nmap -sV google.com

Video แนะนำ ที่เกี่ยวข้องกับ Proxy Chains

อ้างอิง (reference): NetworkChuck

Profile Picture.
  • Name (Pen name): Sunny Jirakit (Sunny420x)
  • Study: Bachelor Degree of Computer Science from Chiang Mai Rajabhat University
  • Personality: Architect (INTJ-T)
  • Experience: JavaScript,  Angular.js, React.js, Next.js  Express.js, Unity C#, Socket.io