การตั้งค่าพร็อกซี่สองอย่างอาจสร้างห่วงโซ่ที่คุณไม่ได้ตั้งใจ
ติดตามการเชื่อมต่อเมื่อการตั้งค่าพร็อกซี่ของแอปพลิเคชันรวมกับตัวห่อพร็อกซี่ระดับโปรเซส
แอปพลิเคชันของคุณชี้ไปที่พร็อกซี่ B แต่ถูกเปิดผ่านตัวห่อที่กำหนดค่าสำหรับพร็อกซี่ A เว็บไซต์เห็นทางออกใด คำตอบขึ้นอยู่กับว่าตัวห่อดักจับการเชื่อมต่อใด
ในการจัดเรียงแบบซ้อนกันอย่างง่าย แอปพลิเคชันจะพยายามเชื่อมต่อกับ B ก่อน ตัวห่อจะดักจับการเชื่อมต่อนั้นและพาไปผ่าน A จากนั้นแอปพลิเคชันจะพูดพร็อกซี่โปรโตคอลของ B บนสตรีมที่เกิดขึ้น และ B จะทำการเชื่อมต่อเว็บไซต์ขั้นสุดท้าย
application → wrapper proxy A → application proxy B → website
เว็บไซต์เห็นการเชื่อมต่อขาออกสุดท้ายของ B ส่วน B เห็นการเชื่อมต่อที่มาจากผ่าน A ซึ่งต่างจากการที่ตัวห่อเขียนทับการตั้งค่าพร็อกซี่ของแอปพลิเคชันเองอย่างเงียบ ๆ
แผนภาพง่าย ๆ มีเงื่อนไข
กฎการข้าม การเรียกซ็อกเก็ตที่ไม่รองรับ โปรเซสที่มีอยู่แล้ว และรูปแบบการดักจับของแต่ละผลิตภัณฑ์สามารถเปลี่ยนเส้นทางได้ ตัวห่อบางตัวสามารถยกเว้นพร็อกซี่ของตนเองหรือปลายทางที่เลือกไว้ อย่าสันนิษฐานว่าเครื่องมือทุกคู่ประกอบกันด้วยวิธีเดียวกัน
คำอธิบายของ proxychains-ng อธิบายวิธีการดักจับและข้อจำกัดของมัน โปรแกรมที่ใช้การสนับสนุนพร็อกซี่แบบเนทีฟยังคงสร้างการเชื่อมต่อเครือข่ายไปยังพร็อกซี่นั้น ซึ่งเป็นหนึ่งในผู้สมัครสำหรับการดักจับ
สำหรับห่วงโซ่ที่ตั้งใจของปลายทางสาธารณะที่ไม่มีการพิสูจน์ตัวตน รายการพร็อกซี่ฟรี เสนอผู้สมัครที่โปรโตคอลต้องตรงกับเครื่องมือแต่ละตัว สำหรับทางออกที่ไม่คาดคิด ให้บันทึกที่อยู่สามรายการแยกกัน: ปลายทางที่แอปพลิเคชันเลือก ปลายทางที่ตัวห่อเลือก และผลลัพธ์ที่เว็บไซต์เห็น การดูเฉพาะการตั้งค่าเบราว์เซอร์จะพลาดชั้นกลาง
ใช้เส้นทางเดียวขณะสร้างพฤติกรรมที่ตั้งใจ จากนั้นเพิ่มอีกเส้นทางเฉพาะเมื่อจำเป็นต้องใช้ห่วงโซ่ การกระโดดเพิ่มเติมอาจเพิ่มจุดล้มเหลวและความสัมพันธ์ความไว้วางใจที่แตกต่างกัน พวกมันไม่ได้ลบคุกกี้ระบุตัวตนโดยอัตโนมัติหรือทำให้ทุกการเชื่อมต่อในแอปพลิเคชันไปตามเส้นทางเดียวกัน