บางผู้ใช้รายงานว่าเจอข้อผิดพลาด "an attempt was made to access a socket in a way forbidden by its access permissions" เมื่อพยาามรันคำสั่ง ipconfig/renew ใน CMD เพื่อซ่อมแซมการเชื่อมต่อเครือข่าย ผู้ใช้อื่นรายงานว่าปัญหานี้เกิดขึ้นเมื่อพยาามเริ่มต้นเซิร์ฟเวอร์ Apache อย่างไรก็ตาม เกือบทุกคนที่เจอปัญหานี้รายงานว่าปัญหาเริ่มขึ้นหลังจากที่มีการติดตั้ง Windows Update อัตโนมัติ

สาเหตุของข้อผิดพลาด "attempt was made to access a socket..."
เราสืบสวนปัญหานี้จากรายงานของผู้ใช้และวิธีแก้ไขที่พวกเขาใช้ พบว่ามีหลายสถานการณ์ที่สามารถก่อให้เกิดปัญหานี้ได้:
- ไคลเอนต์ VPN บล็อกการเชื่อมต่อ localhost - ผู้ใช้หลายคนพบว่า VPN เป็นสาเหตุ การปิด VPN แล้วปัญหาหายไป
- ไฟร์วอลล์ของบริษัทอื่นบล็อกการเชื่อมต่อ - หากมีไฟร์วอลล์ภายนอก อาจเป็นสาเหตุบล็อกการเชื่อมต่อ SMTP โดย McAfee และ Avast ถูกยืนยันว่าเป็นสาเหตุหลัก
- แอปพลิเคชันพยาามเปิดพอร์ตที่ใช้งานอยู่แล้ว - หากพยาามใช้แอปที่ตั้งค่าเปิดพอร์ตที่เปิดอยู่แล้วและถูกใช้โดยบริการอื่น
- คุณสมบัติความปลอดภัยของ Windows 10 - เริ่มจาก Windows 10 Microsoft ได้เพิ่มคุณสมบัติป้องกันไม่ให้ผู้ใช้สร้างพอร์ตสุ่มให้บริการบางอย่าง อาจเกิดขึ้นหากใช้สคริปต์หรือแอปที่พัฒนาเอง
- กระบวนการอื่นกำลังฟังที่พอร์ตที่ต้องการ - ข้อขัดแย้งนี้เกิดบ่อยเมื่อพยาามเริ่มต้น Apache Web Server หรือเข้าถึง SQL Server บน Hostgator แบบระยะไกล
หากคุณกำลังเผชิญปัญหานี้ บทความนี้จะให้รายการขั้นตอนแก้ไขที่ผู้ใช้คนอื่นใช้สำเร็จ ลองทำตามวิธีต่อไปนี้ตามลำดับจนกว่าจะแก้ปัญหาได้
วิธี 1: ปิดใช้งาน Internet Connection Sharing
Internet Sharing บน Windows ใช้ช่วงพอร์ตหลายช่วงที่ไม่ได้รายงานใน Netstat หรือเครื่องมือคล้ายๆ กัน ผู้ใช้หลายคนรายงานว่าปิด Internet Connection Sharing แล้วปัญหาหายไปอย่างถาวร มี 2 วิธีในการปิด:
ปิดผ่าน Control Panel
- กด Windows + R พิมพ์ ncpa.cpl แล้ว Enter เพื่อเปิด Network Connections
- ในหน้าต่าง Network Connections คลิกขวาที่การเชื่อมต่อที่ใช้งานอยู่ เลือก Properties
- ไปที่แท็บ Sharing ยกเลิกเครื่องหมายถูกที่ Allow other network users to connect through this computer's Internet connection
- รีสตาร์ทคอมพิวเตอร์และตรวจสอบว่าปัญหาหายไปหรือยัง



ปิดบริการ Internet Connection Sharing
- กด Windows + R พิมพ์ services.msc แล้ว Enter เพื่อเปิด Services
- หา Internet Connection Sharing (ICS) คลิกสองครั้ง
- ที่แท็บ General เปลี่ยน Startup type เป็น Disabled
- รีสตาร์ทคอมพิวเตอร์และตรวจสอบอีกครั้ง


วิธี 2: ถอนการติดตั้ง AV ของบริษัทอื่น หรือเพิ่มไว้ในรายการข้อยกเว้น
ผู้ใช้หลายคนระบุว่า 3rd party security suites ควรตรวจสอบว่ากำลังรบกวนการเชื่อมต่อ SMTP หรือไม่ McAfee, BitDefender, และ Avast ถูกยืนยันว่าบล็อกพอร์ตบางพอร์ตที่ localhost ใช้ ซึ่งเป็นพฤติกรรมมาตรฐานเพื่อป้องกันการโจมตีเมล
ไฟร์วอลล์ที่คุ้มครองเกินไปอาจก่อให้เกิดข้อผิดพลาดนี้ แก้ไขได้โดยเพิ่มการเชื่อมต่อที่ถูกบล็อกเข้า Whitelist ในการตั้งค่า AV ขั้นตอนจะแตกต่างกันไปตามโปรแกรม

หากยังไม่แน่ใจว่าการเชื่อมต่อไหนถูกบล็อก ให้ลองถอนการติดตั้ง AV ภายนอกชั่วคราวดูว่าปัญหาหายหรือไม่
หมายเหตุ: การปิด Real-time protection ของ AV จะไม่ช่วย เพราะกฎการบล็อกยังคงทำงานอยู่
หากตัดสินใจถอนการติดตั้ง AV สามารถทำตามคำแนะนำ ที่นี่ หากวิธีนี้ไม่ได้ผล ให้ไปวิธีถัดไป
อัปเดต: ไคลเอนต์บล็อก IP เช่น PeerBlock อาจบล็อก IP ที่เกี่ยวข้องโดยอัตโนมัติ ผู้ใช้รายงานว่าสร้างกฎข้อยกเว้นหรือถอนการติดตั้งซอฟต์แวร์บล็อก IP แล้วปัญหาหาย
วิธี 3: เพิ่มข้อยกเว้นใน Windows Firewall
Windows Firewall บนบอร์ดก็อาจเป็นสาเหตุของข้อผิดพลาดนี้ ผู้ใช้รายงานว่าอนุญาตให้โปรแกรมที่แสดงข้อผิดพลาดสื่อสารผ่าน Windows Firewall แล้วปัญหาหาย วิธีนี้ประสบความสำเร็จกับผู้ที่เจอข้อผิดพลาดกับ SQL Server แต่สามารถปรับใช้กับโปรแกรมอื่นได้
- กด Windows + R พิมพ์ firewall.cpl แล้ว Enter เปิด Windows Defender Firewall
- คลิก Allow an app or feature through Windows Defender Firewall
- คลิกปุ่ม Change settings
- หาแอปที่ก่อให้เกิดข้อผิดพลาด ติ๊ก Private และ Public ให้เปิดใช้งาน
- รีสตาร์ทคอมพิวเตอร์และตรวจสอบว่าข้อผิดพลาดหายไปหรือยัง




หมายเหตุ: หากไม่พบโปรแกรมในรายการ ให้คลิก Allow another app และ Browse เลือกเอง

หากยังเจอข้อผิดพลาด ให้ไปวิธีถัดไป
วิธี 4: รีสตาร์ท Internet Information Services (IIS)
ผู้ใช้รายงานว่าแก้ปัญหาได้โดยรีสตาร์ท Internet Information Services (IIS) จาก Command Prompt ที่เปิดด้วยสิทธิ์ Admin
คำเตือน: การรีสตาร์ท IIS จะทำให้บริการอินเทอร์เน็ตทั้งหมดหยุดทำงานรวมถึง FTP, SMTP, NNTP และข้อมูลในแอปพลิเคชันที่จัดการการเชื่อมต่อจะหายไป
- กด Windows + R พิมพ์ cmd แล้ว Ctrl + Shift + Enter เพื่อเปิด CMD แบบ Admin
- ใน CMD พิมพ์คำสั่งด้านล่างและกด Enter:
iisreset
- รอจนบริการอินเทอร์เน็ตหยุดและเริ่มใหม่เสร็จ แล้วลองทำซ้ำสิ่งที่ก่อให้เกิดข้อผิดพลาด


หากยังเจอข้อผิดพลาด ให้ไปวิธีถัดไป
วิธี 5: ใช้ System Restore Point ก่อนหน้า
หลังจากลองวิธีอื่นไม่ได้ ผู้ใช้บางคนแก้ปัญหาได้โดยคืนสถานะระบบไปยังจุดก่อนหน้าที่มี Restore Point
หากคุณเพิ่งเจอข้อผิดพลาดนี้และมี Restore Point ที่สร้างก่อนปัญหาเกิดขึ้น ขั้นตอนด้านล่างจะช่วยแก้ปัญหาได้:
- กด Windows + R พิมพ์ rstrui แล้ว Enter เปิด System Restore Wizard
- ที่หน้าจอแรก เลือก Choose a different restore point คลิก Next
- ติ๊ก Show more restore points เลือก Restore Point ที่มีวันที่ก่อนปัญหาเกิด คลิก Next
- คลิก Finish Windows จะรีสตาร์ทและคืนสถานะระบบ ตรวจสอบว่าปัญหาหายไปหรือยัง



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