บทความ

บทนำ: สิ่งที่คุณจะได้รับจากคู่มือนี้

สถานการณ์นี้คุ้นเคยสำหรับทุกคนที่ทำงานกับพร็อกซี: เมื่อวานทุกอย่างเร็วปรู๊ดปร๊าด แต่วันนี้เบราว์เซอร์หมุนวงล้อโหลดไม่หยุด สคริปต์ดึงข้อมูลค้างตั้งแต่คำขอแรก เบราว์เซอร์แอนตี้ดีเทกต์แจ้งว่าพร็อกซีเซิร์ฟเวอร์ไม่ตอบสนอง ไม่มีข้อความที่เข้าใจได้ มีแค่การรอคอยและความเงียบ คุณอาจอยากเขียนหาฝ่ายสนับสนุนหรือเปลี่ยนผู้ให้บริการทันที แต่ในกรณีส่วนใหญ่สาเหตุอยู่ฝั่งของคุณและแก้ไขได้ในสิบนาที

คู่มือปฏิบัติเล่มนี้จะช่วยให้คุณเดินทางจาก "ไม่มีอะไรทำงานเลย" ไปสู่ "การเชื่อมต่อเสถียร" โดยไม่ต้องเดาสุ่ม เราจะวิเคราะห์สาเหตุเครือข่ายที่พบบ่อยที่สุดสามประการ: ไทม์เอาต์ พอร์ตที่ปิดหรือผิด และไฟร์วอลล์ คุณจะได้เรียนรู้วิธีระบุว่าสายโซ่ระหว่างคอมพิวเตอร์ของคุณกับพร็อกซีขาดตรงจุดใด และจะได้ชุดคำสั่งที่แสดงต้นตอของปัญหาได้ภายในหนึ่งนาที

ขอบเขตสำคัญ: ที่นี่เราพูดถึงเฉพาะสาเหตุเครือข่าย เมื่อการเชื่อมต่อไม่เกิดขึ้นเลยหรือค้าง สถานการณ์ที่พร็อกซีตอบสนองแต่ส่งคืนรหัสข้อผิดพลาดเช่น 407 หรือ 502 เป็นหัวข้อแยกต่างหาก และเราไม่ครอบคลุมในที่นี้ หากคุณเห็นรหัส HTTP ที่เฉพาะเจาะจงในการตอบกลับ นั่นหมายความว่าพร็อกซียังมีชีวิตอยู่ และกรณีของคุณไม่ใช่บทความนี้

คู่มือนี้เหมาะกับใคร

  • นักการตลาดและผู้เชี่ยวชาญ SMM ที่ดูแลหลายบัญชีผ่านพร็อกซีมือถือและพบว่าเบราว์เซอร์เชื่อมต่อไม่ได้
  • นักทำอาร์บิทราจที่ลิงก์ของพวกเขาหยุดทำงานกะทันหัน และบัญชีโฆษณาไม่เปิดผ่านพร็อกซี
  • นักพัฒนาที่สคริปต์ Python, Node.js หรือ Go ได้รับไทม์เอาต์แทนการตอบกลับ
  • เจ้าของธุรกิจที่ตั้งค่าพร็อกซีให้พนักงานและอยากเข้าใจว่าทำไมของคนหนึ่งทำงานได้ แต่อีกคนไม่

สิ่งที่ต้องรู้ล่วงหน้า

แทบไม่ต้องมีอะไรพิเศษ แค่สามารถเปิดคอมมานด์ไลน์หรือเทอร์มินัล คัดลอกคำสั่ง และอ่านสิ่งที่พวกมันแสดงผลได้ก็พอ เราจะอธิบายคำศัพท์ทุกคำระหว่างทาง หากคุณไม่เคยเปิดเทอร์มินัล ไม่ต้องกังวล: ทุกขั้นตอนอธิบายละเอียดถึงระดับ "กดปุ่มนี้ พิมพ์ข้อความนี้"

ต้องใช้เวลานานเท่าไหร่

การวินิจฉัยครบทุกขั้นตอนใช้เวลา 30 ถึง 60 นาที ส่วนใหญ่มักพบปัญหาที่ขั้นตอนแรกหรือขั้นตอนที่สอง และคุณจะใช้เวลาเพียง 10-15 นาที ส่วนขั้นสูงตอนท้ายสามารถศึกษาแยกได้เมื่อการเชื่อมต่อพื้นฐานกลับมาทำงานแล้ว

การเตรียมการเบื้องต้น: เครื่องมือและข้อมูล

ก่อนเริ่มต้น รวบรวมทุกสิ่งที่จำเป็นไว้ในที่เดียว สิ่งนี้จะประหยัดเวลาและหลีกเลี่ยงการวิ่งไปมาระหว่างแท็บในจังหวะที่ไม่เหมาะสมที่สุด

ข้อมูลพร็อกซีของคุณ

เปิดแดชบอร์ดของผู้ให้บริการและจดพารามิเตอร์ต่อไปนี้ลงในไฟล์ข้อความ พวกมันจะถูกใช้แทบทุกขั้นตอน

  1. ที่อยู่เซิร์ฟเวอร์ (host) นี่อาจเป็นชื่อโดเมนเช่น proxy.example.net หรือที่อยู่ IP เช่น 185.10.20.30
  2. พอร์ต สำหรับการเชื่อมต่อ HTTP สำหรับพร็อกซีมือถือมักเป็นตัวเลขห้าหลัก เช่น 30001 หรือ 51234
  3. พอร์ตสำหรับ SOCKS5 หากผู้ให้บริการให้แยกต่างหาก บางครั้งอาจต่างจากพอร์ต HTTP หนึ่งหน่วยหรือหลายพัน
  4. ชื่อผู้ใช้และรหัสผ่าน สำหรับการยืนยันตัวตน หากคุณใช้การยืนยันตัวตนด้วยข้อมูลประจำตัว
  5. รายการ IP ที่อนุญาต หากคุณเปิดใช้การยืนยันตัวตนด้วยที่อยู่ IP ตรวจสอบว่ามีที่อยู่ใดระบุไว้
  6. ลิงก์สำหรับเปลี่ยน IP และข้อมูลเกี่ยวกับโหมดการหมุน: ตามกำหนดเวลา ตามลิงก์ หรือทุกคำขอ

เคล็ดลับ: บันทึกข้อมูลนี้ไม่เพียงแต่ในตัวจัดการรหัสผ่าน แต่ยังบันทึกในไฟล์ข้อความธรรมดาในระหว่างการวินิจฉัย คุณจะวางข้อมูลเหล่านี้ลงในคำสั่งหลายสิบครั้ง และการสลับหน้าต่างไปมาไม่หยุดจะทำให้เหนื่อย

เครื่องมือที่มีอยู่แล้วในระบบของคุณ

ข่าวดี: เกือบทุกสิ่งที่จำเป็นถูกติดตั้งมาพร้อมกับระบบปฏิบัติการ ไม่ต้องซื้ออะไรเพิ่ม

  • Windows 10 และ 11: PowerShell (ค้นหาผ่านเมนู Start) และคอมมานด์ไลน์ cmd ใน PowerShell มีคำสั่ง Test-NetConnection ที่จะทดแทนยูทิลิตี้แยกต่างๆ
  • macOS: แอปพลิเคชัน Terminal (Programs, โฟลเดอร์ Utilities) ยูทิลิตี้ nc และ curl ติดตั้งมาแล้ว
  • Linux (Ubuntu, Debian, Fedora): เทอร์มินัลใดก็ได้ อาจต้องติดตั้งแพ็กเกจ curl, netcat และ mtr ผ่านตัวจัดการแพ็กเกจของระบบ

สิ่งที่ควรติดตั้งเพิ่มเติม

  1. curl สำหรับ Windows ใน Windows 10 เวอร์ชัน 1803 ขึ้นไป และใน Windows 11 มี curl อยู่แล้ว ตรวจสอบ: เปิด cmd และพิมพ์ curl --version หากเห็นหมายเลขเวอร์ชัน ทุกอย่างเรียบร้อย
  2. อุปกรณ์ที่สอง สำหรับเปรียบเทียบ: สมาร์ทโฟน แล็ปท็อปเครื่องที่สอง หรือเครื่องเสมือน นี่ไม่ใช่โปรแกรม แต่เป็นเครื่องมือที่มีประโยชน์มากซึ่งเราจะพูดถึงในขั้นตอนแรก
  3. การเข้าถึงการตั้งค่าเราเตอร์: ที่อยู่แผงควบคุม (ส่วนใหญ่ 192.168.0.1 หรือ 192.168.1.1) และรหัสผ่านผู้ดูแลระบบ จะต้องใช้ในขั้นตอนที่ห้า

การสำรองข้อมูลก่อนเริ่ม

เราจะเปลี่ยนการตั้งค่าไฟร์วอลล์และอาจเปลี่ยนเราเตอร์ ก่อนทำเช่นนั้น ให้ทำสองสิ่งเพื่อให้สามารถกลับสู่สถานะเดิมได้เสมอ

  1. ใน Windows สร้างจุดคืนค่าระบบ: เปิดการค้นหา พิมพ์ "สร้างจุดคืนค่าระบบ" กดปุ่มสร้าง และตั้งชื่อที่เข้าใจได้ เช่น "ก่อนตั้งค่าพร็อกซี"
  2. ส่งออกกฎไฟร์วอลล์ Windows ปัจจุบัน เปิด PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้คำสั่ง netsh advfirewall export "C:/firewall-backup.wfw" ไฟล์จะปรากฏที่รากของไดรฟ์ C
  3. ในแผงควบคุมเราเตอร์ หาส่วนเช่น "ระบบ" "การบำรุงรักษา" หรือ "การสำรองข้อมูล" และบันทึกไฟล์การกำหนดค่าลงคอมพิวเตอร์

ข้อควรระวัง: อย่าปิดไฟร์วอลล์ทั้งหมด "เผื่อไว้" และอย่าปล่อยให้ปิดอยู่ ในระหว่างการวินิจฉัย เราจะปิดการป้องกันสูงสุดสองนาทีเพื่อทดสอบสมมติฐาน จากนั้นคืนค่าทุกอย่างกลับและสร้างกฎเฉพาะเจาะจง

แนวคิดพื้นฐาน: เกิดอะไรขึ้นเมื่อพร็อกซีไม่ตอบสนอง

เพื่อให้การวินิจฉัยมีความหมาย ไม่ใช่การเดาสุ่มแบบไร้ทิศทาง สิ่งสำคัญคือการเข้าใจว่าโครงสร้างการเชื่อมต่อเป็นอย่างไร จากนั้นแต่ละขั้นตอนของคู่มือจะตรวจสอบส่วนหนึ่งของสายโซ่นี้

เส้นทางของคำขอจากคุณถึงเว็บไซต์

เมื่อคุณทำงานผ่านพร็อกซีมือถือ คำขอจะผ่านเส้นทางดังนี้ ก่อนอื่นแอปพลิเคชันของคุณ (เบราว์เซอร์ สคริปต์ แอนตี้ดีเทกต์) ส่งข้อมูลไปยังระบบปฏิบัติการ ระบบจะส่งผ่านไฟร์วอลล์ของตัวเองและส่งต่อไปยังเราเตอร์ เราเตอร์ส่งทราฟฟิกไปยังผู้ให้บริการอินเทอร์เน็ตของคุณ ผู้ให้บริการส่งแพ็กเก็ตไปยังเซิร์ฟเวอร์พร็อกซี เซิร์ฟเวอร์พร็อกซีส่งต่อคำขอผ่านโมเด็มมือถือที่มีซิมการ์ดไปยังเครือข่ายของผู้ให้บริการมือถือ และจากนั้นคำขอจึงออกไปยังเว็บไซต์เป้าหมาย การตอบกลับเดินตามเส้นทางเดิมในลำดับย้อนกลับ

การขาดการเชื่อมต่อสามารถเกิดขึ้นได้ทุกจุดในเส้นทางนี้ วลี "พร็อกซีเซิร์ฟเวอร์ไม่ตอบสนอง" จริงๆ แล้วหมายถึงเพียงสิ่งเดียว: การตอบกลับไม่ถึงแอปพลิเคชันของคุณภายในเวลาที่กำหนด และสิ่งที่จะต้องค้นหาคือมันหายไปที่ไหน

พอร์ต: ประตูสู่เซิร์ฟเวอร์

เซิร์ฟเวอร์ใดก็ตามมีที่อยู่ IP เดียว แต่มีพอร์ตมากมาย หมายเลขตั้งแต่ 1 ถึง 65535 ลองนึกภาพตึกหลายชั้นที่มีที่อยู่เดียวและมีห้องนับพัน บริการพร็อกซี "อาศัยอยู่" ในห้องเฉพาะ นั่นคือฟังที่พอร์ตเฉพาะ หากคุณเคาะประตูห้องอื่น จะไม่มีใครเปิด และคุณจะรอจนกว่าไทม์เอาต์จะหมด ทั้งที่เซิร์ฟเวอร์ทำงานสมบูรณ์แบบ

พอร์ตสามารถเปิด ปิด และถูกกรอง พอร์ตเปิด ตอบรับเมื่อพยายามเชื่อมต่อ พอร์ตปิด ตอบปฏิเสธทันที และคุณจะได้รับข้อผิดพลาดทันทีเช่น "connection refused" พอร์ตที่ถูกกรอง เงียบ: แพ็กเก็ตของคุณถูกทิ้งระหว่างทาง และคุณไม่ได้รับอะไรเลย การกรองนี่เองที่ให้ภาพคลาสสิกของการค้างโดยไม่มีการตอบสนอง และผู้ร้ายมักเป็นไฟร์วอลล์บางตัว

ไทม์เอาต์: รอนานแค่ไหนก่อนยอมแพ้

ไทม์เอาต์คือขีดจำกัดการรอ หลังจากนั้นแอปพลิเคชันจะหยุดพยายามและรายงานข้อผิดพลาด ไทม์เอาต์มีหลายประเภท และไม่ควรสับสน

  • ไทม์เอาต์การเชื่อมต่อ (connect timeout) รอนานแค่ไหนจนกว่าเซิร์ฟเวอร์จะตกลงสร้างการเชื่อมต่อ หากหมดเวลานี้ หมายความว่าคุณไม่สามารถเข้าถึงพอร์ตพร็อกซีได้เลย
  • ไทม์เอาต์การอ่าน (read timeout) รอนานแค่ไหนสำหรับข้อมูลหลังจากการเชื่อมต่อถูกสร้างขึ้น หากหมดเวลานี้ หมายความว่าพร็อกซียอมรับคุณแล้ว แต่เว็บไซต์เป้าหมายหรือเครือข่ายมือถือตอบช้าเกินไป
  • ไทม์เอาต์รวม ของคำขอ ขีดจำกัดบนสำหรับทั้งหมดรวมกัน

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

ไฟร์วอลล์: ตัวกรองที่ตัดสินใจว่าจะปล่อยอะไรผ่าน

ไฟร์วอลล์คือโปรแกรมหรืออุปกรณ์ที่ตรวจสอบแพ็กเก็ตเครือข่ายและตัดสินใจว่าจะปล่อยหรือทิ้ง ในสายโซ่ของคุณอาจมีไฟร์วอลล์สามหรือสี่ตัว: ที่ฝังใน Windows หรือ macOS ในโปรแกรมแอนตี้ไวรัส บนเราเตอร์ และของผู้ดูแลระบบองค์กร ตัวใดตัวหนึ่งสามารถทิ้งแพ็กเก็ตไปยังพอร์ตที่ไม่มาตรฐานได้อย่างเงียบๆ และคุณจะเห็นเพียงการค้าง

การยืนยันตัวตนด้วย IP: ไฟร์วอลล์ล่องหนฝั่งพร็อกซี

ผู้ให้บริการพร็อกซีมือถือหลายรายมีโหมดที่ใช้รายการที่อยู่ IP ที่อนุญาตแทนชื่อผู้ใช้และรหัสผ่าน เซิร์ฟเวอร์จะยอมรับการเชื่อมต่อเฉพาะจากที่อยู่ในรายการ และอาจเพิกเฉยต่อความพยายามอื่นๆ หาก IP บ้านของคุณเปลี่ยนไป (ซึ่งเกิดขึ้นเมื่อรีสตาร์ทเราเตอร์กับผู้ให้บริการส่วนใหญ่) พร็อกซีจะไม่รู้จักคุณอีกต่อไป ภายนอกดูเหมือนพอร์ตถูกบล็อกทุกประการ

ตอนนี้เมื่อภาพชัดเจนแล้ว เรามาฝึกปฏิบัติกัน แต่ละขั้นตอนต่อไปนี้จะตรวจสอบส่วนหนึ่งของสายโซ่ และไม่ล้างข้อสงสัยออกไป ก็จะพบผู้ร้าย

ขั้นตอนที่ 1: ระบุว่าการเชื่อมต่อขาดตรงไหน

เป้าหมายของขั้นตอนนี้: เข้าใจภายในห้านาทีว่าปัญหาอยู่ฝั่งคุณ ฝั่งเครือข่าย หรือฝั่งพร็อกซี นี่คือขั้นตอนที่สำคัญที่สุด เพราะจะตัดความเป็นไปได้ครึ่งหนึ่งออกไปทันที

ตรวจสอบอินเทอร์เน็ตโดยไม่ใช้พร็อกซี

  1. เปิดเบราว์เซอร์และปิดพร็อกซีชั่วคราวในการตั้งค่า ใน Chrome นี่คือ Settings ส่วน System รายการ "Open your computer's proxy settings" ในเบราว์เซอร์แอนตี้ดีเทกต์ สร้างโปรไฟล์ที่ไม่มีพร็อกซีหรือเลือกโหมด "ไม่มีพร็อกซี" ในการตั้งค่าโปรไฟล์
  2. เปิดเว็บไซต์ใหญ่ๆ เช่นหน้าค้นหา มันควรโหลดภายในหนึ่งถึงสองวินาที
  3. หากเว็บไซต์ไม่เปิดแม้ไม่มีพร็อกซี ปัญหาไม่ใช่พร็อกซี รีสตาร์ทเราเตอร์ ตรวจสอบสายหรือ Wi-Fi แล้วกลับมาที่คู่มือนี้ภายหลัง

ตรวจสอบพร็อกซีจากอุปกรณ์อื่น

  1. หยิบสมาร์ทโฟนและปิด Wi-Fi เพื่อให้ทำงานผ่านอินเทอร์เน็ตมือถือ วิธีนี้คุณจะอยู่ในเครือข่ายที่แตกต่างไปเลย ผ่านเราเตอร์และผู้ให้บริการของคุณ
  2. ติดตั้งเบราว์เซอร์ใดก็ได้ที่รองรับพร็อกซีบนโทรศัพท์ หรือใช้การตั้งค่าระบบ: บน Android ในคุณสมบัติจุดเชื่อมต่อทำได้ผ่าน APN แต่ที่ง่ายกว่าคือติดตั้งแอปพลิเคชันเบราว์เซอร์ที่ป้อนพร็อกซีด้วยตนเอง
  3. ป้อนที่อยู่ พอร์ต ชื่อผู้ใช้และรหัสผ่านของพร็อกซีของคุณ และเปิดเว็บไซต์ใดก็ได้ที่แสดง IP ของคุณ
  4. หากพร็อกซีทำงานจากโทรศัพท์ แสดงว่าพร็อกซีเองยังมีชีวิต และปัญหาอยู่ระหว่างคอมพิวเตอร์ของคุณกับอินเทอร์เน็ต: ไฟร์วอลล์ เราเตอร์ หรือการตั้งค่าซอฟต์แวร์ ไปที่ขั้นตอนที่ 2, 3, 4 และ 5
  5. หากจากโทรศัพท์ก็ไม่ทำงาน ปัญหาอยู่ที่พร็อกซีเองหรือการตั้งค่าการยืนยันตัวตน ไปที่ขั้นตอนที่ 6 แล้วติดต่อฝ่ายสนับสนุน

เคล็ดลับ: หากไม่มีอุปกรณ์ที่สอง ลองเชื่อมต่อคอมพิวเตอร์กับจุดเชื่อมต่อมือถือจากโทรศัพท์ การเปลี่ยนเครือข่ายจะให้ผลเช่นเดียวกับการตรวจสอบจากอุปกรณ์อื่น

ตรวจสอบสถานะพร็อกซีในแดชบอร์ด

  1. เข้าสู่แดชบอร์ดของผู้ให้บริการพร็อกซีมือถือ
  2. หาการ์ดพร็อกซีของคุณและดูตัวบ่งชี้สถานะ ผู้ให้บริการส่วนใหญ่จะแสดงว่าโมเด็มออนไลน์หรือไม่ และกิจกรรมล่าสุดเมื่อไหร่
  3. หากตัวบ่งชี้แสดงว่าพร็อกซีปิดอยู่หรือโมเด็มออฟไลน์ ไม่ต้องวินิจฉัยต่อ: สาเหตุอยู่ฝั่งอุปกรณ์ และฝ่ายสนับสนุนจะแก้ไขให้

การตรวจสอบ: เมื่อสิ้นสุดขั้นตอนนี้ คุณควรมีคำตอบสำหรับคำถามหนึ่งข้อ: พร็อกซีทำงานได้จากที่ใดที่หนึ่งหรือไม่ทำงานจากที่ไหนเลย บันทึกข้อสรุปนี้ มันจะกำหนดว่าขั้นตอนใดต่อไปจะสำคัญที่สุด

ปัญหาที่อาจเกิดขึ้นในขั้นตอนนี้

บางครั้งพร็อกซีทำงานจากโทรศัพท์ แต่หยุดทำงานในนาทีถัดไป นี่อาจเป็นการหมุน IP บนพร็อกซีหรือเครือข่ายมือถือที่ไม่เสถียรของโมเด็ม ทำการทดสอบซ้ำสองสามครั้งโดยเว้นระยะหนึ่งนาที เพื่อไม่ให้ได้ข้อสรุปผิดจากการลองครั้งเดียว

ขั้นตอนที่ 2: ตรวจสอบที่อยู่และพอร์ตพร็อกซี

เป้าหมายของขั้นตอนนี้: ยืนยันว่าพอร์ตพร็อกซีเปิดและเข้าถึงได้จากคอมพิวเตอร์ของคุณ นี่คือการตรวจสอบสำคัญ: หากพอร์ตไม่ตอบสนอง สิ่งอื่นก็ไม่มีความหมาย

ทำไม ping จึงไม่เพียงพอ

ความคิดแรกของหลายคนคือ ping เซิร์ฟเวอร์ แต่ ping ตรวจสอบเฉพาะการเข้าถึงที่อยู่ IP ผ่านโปรโตคอล ICMP ไม่ใช่การเปิดพอร์ตเฉพาะ เซิร์ฟเวอร์พร็อกซีหลายแห่งไม่ตอบ ping เพื่อความปลอดภัย ดังนั้น ping ที่สำเร็จไม่ได้รับประกันอะไร และ ping ที่ไม่สำเร็จก็ไม่มีความหมาย เราต้องการการตรวจสอบพอร์ต TCP โดยเฉพาะ

ตรวจสอบพอร์ตใน Windows

  1. กดปุ่ม Windows พิมพ์ PowerShell และเปิดมัน
  2. พิมพ์คำสั่งโดยแทนที่ที่อยู่และพอร์ตของคุณ:
    Test-NetConnection -ComputerName proxy.example.net -Port 30001
  3. กด Enter และรอ คำสั่งอาจใช้เวลาถึง 20 วินาที
  4. หาบรรทัด TcpTestSucceeded ในผลลัพธ์ ค่า True หมายความว่าพอร์ตเปิดและรับการเชื่อมต่อ ค่า False หมายความว่าไม่สามารถเข้าถึงพอร์ตได้
  5. สังเกตบรรทัด PingSucceeded หากเป็น False แต่ TcpTestSucceeded เป็น True ทุกอย่างเรียบร้อย: เซิร์ฟเวอร์เพียงไม่ตอบ ping

ตรวจสอบพอร์ตใน macOS และ Linux

  1. เปิด Terminal
  2. พิมพ์คำสั่ง:
    nc -zv proxy.example.net 30001
  3. คีย์ -z บอกยูทิลิตี้ไม่ให้ส่งข้อมูล เพียงตรวจสอบการเชื่อมต่อ คีย์ -v เปิดการแสดงผลโดยละเอียด
  4. คำตอบเช่น succeeded หรือ Connection to ... port 30001 succeeded! หมายถึงสำเร็จ คำตอบ Connection refused หมายถึงพอร์ตปิดและเซิร์ฟเวอร์ปฏิเสธทันที หากคำสั่งค้างโดยไม่ตอบ แล้วเขียน timed out แสดงว่าพอร์ตถูกกรองที่ไหนสักแห่งตามเส้นทาง

ตรวจสอบผ่าน curl บนระบบใดก็ได้

curl ไม่เพียงตรวจสอบพอร์ต แต่ยังส่งคำขอผ่านพร็อกซีได้ทันที นี่คือระดับการตรวจสอบถัดไป

  1. พิมพ์คำสั่งโดยแทนที่ข้อมูลของคุณ:
    curl -x http://login:password@proxy.example.net:30001 --connect-timeout 15 -v https://api.ipify.org
  2. คีย์ -x กำหนดพร็อกซี คีย์ -v แสดงทุกขั้นตอนการเชื่อมต่อ คีย์ --connect-timeout จำกัดการรอสร้างการเชื่อมต่อไว้ที่ 15 วินาที
  3. อ่านผลลัพธ์จากบนลงล่าง บรรทัด Connected to proxy.example.net หมายความว่าพอร์ตเปิด บรรทัด CONNECT api.ipify.org:443 แสดงว่า curl ขอให้พร็อกซีสร้างทันเนล หากหลังจากนั้นได้รับการตอบกลับ 200 และท้ายที่สุดคุณเห็นที่อยู่ IP พร็อกซีทำงานเต็มที่
  4. หากผลลัพธ์หยุดที่บรรทัด Trying 185.10.20.30:30001... และหลังจาก 15 วินาทีปรากฏ Connection timed out แสดงว่าพอร์ตไม่สามารถเข้าถึงได้จากคอมพิวเตอร์ของคุณ

เคล็ดลับ: หากในรหัสผ่านมีอักขระพิเศษเช่น @ หรือ # curl อาจตีความที่อยู่ผิด ใช้คีย์แยก -U สำหรับข้อมูลประจำตัว: curl -x http://proxy.example.net:30001 -U login:password ... วิธีนี้รหัสผ่านจะไม่ปะปนกับที่อยู่

ตรวจสอบโปรโตคอลและพอร์ต SOCKS5

ข้อผิดพลาดที่พบบ่อย: ระบุพอร์ต HTTP ในขณะที่ซอฟต์แวร์คาดหวัง SOCKS5 หรือในทางกลับกัน การเชื่อมต่อจะถูกสร้างขึ้น แต่ข้อมูลจะไม่ผ่าน และแอปพลิเคชันอาจแสดงไทม์เอาต์

  1. ตรวจสอบในแดชบอร์ดของผู้ให้บริการว่ามีพอร์ตใดสำหรับ HTTP และ SOCKS5
  2. ทำการทดสอบผ่าน curl ด้วยโปรโตคอล SOCKS5:
    curl -x socks5://login:password@proxy.example.net:30002 --connect-timeout 15 https://api.ipify.org
  3. ตรวจสอบให้แน่ใจว่าในแอปพลิเคชันของคุณเลือกโปรโตคอลเดียวกันกับที่ใช้ในคำสั่ง curl ที่สำเร็จ

การตรวจสอบ: หลังขั้นตอนนี้ คุณจะรู้แน่นอนหนึ่งในสามอย่าง: พอร์ตเปิดและพร็อกซีตอบผ่าน curl (ปัญหาอยู่ในการตั้งค่าแอปพลิเคชัน ไปขั้นตอนที่ 3); พอร์ตเปิด แต่คำขอผ่านพร็อกซีค้าง (ปัญหาการยืนยันตัวตนหรือฝั่งพร็อกซี ขั้นตอนที่ 6); พอร์ตไม่ตอบสนอง (ปัญหาไฟร์วอลล์หรือเครือข่าย ขั้นตอนที่ 4 และ 5)

ปัญหาที่อาจเกิดขึ้นในขั้นตอนนี้

หาก Test-NetConnection แสดงข้อผิดพลาดการแปลงชื่อ หมายความว่าคอมพิวเตอร์ไม่สามารถแปลงชื่อโดเมนเป็นที่อยู่ IP ได้ ลองใช้ที่อยู่ IP จากแดชบอร์ดแทนชื่อ หากใช้ IP ได้แต่ชื่อไม่ได้ คุณมีปัญหา DNS: เปลี่ยนเซิร์ฟเวอร์ DNS ในการตั้งค่าอะแดปเตอร์เครือข่ายเป็นแบบสาธารณะและลองใหม่

ขั้นตอนที่ 3: จัดการไทม์เอาต์ในซอฟต์แวร์ของคุณ

เป้าหมายของขั้นตอนนี้: ยืนยันว่าแอปพลิเคชันให้เวลาพร็อกซีมือถือเพียงพอในการตอบสนอง และเรียนรู้แยกความแตกต่างระหว่างไทม์เอาต์การเชื่อมต่อกับไทม์เอาต์การอ่าน

วัดเวลาตอบสนองจริง

  1. เรียกใช้คำสั่ง curl พร้อมแสดงเวลาทำงาน:
    curl -x http://login:password@proxy.example.net:30001 -o /dev/null -s -w "connect: %{time_connect}s total: %{time_total}s" https://api.ipify.org
    ใน Windows ใช้ NUL แทน /dev/null
  2. ค่า connect แสดงว่าใช้เวลานานแค่ไหนในการสร้างการเชื่อมต่อ TCP กับพร็อกซี ปกติสำหรับพร็อกซีมือถือ: 0.05 ถึง 0.5 วินาที
  3. ค่า total แสดงเวลาทั้งหมดของคำขอ สำหรับพร็อกซีมือถือ ปกติจะเห็น 1-4 วินาที และในชั่วโมงเร่งด่วนของเครือข่ายมือถืออาจถึง 6-8 วินาที
  4. ทำคำสั่งซ้ำห้าครั้งและบันทึกความแปรปรวน หาก connect ต่ำอย่างสม่ำเสมอ แต่ total บางครั้งกระโดดถึง 10 วินาที ซอฟต์แวร์ของคุณต้องพร้อมรับความหน่วงเช่นนี้

ตั้งค่าไทม์เอาต์ในเครื่องมือยอดนิยม

Python และไลบรารี requests

พารามิเตอร์ timeout รับทูเพิลสองค่า: ไทม์เอาต์การเชื่อมต่อและไทม์เอาต์การอ่าน ค่าแนะนำสำหรับพร็อกซีมือถือ: 10 วินาทีสำหรับการเชื่อมต่อ และ 30 วินาทีสำหรับการอ่าน

proxies = {"http": "http://login:password@proxy.example.net:30001", "https": "http://login:password@proxy.example.net:30001"}
response = requests.get("https://api.ipify.org", proxies=proxies, timeout=(10, 30))

หากคุณระบุตัวเลขตัวเดียว เช่น timeout=5 มันจะใช้กับทั้งสองไทม์เอาต์ และนี่คือสาเหตุที่พบบ่อยของข้อความเท็จว่าพร็อกซีเซิร์ฟเวอร์ไม่ตอบสนอง

Node.js และ axios

ใน axios พารามิเตอร์ timeout มีเพียงตัวเดียวและเป็นแบบรวม ตั้งไว้ไม่น้อยกว่า 30000 มิลลิวินาที สำหรับพร็อกซีให้ใช้เอเจนต์ เช่นจากแพ็กเกจ https-proxy-agent และส่งไปยังพารามิเตอร์ httpsAgent

เบราว์เซอร์แอนตี้ดีเทกต์

  1. เปิดการตั้งค่าโปรไฟล์ ส่วนพร็อกซี
  2. หาปุ่มตรวจสอบการเชื่อมต่อ มีอยู่แทบทุกแอนตี้ดีเทกต์สมัยใหม่
  3. สังเกตว่าผลลัพธ์มาถึงในเวลากี่วินาที หากการตรวจสอบใช้เวลามากกว่า 10 วินาทีและสิ้นสุดด้วยความล้มเหลว ในขณะที่ curl ทำงานได้ ให้ดูที่การตั้งค่าทั่วไปของเบราว์เซอร์ในพารามิเตอร์ไทม์เอาต์พร็อกซีและเพิ่มค่า
  4. ตรวจสอบให้แน่ใจว่าในช่องโปรโตคอลเลือก HTTP หรือ SOCKS5 ตามพอร์ตที่ผ่านการตรวจสอบในขั้นตอนที่ 2

เครื่องมือสำหรับดึงข้อมูลและทำงานอัตโนมัติ

ใน Scrapy พารามิเตอร์ DOWNLOAD_TIMEOUT รับผิดชอบ โดยค่าเริ่มต้น 180 วินาที และแทบไม่เคยเป็นปัญหา ใน Puppeteer และ Playwright ไทม์เอาต์การนำทางค่าเริ่มต้น 30 วินาที แต่เมื่อทำงานผ่านเครือข่ายมือถือที่ช้า หน้าหนักๆ อาจมาไม่ทัน: เพิ่มเป็น 60 วินาทีผ่านพารามิเตอร์ timeout ในเมธอด goto

เคล็ดลับ: อย่าตั้งไทม์เอาต์สูงเกินไป 30-60 วินาทีสำหรับการอ่านเป็นขีดจำกัดที่สมเหตุสมผล หากตั้งไว้ 300 วินาที สคริปต์ของคุณจะค้างเป็นชั่วโมงบนการเชื่อมต่อที่ตายแล้ว แทนที่จะลองใหม่อย่างรวดเร็ว

แยกความแตกต่างระหว่างไทม์เอาต์การเชื่อมต่อกับไทม์เอาต์การอ่าน

สิ่งนี้สำคัญเพราะรักษาแตกต่างกัน

  • ไทม์เอาต์การเชื่อมต่อ ใน curl ดูเหมือน "Connection timed out after 15001 milliseconds" ทันทีหลังบรรทัด Trying ใน Python requests นี่คือข้อยกเว้น ConnectTimeout การรักษา: ขั้นตอนที่ 4, 5 และ 6 เพราะคุณไม่สามารถเข้าถึงพอร์ตได้
  • ไทม์เอาต์การอ่าน ใน curl ดูเหมือน "Operation timed out after 30000 milliseconds with 0 bytes received" หลังบรรทัด Connected ใน Python นี่คือ ReadTimeout การรักษา: เพิ่มไทม์เอาต์การอ่าน ตรวจสอบว่ามีการหมุน IP บนพร็อกซีในขณะนั้นหรือไม่ และตรวจสอบว่าเว็บไซต์เป้าหมายเข้าถึงได้จริง

การตรวจสอบ: หลังขั้นตอนนี้ เวลาตอบสนองพร็อกซีผ่าน curl อยู่ในไทม์เอาต์ของแอปพลิเคชันอย่างน้อยสองเท่า หาก curl ตอบใน 3 วินาที ในซอฟต์แวร์ควรตั้งไว้ไม่น้อยกว่า 10 วินาทีสำหรับการอ่าน

ขั้นตอนที่ 4: ตรวจสอบไฟร์วอลล์และแอนตี้ไวรัสบนอุปกรณ์ของคุณ

เป้าหมายของขั้นตอนนี้: ยืนยันว่าซอฟต์แวร์ป้องกันบนคอมพิวเตอร์ไม่บล็อกการเชื่อมต่อขาออกไปยังพอร์ตพร็อกซี และสร้างกฎอนุญาตเฉพาะเจาะจงหากจำเป็น

ทดสอบด่วน: ปิดชั่วคราว

ก่อนที่จะเจาะลึกในกฎ มาทดสอบสมมติฐานด้วยวิธีที่ง่ายที่สุด ปิดการป้องกันหนึ่งนาที ทำการทดสอบพอร์ตซ้ำ แล้วเปิดกลับ

  1. ใน Windows เปิดการค้นหา พิมพ์ "Windows Defender Firewall" และเปิดมัน
  2. ทางซ้ายคลิก "Turn Windows Defender Firewall on or off"
  3. สำหรับโปรไฟล์เครือข่ายที่ใช้งานอยู่ (มักเป็น Private หรือ Public network) เลือก "Turn off" และกด OK
  4. ทำ Test-NetConnection จากขั้นตอนที่ 2 ทันที
  5. คืนสวิตช์กลับเป็น "Turn on" และกด OK ทันที

ข้อควรระวัง: อย่าทำงานโดยปิดไฟร์วอลล์นานกว่าที่จำเป็นสำหรับการตรวจสอบครั้งเดียว คำสั่งหนึ่งใช้เวลาไม่กี่วินาที แต่ระบบที่เปิดโล่งในเครือข่ายเป็นความเสี่ยงจริง หากลืมเปิดกลับ Windows จะเตือนด้วยการแจ้งเตือน แต่ไม่ควรพึ่งสิ่งนี้

หากปิดไฟร์วอลล์แล้วพอร์ตเข้าถึงได้ พบผู้ร้ายแล้ว หากไม่ ให้ตรวจสอบแอนตี้ไวรัสด้วยวิธีเดียวกัน: ผลิตภัณฑ์ส่วนใหญ่มีรายการ "หยุดการป้องกัน 5 นาที" ในเมนูบริบทของไอคอนในถาดระบบ ทำการทดสอบพอร์ตซ้ำและคืนการป้องกัน

สร้างกฎอนุญาตในไฟร์วอลล์ Windows

การปิดไฟร์วอลล์ถาวรทำไม่ได้ ให้สร้างกฎที่อนุญาตแอปพลิเคชันของคุณเชื่อมต่อขาออกแทน

  1. เปิด "Windows Defender Firewall" และคลิก "Advanced settings" ทางซ้าย หน้าต่างการตั้งค่าขั้นสูงจะเปิดขึ้น
  2. ในคอลัมน์ซ้ายเลือก "Outbound Rules"
  3. ในคอลัมน์ขวาคลิก "New Rule"
  4. เลือกประเภท "Program" และกด Next
  5. เลือก "This program path" และผ่านปุ่ม Browse ระบุไฟล์เรียกใช้งานของแอปพลิเคชัน: เบราว์เซอร์ แอนตี้ดีเทกต์ หรืออินเทอร์พรีเตอร์ Python กด Next
  6. เลือก "Allow the connection" และกด Next
  7. ติ๊กทั้งสามโปรไฟล์: Domain, Private, Public กด Next
  8. ตั้งชื่อกฎที่เข้าใจได้ เช่น "Allow proxy for antidetect browser" และกด Finish

ทางเลือกอื่นหากมีแอปพลิเคชันหลายตัว: สร้างกฎประเภท "Port" เลือกโปรโตคอล TCP ระบุ远端พอร์ตพร็อกซีเฉพาะ และอนุญาตสำหรับทุกโปรแกรม ในข้อสี่เลือก "Customize" ในส่วน "Protocol and Ports" ระบุ TCP และในช่อง "Remote port" ป้อนหมายเลขพอร์ตพร็อกซี

ตรวจสอบว่ามีกฎบล็อกหรือไม่

บางครั้งปัญหาไม่ใช่การขาดการอนุญาต แต่เป็นการมีข้อห้ามที่สร้างโดยแอนตี้ไวรัสหรือนโยบายองค์กร

  1. ในหน้าต่างการตั้งค่าขั้นสูงเดียวกัน เปิด "Outbound Rules"
  2. คลิกที่หัวคอลัมน์ "Action" เพื่อจัดเรียงรายการ กฎที่มีการกระทำ "Block" จะอยู่ใกล้กัน
  3. ตรวจสอบพวกมัน หากเห็นกฎที่บล็อกแอปพลิเคชันของคุณหรือช่วงพอร์ตที่พอร์ตพร็อกซีอยู่ ให้คลิกขวาและเลือก "Disable Rule"
  4. ทำการทดสอบพอร์ตซ้ำ

ไฟร์วอลล์ใน macOS

  1. เปิด System Settings ส่วน Network แล้ว Firewall
  2. หากไฟร์วอลล์เปิดอยู่ คลิก Options
  3. ตรวจสอบว่าแอปพลิเคชันของคุณในรายการมีสถานะ "Allow incoming connections" แม้ว่าเราสนใจการเชื่อมต่อขาออก แอปพลิเคชันบางตัวเปิดพอร์ตท้องถิ่นเพื่อทำงานกับพร็อกซี
  4. ยกเลิกติ๊ก "Block all incoming connections" หากมีการติ๊กไว้ และทำการทดสอบซ้ำ

ตรวจสอบยูทิลิตี้ของบุคคลที่สามเช่น Little Snitch หรือ LuLu แยกต่างหาก: พวกมันควบคุมทราฟฟิกขาออกโดยเฉพาะ และอาจเคยจำการปฏิเสธของคุณต่อคำขออนุญาต ค้นหาแอปพลิเคชันของคุณในรายการกฎและอนุญาตการเชื่อมต่อไปยังที่อยู่พร็อกซี

ไฟร์วอลล์ใน Linux

  1. ตรวจสอบสถานะ ufw ด้วยคำสั่ง sudo ufw status verbose สังเกตบรรทัด Default: หาก outgoing ระบุ deny การเชื่อมต่อขาออกถูกบล็อกตามค่าเริ่มต้น
  2. อนุญาตการเชื่อมต่อขาออกไปยังพอร์ตพร็อกซี:
    sudo ufw allow out to 185.10.20.30 port 30001 proto tcp
  3. หากใช้ iptables โดยตรง ดูกฎด้วยคำสั่ง sudo iptables -L OUTPUT -n -v และหาบรรทัดที่มี DROP หรือ REJECT ที่ทราฟฟิกของคุณอยู่ภายใต้
  4. บนเซิร์ฟเวอร์ที่มี Docker จำไว้ว่าคอนเทนเนอร์ใช้ระบบย่อยเครือข่ายแยก ตรวจสอบการเข้าถึงพอร์ตจากภายในคอนเทนเนอร์ ไม่ใช่แค่จากโฮสต์

เคล็ดลับ: บันทึกเวลาที่แน่นอนเมื่อคุณเปลี่ยนกฎไฟร์วอลล์ หากอาทิตย์ถัดไปมีอะไรเสีย คุณจะจำได้อย่างรวดเร็วว่าการเปลี่ยนแปลงใดอาจเป็นสาเหตุ และย้อนกลับผ่านไฟล์ที่ส่งออกในขั้นตอนการเตรียมการ

การตรวจสอบ: หลังขั้นตอนนี้ Test-NetConnection หรือ nc แสดงการเชื่อมต่อสำเร็จโดยเปิดไฟร์วอลล์และแอนตี้ไวรัสอยู่ หากพอร์ตยังเข้าถึงไม่ได้ และเมื่อปิดการป้องกันก็ยังไม่เปิด ปัญหาอยู่สูงขึ้น ที่ระดับเราเตอร์หรือเครือข่าย ไปที่ขั้นตอนที่ 5

ขั้นตอนที่ 5: ตรวจสอบเราเตอร์ เครือข่ายองค์กร และผู้ให้บริการ

เป้าหมายของขั้นตอนนี้: ตรวจสอบว่าอุปกรณ์ระหว่างคอมพิวเตอร์กับเซิร์ฟเวอร์พร็อกซีทิ้งทราฟฟิกของคุณหรือไม่ และแก้ไขการตั้งค่าเราเตอร์หรือเปลี่ยนเครือข่ายหากจำเป็น

ดูว่าแพ็กเก็ตหายไปตรงไหน

ยูทิลิตี้ติดตามเส้นทางแสดงรายการโหนดที่แพ็กเก็ตผ่านไปยังเซิร์ฟเวอร์ หากแพ็กเก็ตไปถึงโหนดหนึ่งแล้วหายไปหลังจากนั้น คุณจะเห็นว่าโหนดนั้นเป็นของใคร: เราเตอร์ของคุณ ผู้ให้บริการ หรือไกลออกไป

  1. ใน Windows เปิด cmd และเรียกใช้ tracert 185.10.20.30 โดยแทนที่ IP พร็อกซี
  2. ใน macOS เรียกใช้ traceroute 185.10.20.30 ใน Linux ใช้ mtr -n 185.10.20.30 จะดีกว่า: มันแสดงสถิติแบบเรียลไทม์และการสูญเสียที่แต่ละโหนด
  3. บรรทัดแรกคือเราเตอร์ของคุณ บรรทัดที่สองและสามมักเป็นอุปกรณ์ของผู้ให้บริการ ต่อไปเป็นโหนดโครงข่ายหลัก และสุดท้ายเซิร์ฟเวอร์พร็อกซี
  4. หากได้รับคำตอบจากทุกโหนดยกเว้นตัวสุดท้าย นี่เป็นเรื่องปกติ: เซิร์ฟเวอร์พร็อกซีมักไม่ตอบคำขอเหล่านี้ ดูการสูญเสียในเส้นทางตรงกลาง
  5. หากเครื่องหมายดาวเริ่มต้นทันทีหลังโหนดแรก เราเตอร์หรือผู้ให้บริการของคุณไม่ปล่อยทราฟฟิกไปยังที่อยู่นี้

จำไว้: การติดตามเส้นทางใช้ ICMP หรือ UDP ไม่ใช่ TCP ไปยังพอร์ตที่ต้องการ ดังนั้นมันแสดงการเข้าถึงเส้นทางโดยรวม ไม่ใช่การเปิดพอร์ต นี่เป็นเครื่องมือเสริม ไม่ใช่การทดแทนการตรวจสอบจากขั้นตอนที่ 2

ตรวจสอบเราเตอร์

  1. เปิดเบราว์เซอร์และป้อนที่อยู่เราเตอร์ในแถบที่อยู่ มักเป็น 192.168.0.1 หรือ 192.168.1.1 ชื่อผู้ใช้และรหัสผ่านพิมพ์อยู่บนสติกเกอร์ด้านล่างอุปกรณ์ หากคุณไม่เปลี่ยน
  2. หาส่วนที่มีชื่อเช่น "Security" "Firewall" "Filtering" หรือ "Parental Control"
  3. ดูว่ามีการกรองตามพอร์ตหรือ URL เปิดอยู่หรือไม่ เราเตอร์บางตัวมีโปรไฟล์ที่ตั้งไว้ล่วงหน้าเช่น "High security level" ที่บล็อกทุกอย่างยกเว้นพอร์ต 80 และ 443 เปลี่ยนเป็นระดับมาตรฐาน
  4. ตรวจสอบส่วน "Access Control" หรือ "Schedule": อาจมีกฎที่จำกัดอินเทอร์เน็ตสำหรับอุปกรณ์ของคุณในบางชั่วโมง
  5. หาการตั้งค่า SPI Firewall หรือ "DoS protection" บางครั้งการป้องกันที่ก้าวร้าวเกินไปจะมองการเชื่อมต่อแบบขนานจำนวนมากไปยังที่อยู่เดียวว่าเป็นการโจมตีและเริ่มตัดทิ้ง หากคุณมีเธรดดึงข้อมูลหลายสิบ ลองปิดการป้องกันนี้ชั่วคราวและทำการทดสอบซ้ำ
  6. บันทึกการเปลี่ยนแปลงและรีสตาร์ทเราเตอร์หากจำเป็น

ข้อควรระวัง: อย่าเปลี่ยนการตั้งค่าเราเตอร์ที่คุณไม่เข้าใจ โดยเฉพาะในส่วน WAN และ DHCP ข้อผิดพลาดที่นั่นจะทำให้ทั้งบ้านหรือออฟฟิศไม่มีอินเทอร์เน็ต หากไม่แน่ใจ ให้สำรองข้อมูลการกำหนดค่าตามที่อธิบายในการเตรียมการ และเปลี่ยนเพียงพารามิเตอร์เดียวในแต่ละครั้ง

ตรวจสอบ MTU

MTU คือขนาดสูงสุดของแพ็กเก็ตข้อมูลหนึ่ง หากตั้งค่าไม่ถูกต้อง คำขอเล็กๆ จะผ่าน แต่การตอบกลับขนาดใหญ่จะหายไป อาการเฉพาะ: การเชื่อมต่อกับพร็อกซีถูกสร้างขึ้น หน้าเว็บเล็กเปิดได้ แต่หน้าใหญ่ค้าง

  1. ใน Windows เรียกใช้ใน cmd: ping -f -l 1472 8.8.8.8 หากแพ็กเก็ตผ่าน MTU 1500 เป็นปกติ หากเขียน "requires fragmentation" ให้ลดตัวเลขทีละ 10 จนกว่าจะผ่าน
  2. หาการตั้งค่า MTU ในเราเตอร์ (มักในส่วน WAN หรือ Internet) และตั้งค่าที่พบบวก 28
  3. ค่าทั่วไป: 1500 สำหรับการเชื่อมต่อเคเบิลปกติ, 1492 สำหรับ PPPoE, 1400-1450 สำหรับช่องมือถือและดาวเทียมบางแห่ง

เครือข่ายองค์กรและ Wi-Fi สาธารณะ

หากคุณทำงานในออฟฟิศ โคเวิร์กกิ้ง หรือโรงแรม เกือบแน่นอนว่ามีเกตเวย์องค์กรที่มีไฟร์วอลล์ของตัวเองอยู่ระหว่างคุณกับอินเทอร์เน็ต เกตเวย์เหล่านี้มักอนุญาตเฉพาะพอร์ต 80 และ 443 และตัดทุกอย่างอื่น พอร์ตห้าหลักของพร็อกซีมือถือจึงไม่ผ่าน

  1. เชื่อมต่อกับจุดเชื่อมต่อมือถือจากโทรศัพท์และทำการทดสอบพอร์ตซ้ำ หากทำงานได้ เกตเวย์องค์กรเป็นตัวการ
  2. ติดต่อผู้ดูแลระบบด้วยคำขอเฉพาะ: อนุญาตการเชื่อมต่อ TCP ขาออกไปยัง IP และพอร์ตที่ระบุ ยิ่งคำขอเฉพาะเจาะจง ยิ่งทำได้เร็ว
  3. สอบถามผู้ให้บริการพร็อกซีว่าสามารถให้พอร์ตจากช่วงมาตรฐานเช่น 443 หรือ 8080 ได้หรือไม่ ผู้ให้บริการหลายรายตั้งค่านี้ได้

ผู้ให้บริการที่บ้าน

ผู้ให้บริการที่บ้านแทบไม่บล็อกพอร์ตขาออก แต่บางรายตัดช่วงที่รู้จักที่เกี่ยวข้องกับทอร์เรนต์หรือเซิร์ฟเวอร์อีเมล หากหลังการตรวจสอบทั้งหมดพอร์ตไม่ตอบจากเครือข่ายบ้าน แต่ตอบผ่านอินเทอร์เน็ตมือถือ ให้โทรหาฝ่ายสนับสนุนผู้ให้บริการและถามตรงๆ ว่าพวกเขากรองการเชื่อมต่อขาออกไปยังพอร์ตที่ระบุหรือไม่

เคล็ดลับ: บันทึกผลลัพธ์การติดตามเส้นทางและการตรวจสอบพอร์ตจากเครือข่ายของคุณและจากเครือข่ายมือถือไว้ในไฟล์เดียว เมื่อจะเขียนถึงผู้ให้บริการหรือผู้ดูแลระบบ ให้แนบผลลัพธ์ทั้งสอง สิ่งนี้จะลดบทสนทนาจากหนึ่งอาทิตย์เหลือหนึ่งวัน

การตรวจสอบ: พอร์ตพร็อกซีเข้าถึงได้จากเครือข่ายของคุณด้วยคำสั่งจากขั้นตอนที่ 2 การติดตามเส้นทางไม่แสดงการสูญเสียที่โหนดของผู้ให้บริการ และ ping ด้วยแฟล็ก -f ผ่านที่ขนาด 1472 หากตรงทั้งสามเงื่อนไข แต่พร็อกซียังไม่ตอบสนอง ปัญหาอยู่ในการตั้งค่าของมันเอง เรามาที่ขั้นตอนที่ 6

ขั้นตอนที่ 6: ตรวจสอบการตั้งค่าฝั่งพร็อกซี

เป้าหมายของขั้นตอนนี้: ยืนยันว่าเซิร์ฟเวอร์พร็อกซียอมรับคุณโดยเฉพาะ: IP ของคุณอยู่ในรายการที่อนุญาต โมเด็มออนไลน์ การหมุนไม่ตรงกับคำขอของคุณ และไม่เกินขีดจำกัดการเชื่อมต่อ

ตรวจสอบการยืนยันตัวตนด้วย IP

นี่คือสาเหตุที่พบบ่อยที่สุด เมื่อพร็อกซีทำงานจากโทรศัพท์แต่ไม่ทำงานจากคอมพิวเตอร์ หรือทำงานเมื่อวานแต่วันนี้ไม่ทำงาน

  1. ค้นหา IP ภายนอกปัจจุบันของคุณ เปิดเว็บไซต์ที่แสดง IP โดยไม่ใช้พร็อกซี หรือเรียกใช้ curl https://api.ipify.org ในเทอร์มินัล
  2. เปิดแดชบอร์ดของผู้ให้บริการพร็อกซี ส่วนการตั้งค่าการยืนยันตัวตน
  3. เปรียบเทียบที่อยู่ในรายการที่อนุญาตกับที่อยู่ปัจจุบันของคุณ หากแตกต่าง นี่คือสาเหตุ: ผู้ให้บริการของคุณออกที่อยู่ใหม่หลังรีสตาร์ทเราเตอร์หรือตามกำหนดเวลา
  4. อัปเดตที่อยู่ในรายการที่อนุญาตหรือเปลี่ยนไปใช้การยืนยันตัวตนด้วยชื่อผู้ใช้และรหัสผ่าน ทางเลือกที่สองเชื่อถือได้มากกว่าหาก IP ภายนอกของคุณเปลี่ยน
  5. รอหนึ่งถึงสองนาที: การตั้งค่าบนเซิร์ฟเวอร์พร็อกซีใช้เวลาไม่ทันที
  6. ทำการทดสอบผ่าน curl จากขั้นตอนที่ 2 ซ้ำ

เคล็ดลับ: หากคุณทำงานจากบ้านด้วย IP แบบไดนามิก การยืนยันตัวตนด้วยชื่อผู้ใช้และรหัสผ่านจะแก้ปัญหานี้ให้คุณตลอดไป รายการที่อนุญาตสะดวกสำหรับเซิร์ฟเวอร์ที่มีที่อยู่คงที่ ไม่ใช่สำหรับคอมพิวเตอร์ที่บ้าน

ตรวจสอบสถานะโมเด็มและการหมุน

  1. ในแดชบอร์ด หาข้อมูลเกี่ยวกับ IP พร็อกซีปัจจุบันและเวลาที่เปลี่ยนล่าสุด
  2. หากคุณตั้งการหมุนอัตโนมัติทุกไม่กี่นาที ให้สังเกต: ในช่วงที่ IP เปลี่ยน โมเด็มจะเชื่อมต่อใหม่กับเครือข่ายมือถือ และ 5-20 วินาทีพร็อกซีจะไม่ตอบสนองจริง นี่เป็นพฤติกรรมปกติ ไม่ใช่การเสีย
  3. หากคำขอของคุณเจอไทม์เอาต์เป็นประจำในจังหวะการหมุน ให้เพิ่มช่วงการหมุนหรือเปลี่ยนไปใช้การเปลี่ยน IP ตามลิงก์ เพื่อควบคุมจังหวะการเชื่อมต่อใหม่ด้วยตัวเอง
  4. ลองบังคับเปลี่ยน IP ผ่านลิงก์จากแดชบอร์ด หากหลังการเปลี่ยนพร็อกซีทำงานได้ ปัญหาอยู่ที่ IP เฉพาะหรือการเชื่อมต่อของโมเด็มที่ค้าง

ตรวจสอบขีดจำกัดการเชื่อมต่อพร้อมกัน

พร็อกซีมือถือมีข้อจำกัดจำนวนการเชื่อมต่อแบบขนานจากพอร์ตเดียว หากตัวดึงข้อมูลของคุณเปิดหนึ่งร้อยเธรด แต่ขีดจำกัดห้าสิบ การเชื่อมต่อส่วนเกินจะรอในคิวและหลุดตามไทม์เอาต์

  1. ตรวจสอบขีดจำกัดในคำอธิบายแพ็กเกจหรือในแดชบอร์ด
  2. ปิดแอปพลิเคชันทั้งหมดที่ใช้พร็อกซีและทำคำขอเดี่ยวผ่าน curl หากคำขอเดี่ยวผ่าน แต่ภายใต้โหลดเริ่มมีไทม์เอาต์ คุณกำลังชนขีดจำกัด
  3. ลดจำนวนเธรดในการตั้งค่าตัวดึงข้อมูลหรือแอนตี้ดีเทกต์ให้ต่ำกว่าขีดจำกัด สำหรับพร็อกซีมือถือ จุดเริ่มต้นที่สมเหตุสมผล: 5-10 การเชื่อมต่อขนานต่อพอร์ต

ตรวจสอบเขตเวลาและเครือข่ายมือถือ

โมเด็มพร็อกซีตั้งอยู่ทางกายภาพในเมืองเฉพาะและเชื่อมต่อกับผู้ให้บริการเฉพาะ ในชั่วโมงเย็นเมื่อเครือข่ายมือถือแออัด ความหน่วงเพิ่มขึ้นหลายเท่า หากไทม์เอาต์ปรากฏเฉพาะ 19.00 ถึง 23.00 ตามเวลาเขตภูมิภาคพร็อกซี นี่คือเครือข่ายมือถือ ไม่ใช่การกำหนดค่าของคุณ วิธีแก้: เพิ่มไทม์เอาต์ในช่วงเวลานี้หรือกระจายโหลดไปยังชั่วโมงอื่น

การตรวจสอบ: IP ปัจจุบันของคุณตรงกับรายการที่อนุญาตหรือใช้การยืนยันตัวตนด้วยรหัสผ่าน โมเด็มในแดชบอร์ดแสดงสถานะ "ออนไลน์" คำขอเดี่ยวผ่าน curl ผ่าน และจำนวนเธรดในซอฟต์แวร์ไม่เกินขีดจำกัด หากทั้งหมดนี้ทำแล้ว แต่พร็อกซีเซิร์ฟเวอร์ยังไม่ตอบสนอง ถึงเวลาเขียนถึงฝ่ายสนับสนุนผู้ให้บริการพร้อมแนบผลลัพธ์ทั้งหกขั้นตอน

ตรวจสอบผลลัพธ์: เช็คลิสต์การเชื่อมต่อที่เสถียร

คุณผ่านทุกขั้นตอนแล้ว ตอนนี้มาตรวจสอบว่าผลลัพธ์ที่ได้มาไม่ใช่เรื่องบังเอิญและไม่ใช่แค่นาทีเดียว ผ่านเช็คลิสต์และติ๊กทุกข้อ

เช็คลิสต์

  • Test-NetConnection หรือ nc แสดงการเชื่อมต่อ TCP สำเร็จกับพอร์ตพร็อกซีโดยเปิดไฟร์วอลล์และแอนตี้ไวรัสอยู่
  • curl ผ่านพร็อกซีคืนค่า IP ของผู้ให้บริการมือถือภายในไม่เกิน 5 วินาทีในห้าครั้งติดต่อกัน
  • ไทม์เอาต์การเชื่อมต่อในซอฟต์แวร์ของคุณไม่น้อยกว่า 10 วินาที ไทม์เอาต์การอ่านไม่น้อยกว่า 30 วินาที
  • โปรโตคอลในแอปพลิเคชัน (HTTP หรือ SOCKS5) ตรงกับพอร์ตที่ผ่านการตรวจสอบผ่าน curl
  • ในไฟร์วอลล์มีกฎอนุญาตเฉพาะเจาะจง ไม่ใช่ปิดการป้องกันทั้งหมด
  • IP ภายนอกของคุณตรงกับรายการที่อนุญาตหรือใช้การยืนยันตัวตนด้วยรหัสผ่าน
  • จำนวนการเชื่อมต่อขนานในแอปพลิเคชันต่ำกว่าขีดจำกัดของแพ็กเกจ
  • สำรองข้อมูลการตั้งค่าไฟร์วอลล์และเราเตอร์ไว้ในกรณีย้อนกลับ

การทดสอบโหลด

คำขอเดี่ยวเป็นเรื่องหนึ่ง แต่การทำงานจริงคือหลายสิบคำขอติดต่อกัน มาทำการทดสอบสั้นๆ

  1. เรียกใช้ในเทอร์มินัลลูป 20 คำขอ ใน macOS และ Linux:
    for i in $(seq 1 20); do curl -x http://login:password@proxy.example.net:30001 -s -o /dev/null -w "%{http_code} %{time_total}\n" https://api.ipify.org; done
    ใน PowerShell ใช้ลูป 1..20 | ForEach-Object กับคำสั่ง curl เดียวกันข้างใน
  2. ในผลลัพธ์คุณจะเห็น 20 บรรทัดที่มีรหัสตอบกลับและเวลา รหัสทั้งหมดควรเป็น 200 และเวลาไม่ควรเกิน 5-6 วินาที
  3. หากหนึ่งหรือสองคำขอจากยี่สิบใช้เวลามากกว่า ถือว่ายอมรับได้สำหรับเครือข่ายมือถือ หากทุกคำขอที่สามหมดเวลา กลับไปที่ขั้นตอนที่ 6 และตรวจสอบขีดจำกัดการเชื่อมต่อและการหมุน

ทดสอบในแอปพลิเคชันจริง

  1. เปิดโปรไฟล์เบราว์เซอร์แอนตี้ดีเทกต์ที่ตั้งค่าพร็อกซีและกดตรวจสอบการเชื่อมต่อ ผลลัพธ์ควรมาถึงใน 2-4 วินาทีและแสดง IP ของผู้ให้บริการมือถือ
  2. เปิดหน้าหนักๆ เช่นฟีดโซเชียลมีเดีย มันควรโหลดเสร็จใน 10-15 วินาที
  3. เปิดแท็บทิ้งไว้ 10 นาทีและรีเฟรชหน้า หากโหลดได้ การเชื่อมต่อทนต่อการหยุดชั่วคราวและไม่ขาดจากการไม่ใช้งาน
  4. สำหรับสคริปต์: เรียกใช้งานจริง 50-100 คำขอและดูเปอร์เซ็นต์ความสำเร็จ เป้าหมายความสำเร็จ: ไม่น้อยกว่า 95 เปอร์เซ็นต์โดยไม่มีการลองใหม่

ตัวชี้วัดความสำเร็จ: พอร์ตเข้าถึงได้ เวลาตอบสนองคาดเดาได้ แอปพลิเคชันไม่บ่นเรื่องไทม์เอาต์ใน 30 นาทีการทำงาน และคุณรู้แน่นอนว่าขั้นตอนใดจากหกขั้นตอนเป็นสาเหตุของปัญหา อย่างหลังมีค่ามาก: ครั้งต่อไปคุณจะเริ่มวินิจฉัยจากขั้นตอนนั้นเลย

ข้อผิดพลาดทั่วไปและวิธีแก้ไข

ที่นี่รวบรวมสถานการณ์ที่ผู้ใช้พร็อกซีมือถือพบบ่อยที่สุด รูปแบบ: สิ่งที่คุณเห็น ทำไมจึงเกิดขึ้น ต้องทำอย่างไร

พร็อกซีทำงานจากโทรศัพท์ แต่ไม่ทำงานจากคอมพิวเตอร์

สาเหตุ: ไฟร์วอลล์หรือแอนตี้ไวรัสบนคอมพิวเตอร์บล็อกการเชื่อมต่อขาออกไปยังพอร์ตที่ไม่มาตรฐาน หรือ IP บ้านของคุณไม่ตรงกับรายการที่อนุญาต ในขณะที่โทรศัพท์ยืนยันตัวตนด้วยวิธีอื่น

วิธีแก้: ทำการทดสอบด่วนโดยปิดไฟร์วอลล์จากขั้นตอนที่ 4 หากไม่ช่วย ให้ตรวจสอบ IP ภายนอกของคอมพิวเตอร์กับรายการที่อนุญาตตามคำแนะนำในขั้นตอนที่ 6

เชื่อมต่อได้ แต่หน้าเว็บไม่โหลด

สาเหตุ: คุณระบุพอร์ต HTTP ในขณะที่แอปพลิเคชันคาดหวัง SOCKS5 หรือในทางกลับกัน การเชื่อมต่อเปิดขึ้น แต่แอปพลิเคชันและพร็อกซีพูดภาษาต่างกัน และข้อมูลไม่ผ่าน

วิธีแก้: ตรวจสอบทั้งสองโปรโตคอลผ่าน curl ด้วยคีย์ http:// และ socks5:// และตั้งค่าในแอปพลิเคชันตามที่ทำงานได้

ทำงานได้หนึ่งอาทิตย์ แล้วหยุดโดยไม่มีการเปลี่ยนแปลงจากฝั่งคุณ

สาเหตุ: IP ภายนอกของผู้ให้บริการอินเทอร์เน็ตของคุณเปลี่ยน และในแดชบอร์ดพร็อกซีตั้งการยืนยันตัวตนด้วย IP ทางเลือกที่สอง: การอัปเดตแอนตี้ไวรัสเพิ่มกฎบล็อกใหม่

วิธีแก้: อัปเดตรายการที่อนุญาตหรือเปลี่ยนไปใช้การยืนยันตัวตนด้วยรหัสผ่าน ตรวจสอบรายการกฎบล็อกในไฟร์วอลล์ตามคำแนะนำในขั้นตอนที่ 4

ไทม์เอาต์เฉพาะช่วงเย็น

สาเหตุ: ความแออัดของเครือข่ายมือถือในภูมิภาคที่ตั้งโมเด็มพร็อกซี นี่คือลักษณะของอินเทอร์เน็ตมือถือ ไม่ใช่การเสีย

วิธีแก้: เพิ่มไทม์เอาต์การอ่านเป็น 45-60 วินาทีในช่วงเย็น เพิ่มการลองใหม่ และย้ายงานหนักไปตอนเช้าหากเป็นไปได้

ทุกคำขอที่สิบหลุดตามไทม์เอาต์

สาเหตุ: คำขอตรงกับจังหวะการหมุน IP อัตโนมัติ หรือเกินขีดจำกัดการเชื่อมต่อขนาน

วิธีแก้: เปลี่ยนการหมุนเป็นการเปลี่ยนตามลิงก์และเรียกมันระหว่างชุดคำขอ ลดจำนวนเธรดเหลือ 5-10

ที่ออฟฟิศไม่ทำงาน ที่บ้านทำงาน

สาเหตุ: เกตเวย์องค์กรปล่อยเฉพาะพอร์ต 80 และ 443

วิธีแก้: ขอให้ผู้ดูแลระบบอนุญาต IP และพอร์ตเฉพาะ หรือขอพอร์ตจากช่วงมาตรฐานจากผู้ให้บริการพร็อกซี

Test-NetConnection แสดง True แต่เบราว์เซอร์ยังค้าง

สาเหตุ: พอร์ตเปิด แต่ในเบราว์เซอร์ตั้งพอร์ตอื่น ที่อยู่อื่น หรือมีการยกเว้นระบบที่ทำให้ทราฟฟิกเลี่ยงพร็อกซี นอกจากนี้ส่วนขยายสำหรับพร็อกซีอาจขัดแย้งกับการตั้งค่าระบบ

วิธีแก้: ตรวจสอบที่อยู่และพอร์ตในเบราว์เซอร์ทีละตัวอักษรกับที่คุณตรวจสอบด้วยคำสั่ง ปิดส่วนขยายทั้งหมดที่เกี่ยวข้องกับพร็อกซีและตั้งค่าพร็อกซีด้วยวิธีเดียว

หน้าเล็กเปิดได้ หน้าใหญ่ค้าง

สาเหตุ: MTU ผิดบนเราเตอร์หรือของผู้ให้บริการ แพ็กเก็ตขนาดใหญ่ไม่ผ่าน

วิธีแก้: หา MTU ด้วยคำสั่ง ping พร้อมแฟล็ก -f จากขั้นตอนที่ 5 และตั้งค่าในเราเตอร์

ความสามารถเพิ่มเติมสำหรับผู้ใช้ขั้นสูง

หากการเชื่อมต่อพื้นฐานกลับมาและคุณต้องการควบคุมมากขึ้น ส่วนนี้สำหรับคุณ ที่นี่มีเครื่องมือและแนวทางที่เปลี่ยนการวินิจฉัยครั้งเดียวให้เป็นการติดตามต่อเนื่อง

ดูแพ็กเก็ต: Wireshark และ tcpdump

เมื่อคำสั่งจากขั้นตอนหลักไม่ให้คำตอบที่ชัดเจน คุณสามารถดูทราฟฟิกเครือข่ายโดยตรง

  1. ใน Linux หรือ macOS เรียกใช้:
    sudo tcpdump -i any host 185.10.20.30 and port 30001 -nn
    ใน Windows ติดตั้ง Wireshark และในตัวกรองการแสดงผลพิมพ์ ip.addr == 185.10.20.30 and tcp.port == 30001
  2. เรียกใช้การทดสอบพอร์ตจากขั้นตอนที่ 2 และดูแพ็กเก็ตที่จับได้
  3. หากคุณเห็นแพ็กเก็ตขาออกที่มีแฟล็ก SYN แต่ไม่มี SYN-ACK ตอบกลับ แพ็กเก็ตของคุณออกไป แต่การตอบกลับไม่กลับมา การบล็อกอยู่ที่ไหนสักแห่งนอกคอมพิวเตอร์
  4. หากไม่มีแพ็กเก็ต SYN เลย ไฟร์วอลล์ท้องถิ่นทิ้งพวกมันก่อนออกสู่เครือข่าย
  5. หากตอบกลับด้วย RST พอร์ตบนเซิร์ฟเวอร์ปิดหรือเซิร์ฟเวอร์ปฏิเสธคุณโดยเฉพาะ

การลองใหม่อัตโนมัติด้วยการหน่วงเพิ่มขึ้น

เครือข่ายมือถือไม่เสถียรโดยธรรมชาติ แทนที่จะล้มเหลวที่ไทม์เอาต์แรก ให้ตั้งการลองใหม่ด้วยการหน่วงแบบเอกซ์โพเนนเชียล: ครั้งแรกใน 1 วินาที ครั้งที่สองใน 2 ครั้งที่สามใน 4 ใน Python ทำได้ผ่านอะแดปเตอร์กับคลาส Retry จาก urllib3 ใน Node.js ผ่านแพ็กเกจ axios-retry การลองใหม่สามครั้งด้วยรูปแบบนี้ขจัดไทม์เอาต์สุ่ม 90 เปอร์เซ็นต์โดยไม่สูญเสียข้อมูล

การเชื่อมต่อถาวรและพูล

การเชื่อมต่อ TCP ใหม่แต่ละครั้งผ่านพร็อกซีมือถือใช้เวลา 100-500 มิลลิวินาทีในการสร้าง หากสคริปต์ของคุณเปิดการเชื่อมต่อใหม่ทุกคำขอ คุณจะเสียเวลาและชนขีดจำกัดเร็วขึ้น ใช้เซสชัน: ใน Python requests.Session ใน Node.js เอเจนต์ที่มี keepAlive: true การเชื่อมต่อเดียวจะถูกนำกลับมาใช้สำหรับหลายสิบคำขอ

การติดตามการเข้าถึง

ตั้งการตรวจสอบง่ายๆ ทุกนาที: สคริปต์ส่งคำขอผ่านพร็อกซีและบันทึกเวลาตอบสนองและรหัส ในหนึ่งอาทิตย์คุณจะได้ภาพว่าพร็อกซีเร็วที่สุดในชั่วโมงใด และเมื่อเจอไทม์เอาต์ สิ่งนี้จะช่วยวางแผนโหลดและเห็นการเสื่อมถอยล่วงหน้า ไม่ใช่รู้จากงานที่พัง

*/1 * * * * curl -x http://login:password@proxy.example.net:30001 -s -o /dev/null -m 20 -w "$(date +%H:%M) %{http_code} %{time_total}\n" https://api.ipify.org >> /var/log/proxy-check.log

DNS ผ่านพร็อกซี

ตามค่าเริ่มต้น แอปพลิเคชันบางตัวแปลงชื่อโดเมนในเครื่อง ไม่ใช่ผ่านพร็อกซี สิ่งนี้อาจนำไปสู่การรั่วไหลของข้อมูลและสถานการณ์ที่ DNS ท้องถิ่นส่งคืนที่อยู่ที่ไม่สามารถเข้าถึงได้จากเครือข่ายมือถือ ในการตั้งค่าเบราว์เซอร์และแอนตี้ดีเทกต์ มองหาตัวเลือก "DNS ผ่านพร็อกซี" หรือใช้โปรโตคอล socks5h แทน socks5 ใน curl และ Python: ตัวอักษร h หมายความว่าพร็อกซีเองจะแปลงชื่อ

เปลี่ยนพอร์ตเป็นมาตรฐาน

หากคุณทำงานจากเครือข่ายต่างๆ บ่อยครั้ง สอบถามผู้ให้บริการว่าสามารถกำหนดพอร์ตพร็อกซี 443 หรือ 8080 ได้หรือไม่ พอร์ตเหล่านี้เปิดเกือบทุกที่ และคุณไม่ต้องต่อสู้กับไฟร์วอลล์องค์กรทุกครั้ง

การตั้งค่าการหมุนอย่างละเอียด

สถานการณ์ขั้นสูง: เชื่อมโยงการเปลี่ยน IP กับตรรกะของแอปพลิเคชัน ก่อนเริ่มชุดคำขอใหม่ สคริปต์เรียกใช้ลิงก์เปลี่ยน IP รอ 10-15 วินาที ตรวจสอบผ่าน api.ipify.org ว่าที่อยู่เปลี่ยนจริง แล้วจึงเริ่มทำงาน วิธีนี้คุณจะขจัดไทม์เอาต์จากการที่คำขอตรงกับการหมุนโดยสิ้นเชิง

เคล็ดลับ: เพิ่มในล็อกของแต่ละคำขอไม่เพียงเวลา แต่ยังรวมถึง IP พร็อกซีปัจจุบัน เมื่อเดือนหน้าคุณจะวิเคราะห์ว่าทำไมตัวชี้วัดลดลง ความสัมพันธ์ระหว่าง IP เฉพาะกับไทม์เอาต์จะบอกทันทีว่าที่อยู่ใดของผู้ให้บริการมีปัญหา

FAQ: คำถามที่พบบ่อยเกี่ยวกับการวินิจฉัย

พร็อกซีเซิร์ฟเวอร์ไม่ตอบสนอง แต่ ping ผ่าน หมายความว่าอย่างไร?

Ping ตรวจสอบเฉพาะการเข้าถึง IP ผ่านโปรโตคอล ICMP ไม่ใช่การเปิดพอร์ต เซิร์ฟเวอร์อาจมีชีวิตและตอบ ping แต่พอร์ตพร็อกซีถูกกรองโดยไฟร์วอลล์หรือบริการบนพอร์ตนั้นไม่ได้ทำงาน ตรวจสอบพอร์ต TCP ด้วยคำสั่งจากขั้นตอนที่ 2 เสมอ

ควรรอนานแค่ไหนก่อนที่จะถือว่าพร็อกซีไม่ตอบสนอง?

สำหรับการสร้างการเชื่อมต่อกับพร็อกซีมือถือ ปกติไม่เกิน 1 วินาที ขีดจำกัด 10 วินาที สำหรับการรับข้อมูล ปกติไม่เกิน 5 วินาที ขีดจำกัด 30-45 วินาที หากการเชื่อมต่อไม่ถูกสร้างใน 10 วินาที การรอต่อไปก็ไร้ความหมาย: การตอบกลับจะไม่มา

ปิดไฟร์วอลล์แล้วทำงานได้เลยได้ไหม?

ไม่ได้ การปิดการป้องกันทำได้เฉพาะหนึ่งนาทีเพื่อทดสอบสมมติฐาน หลังจากนั้นสร้างกฎเฉพาะเจาะจงสำหรับแอปพลิเคชันหรือพอร์ตเฉพาะตามที่อธิบายในขั้นตอนที่ 4 และเปิดไฟร์วอลล์กลับ คอมพิวเตอร์ที่ไม่มีการป้องกันในเครือข่ายเป็นความเสี่ยงต่อบัญชีและข้อมูลของคุณ

ทำไมพร็อกซีทำงานในเบราว์เซอร์หนึ่งแต่ไม่ทำงานในอีกเบราว์เซอร์หนึ่ง?

มักเป็นเพราะเบราว์เซอร์หนึ่งใช้การตั้งค่าพร็อกซีของระบบ แต่อีกเบราว์เซอร์ใช้ของตัวเอง และตั้งค่าข้อมูลต่างกัน ทางเลือกที่สอง: ไฟร์วอลล์อนุญาตไฟล์เรียกใช้งานหนึ่งและไม่อนุญาตอีกไฟล์ ตรวจสอบการตั้งค่าของทั้งสองเบราว์เซอร์และรายการกฎไฟร์วอลล์

จะรู้ได้อย่างไรว่าปัญหาคือการหมุน IP ไม่ใช่การตั้งค่าของฉัน?

บันทึกเวลาของทุกไทม์เอาต์ภายในหนึ่งชั่วโมงและเปรียบเทียบกับช่วงการหมุนจากแดชบอร์ด หากไทม์เอาต์มาเป็นระยะเดียวกับการเปลี่ยน IP นี่คือการหมุน เปลี่ยนไปใช้การเปลี่ยนตามลิงก์ และปัญหาจะหายไป

จำเป็นต้องใช้เทอร์มินัลหรือไม่? มีเครื่องมือแบบกราฟิกไหม?

เทอร์มินัลเร็วกว่าและแม่นยำกว่า แต่มีทางเลือก ในเบราว์เซอร์แอนตี้ดีเทกต์มีการตรวจสอบพร็อกซีในตัวพร้อมแสดงเวลาตอบสนอง มีโปรแกรมเดสก์ท็อปสำหรับตรวจสอบรายการพร็อกซีพร้อมตัวบ่งชี้พอร์ตที่เปิด อย่างไรก็ตาม สำหรับการค้นหาสาเหตุเฉพาะของคุณ เทอร์มินัลไม่สามารถทดแทนได้: มันแสดงว่าการเชื่อมต่อหยุดที่ขั้นตอนใด

ทำอย่างไรหากผ่านทั้งหกขั้นตอนแล้วแต่ปัญหายังอยู่?

เขียนถึงฝ่ายสนับสนุนของผู้ให้บริการพร็อกซีและแนบ: ผลลัพธ์ Test-NetConnection หรือ nc, ผลลัพธ์ curl พร้อมคีย์ -v, ผลลัพธ์การติดตามเส้นทาง, IP ภายนอกของคุณ, เวลาที่ลอง และข้อมูลว่าพร็อกซีทำงานจากเครือข่ายอื่นหรือไม่ ด้วยข้อมูลเหล่านี้ ผู้เชี่ยวชาญจะหาสาเหตุได้ในคำตอบเดียว ไม่ใช่ห้าคำถามเพื่อขอข้อมูลเพิ่ม

ต้องรีสตาร์ทคอมพิวเตอร์หลังเปลี่ยนกฎไฟร์วอลล์หรือไม่?

ไม่ กฎไฟร์วอลล์ของ Windows, macOS และ Linux มีผลทันที การรีสตาร์ทจำเป็นเฉพาะเราเตอร์หลังเปลี่ยน MTU หรือโปรไฟล์ความปลอดภัย และก็ไม่ใช่ทุกโมเดล

สามารถใช้แนวทางเดียวกันกับพร็อกซีดาต้าเซ็นเตอร์ได้หรือไม่?

ได้ ขั้นตอนที่ 1 ถึง 5 ใช้ได้กับพร็อกซีทุกประเภท สิ่งที่แตกต่างคือขั้นตอนที่ 3: พร็อกซีดาต้าเซ็นเตอร์ตอบเร็วกว่า และสามารถตั้งไทม์เอาต์น้อยกว่า และขั้นตอนที่ 6: พร็อกซีดาต้าเซ็นเตอร์ไม่มีการหมุนผ่านการเชื่อมต่อโมเด็มใหม่ จึงไม่มีการหยุดชั่วขณะเมื่อเปลี่ยน IP

บทสรุป

มาสรุปกัน คุณได้เรียนรู้ที่จะไม่ตื่นตระหนกเมื่อมีข้อความว่าพร็อกซีเซิร์ฟเวอร์ไม่ตอบสนอง แต่จะวิเคราะห์สถานการณ์ตามสายโซ่ ก่อนอื่นคุณระบุว่าพร็อกซีทำงานจากที่ใดที่หนึ่งหรือไม่ จากนั้นตรวจสอบว่าพอร์ตเปิดจากอุปกรณ์ของคุณหรือไม่ จัดการไทม์เอาต์และเข้าใจความแตกต่างระหว่างไทม์เอาต์การเชื่อมต่อกับไทม์เอาต์การอ่าน ตรวจสอบไฟร์วอลล์และแอนตี้ไวรัสและสร้างกฎเฉพาะเจาะจงแทนการปิดการป้องกัน ศึกษาเราเตอร์ MTU และเกตเวย์องค์กร และสุดท้ายยืนยันว่าพร็อกซีเองยอมรับคุณโดยเฉพาะ: รายการที่อนุญาต โมเด็ม การหมุน ขีดจำกัด

ผลลัพธ์หลักไม่ใช่แค่การเชื่อมต่อกลับมา แต่คือคุณมีวิธีการ ตอนนี้ ครั้งต่อไปที่มีอะไรค้าง คุณจะไม่เดาและเปลี่ยนการตั้งค่าแบบสุ่ม คุณจะเปิดเทอร์มินัล ทำสองคำสั่ง และรู้ภายในหนึ่งนาทีว่าสายโซ่ขาดตรงส่วนไหน

ทำอะไรต่อไป

  1. บันทึกไฟล์ที่มีคำสั่งที่ใช้ได้และข้อมูลพร็อกซีของคุณไว้ในที่ที่สะดวก นี่คือชุดปฐมพยาบาลของคุณ
  2. เปลี่ยนการยืนยันตัวตนเป็นชื่อผู้ใช้และรหัสผ่าน หากยังใช้รายการที่อนุญาตจากคอมพิวเตอร์ที่บ้าน
  3. ตรวจสอบไทม์เอาต์ในทุกแอปพลิเคชันที่ทำงานผ่านพร็อกซีมือถือและปรับให้เป็นค่าที่แนะนำ
  4. ตั้งการติดตามทุกนาทีจากส่วนขั้นสูงอย่างน้อยบนพร็อกซีหนึ่งตัว เพื่อเห็นภาพความเสถียรจริงในหนึ่งอาทิตย์

จะพัฒนาต่อไปอย่างไร

ระดับถัดไปคือการจัดการความล้มเหลวอัตโนมัติ: การลองใหม่ด้วยการหน่วงเพิ่มขึ้น การหมุนที่ควบคุมได้ พูลการเชื่อมต่อ และการบันทึกทุกคำขอพร้อมเชื่อมโยงกับ IP เมื่อเชี่ยวชาญสิ่งนี้แล้ว คุณจะไม่สังเกตเห็นไทม์เอาต์เดี่ยวๆ อีกเลย: ระบบของคุณจะจัดการมันเอง และคุณจะเห็นเพียงตัวชี้วัดสุดท้าย ขอให้โชคดีในการทำงาน และขอให้พร็อกซีของคุณตอบสนองทุกครั้งในครั้งแรก