Đọc mã lỗi kết nối SOCKS5
Xác định lỗi ở thương lượng SOCKS, xác thực hay truy cập đích trước khi coi mọi lỗi SOCKS là proxy đã chết.
Máy chủ SOCKS5 có thể nhận kết nối TCP nhưng vẫn từ chối yêu cầu truy cập đích. Đọc phản hồi ở đúng giai đoạn trước khi xác định điểm cuối nào lỗi.
Đầu tiên là chọn phương thức. Xác thực tên người dùng và mật khẩu, nếu được chọn, có kết quả riêng. Chỉ sau đó máy chủ mới trả lời CONNECT hoặc lệnh SOCKS khác. Không thể diễn giải giá trị byte ở một giai đoạn bằng bảng của giai đoạn khác.
Phản hồi yêu cầu phân biệt các lỗi
| Giá trị phản hồi | Ý nghĩa trong phản hồi yêu cầu SOCKS5 |
|---|---|
| 0x01 | Lỗi máy chủ chung. |
| 0x02 | Bộ quy tắc không cho phép kết nối. |
| 0x03 | Không thể truy cập mạng. |
| 0x04 | Không thể truy cập máy chủ đích. |
| 0x05 | Kết nối bị từ chối. |
| 0x06 | TTL hết hạn. |
| 0x07 | Lệnh không được hỗ trợ. |
| 0x08 | Loại địa chỉ không được hỗ trợ. |
Ví dụ, từ chối ở cấp yêu cầu được báo sau khi đã tới dịch vụ SOCKS. Nó khác việc hệ điều hành từ chối kết nối TCP ban đầu đến dịch vụ đó.
Lỗi loại địa chỉ có thể liên quan cách biểu diễn IPv4, IPv6 hoặc tên máy chủ. Nó không tự động có nghĩa là toàn bộ điểm cuối không hỗ trợ SOCKS5. Tương tự, lệnh UDP không được hỗ trợ không cho kết luận chắc chắn về một yêu cầu TCP CONNECT riêng.
Thu thập ngữ cảnh giúp mã lỗi hữu ích
Khi viết báo cáo lỗi, lưu cùng kết quả địa chỉ proxy, lệnh, máy chủ và cổng đích, họ địa chỉ và chế độ DNS. Nếu bạn quản trị điểm cuối, nhật ký chính sách phía máy chủ rất hữu ích. Bị bộ quy tắc từ chối là lý do kiểm tra quyền áp dụng, không phải tăng thời gian chờ kết nối.
Phản hồi là báo cáo của máy chủ, không phải chẩn đoán độc lập đầy đủ về mạng đích. Cách diễn đạt của máy khách cũng khác nhau. Ghi lại giai đoạn và phản hồi gốc khi có, thay vì chỉ dựa vào thông báo lỗi ngắn đã dịch.