SOCKS5 ή SOCKS5h: πού γίνεται η επίλυση DNS
Συγκρίνετε την τοπική επίλυση DNS με την επίλυση στον proxy μέσω curl, εντοπίστε σφάλματα ονομάτων και κατανοήστε τα όρια προστασίας του socks5h.
Στο curl, επιλέξτε socks5h:// όταν ο proxy πρέπει να επιλύει το όνομα προορισμού. Επιλέξτε socks5:// όταν το curl πρέπει να το επιλύει τοπικά και να στέλνει μια διεύθυνση στον proxy. Και τα δύο χρησιμοποιούν SOCKS5· το τελικό h είναι σύμβαση URL του πελάτη.
Συγκρίνετε τις λειτουργίες αντικαθιστώντας το τοπικό σημείο ακρόασης με το δικό σας τελικό σημείο SOCKS5:
curl --noproxy '' --proxy socks5://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
curl --noproxy '' --proxy socks5h://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Αλλάζει μόνο η λειτουργία επίλυσης. Το --noproxy '' αφαιρεί τους κανόνες παράκαμψης του proxy για αυτές τις κλήσεις και τα χρονικά όρια περιορίζουν τη διάρκεια της σύγκρισης. Οι αντίστοιχες ειδικές επιλογές είναι --socks5 και --socks5-hostname. Χρησιμοποιήστε όνομα κεντρικού υπολογιστή ως στόχο: μια διεύθυνση IP γραμμένη απευθείας δεν χρειάζεται επίλυση ονόματος προορισμού και δεν μπορεί να δείξει τη διαφορά.
Ένα όνομα μπορεί να είναι γνωστό μόνο στη μία πλευρά
Ας υποθέσουμε ότι ο proxy εκτελείται σε ένα δίκτυο ανάπτυξης του οποίου το DNS γνωρίζει το όνομα μιας εσωτερικής υπηρεσίας. Ο φορητός υπολογιστής σας μπορεί να αποτυγχάνει να το επιλύσει στη λειτουργία socks5, ενώ το socks5h αφήνει τον proxy να το επιλύσει. Αν αντιστρέψετε την κατάσταση, με ένα όνομα ορισμένο μόνο στο αρχείο hosts του υπολογιστή σας, μπορεί να αποτύχει η απομακρυσμένη επίλυση.
Και το δημόσιο DNS μπορεί να επιστρέφει διαφορετικές διευθύνσεις από διαφορετικά δίκτυα. Τα διαφορετικά αποτελέσματα είναι λόγος να συγκρίνετε τις επιλεγμένες διευθύνσεις και την προσβασιμότητά τους, αντί να αντικαταστήσετε αμέσως τον proxy.
- Δεν επιλύεται το όνομα του proxy: καμία λειτουργία δεν μπορεί να ξεκινήσει. Ο πελάτης εξακολουθεί να επιλύει το
proxy.exampleστοsocks5h://proxy.example:1080. - Αποτυγχάνει η τοπική επίλυση του προορισμού: εξετάστε τον επιλυτή του πελάτη ή συγκρίνετε με τη λειτουργία που στέλνει το όνομα στον proxy.
- Ο διακομιστής SOCKS απορρίπτει τον προορισμό: εξετάστε την απάντηση και την πολιτική του. Η επιτυχής τοπική επίλυση δεν αποδεικνύει προσβασιμότητα από την απομακρυσμένη πλευρά.
- Η σήραγγα λειτουργεί αλλά η επαλήθευση πιστοποιητικού αποτυγχάνει: ερευνήστε το TLS του προορισμού· η αλλαγή λειτουργίας DNS δεν είναι γενική λύση για προβλήματα εμπιστοσύνης.
Ένα ελεγχόμενο δοκιμαστικό όνομα και τα αρχεία καταγραφής του διακομιστή μπορούν να επιβεβαιώσουν ποιος τύπος διεύθυνσης έφτασε σε έναν proxy που διαχειρίζεστε. Μια ιστοσελίδα εμφάνισης της IP εξόδου δεν μπορεί: αναφέρει την εξερχόμενη σύνδεση, όχι το σημείο όπου έγινε η επίλυση DNS.
Το όφελος για το απόρρητο έχει συγκεκριμένα όρια
Η επίλυση στον proxy αποφεύγει την τοπική αναζήτηση του προορισμού για αυτό το αίτημα. Δεν κρυπτογραφεί το SOCKS, δεν αποδεικνύει ότι ο proxy χρησιμοποιεί κρυπτογραφημένο DNS και δεν δρομολογεί την κίνηση άλλων εφαρμογών ή της προανάκτησης του προγράμματος περιήγησης. Το Requests με υποστήριξη SOCKS χρησιμοποιεί την ίδια διάκριση μεταξύ τοπικής επίλυσης και επίλυσης στον proxy· άλλοι πελάτες μπορεί να παρέχουν σχετική ρύθμιση αντί για τη γραφή URL του curl. Επιλέξτε πρωτόκολλο που υποστηρίζει η εφαρμογή σας πριν αντιγράψετε ένα τελικό σημείο από τη λίστα SOCKS5 proxy.