Ερευνητής Πληροφοριών IP
Εξερευνήστε λεπτομερείς πληροφορίες για μια διεύθυνση IP, όπως γεωγραφική θέση, ISP, ASN κ.λπ.
Ιδιωτικότητα και ασφάλεια
Κατά τη χρήση αυτού του εργαλείου για ερωτήματα πληροφοριών IP, παρακαλούμε να λάβετε υπόψη τα εξής:
- ℹ️ Τα αιτήματα ερωτήματος αποστέλλονται σε τρίτες υπηρεσίες API, και δεν αποθηκεύουμε την ιστορία των ερωτημάτων σας
- ℹ️ Οι πληροφορίες γεωγραφικής τοποθεσίας IP είναι συνήθως ακριβείς σε επίπεδο πόλης, αλλά δεν μπορούν να τοποθετήσουν σε συγκεκριμένη διεύθυνση
- ℹ️ Οι περισσότερες οικιακές συνδέσεις broadband χρησιμοποιούν δυναμικές διευθύνσεις IP, οι οποίες μπορεί να αλλάζουν κανονικά
- ℹ️ Αν χρησιμοποιείτε VPN ή προξενικό διακομιστή, τα αποτελέσματα θα εμφανίζουν τις πληροφορίες του προξενικού διακομιστή
Χρήσιμες περιπτώσεις
Έλεγχος ασφάλειας
Έλεγχος πηγών ύποπτων διευθύνσεων IP στα καταγραφικά επισκέψεων, για την αναγνώριση δυνητικών απειλών ασφαλείας.
Διόρθωση δικτύου
Εντοπισμός προβλημάτων σύνδεσης δικτύου, επιβεβαίωση της γεωγραφικής τοποθεσίας του διακομιστή ή του κόμβου CDN.
Γεωγραφική τοποθέτηση
Παροχή τοπικοποιημένου περιεχομένου, γλώσσας ή υπηρεσιών σε βάση της διεύθυνσης IP του χρήστη (π.χ. διανομή CDN).
Συχνές ερωτήσεις
Είναι ακριβής η τοποθέτηση διεύθυνσης IP;
Η γεωγραφική τοποθεσία IP συνήθως είναι ακριβής σε επίπεδο πόλης, με σφάλματα που μπορεί να κυμαίνονται από δεκάδες έως εκατοντάδες χιλιόμετρα. Δεν είναι δυνατή η τοποθέτηση σε συγκεκριμένο δρόμο ή αριθμό σπιτιού μέσω διεύθυνσης IP.
Γιατί αλλάζει η διεύθυνση IP μου;
Οι περισσότερες οικιακές συνδέσεις broadband χρησιμοποιούν δυναμική κατανομή IP (DHCP), και οι παροχείς υπηρεσιών αλλάζουν τη διεύθυνση IP σας περιοδικά. Επιχειρήσεις ή διακομιστές χρησιμοποιούν συνήθως σταθερή IP (στατική IP).
Πώς μπορώ να κρύψω την πραγματική μου διεύθυνση IP;
Μπορείτε να χρησιμοποιήσετε VPN, προξενικούς διακομιστές ή το δίκτυο Tor για να κρύψετε την πραγματική σας διεύθυνση IP. Ωστόσο, παρακαλώ σημειώστε ότι αυτές οι υπηρεσίες μπορεί να επηρεάσουν την ταχύτητα δικτύου και την πρόσβαση σε ορισμένες ιστοσελίδες.
Γιατί έχω δύο διευθύνσεις IP;
Μπορεί να έχετε ταυτόχρονα διευθύνσεις IPv4 και IPv6. Τα σύγχρονα δίκτυα μεταβαίνουν από το IPv4 στο IPv6, και πολλές συσκευές υποστηρίζουν και τα δύο πρωτόκολλα.
IPv4 vs IPv6: Γιατί χρειαζόμαστε IPv6;
IPv4 (1981)
Μορφή: 4 ομάδες δεκαδικών αριθμών (π.χ. 192.168.1.1)
Συνολικά: περίπου 4,3 δισεκατομμύρια διευθύνσεις (2³² = 4.294.967.296)
Πρόβλημα: Οι διευθύνσεις είναι σχεδόν εξαντλημένες και έχουν διανεμηθεί πλήρως από το 2011
Μήκος: 32 bit
IPv6 (1998)
Μορφή: 8 ομάδες εξαδεκαδικών αριθμών (π.χ. 2001:0db8::1)
Συνολικά: περίπου 340 τρισεκατομμύρια τρισεκατομμύρια τρισεκατομμύρια διευθύνσεις (2¹²⁸)
Πλεονέκτημα: Ασύλληπτος αριθμός διευθύνσεων, αρκετός για να δοθεί μια σε κάθε κόκκο άμμου στη Γη
Μήκος: 128 bit
Γιατί δεν είναι αρκετές οι IPv4;
- • Παγκόσμιος πληθυσμός 8 δισεκατομμύρια, κάθε άτομο έχει τουλάχιστον 2-3 συσκευές (κινητό, υπολογιστής, tablet)
- • Εκρηκτική αύξηση συσκευών IoT (έξυπνα σπίτια, αυτοκίνητα, φορητές συσκευές)
- • Επιχειρήσεις και κέντρα δεδομένων απαιτούν μεγάλο αριθμό διευθύνσεων IP
- • Ανεπαρκής κατανομή στο παρελθόν (π.χ. το MIT έχει 16 εκατομμύρια IP)
Ειδικές Εύρη Ευρετηρίων IP
Διεύθυνση Loopback
127.0.0.0/8 (127.0.0.1 - 127.255.255.255)
Χρησιμοποιείται για δοκιμές στην ίδια συσκευή, τα δεδομένα δεν στέλνονται στο δίκτυο. Η 127.0.0.1 χρησιμοποιείται συχνά για το localhost
Χρήση: Δοκιμή τοπικών υπηρεσιών, ανάπτυξη και διόρθωση σφαλμάτων
Ιδιωτικές Διευθύνσεις (Private)
- 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) - Κλάση A
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) - Κλάση B
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) - Κλάση C
Χρησιμοποιούνται εντός τοπικών δικτύων, δεν μπορούν να προσβάλλουν άμεσα το διαδίκτυο και απαιτούν μετατροπή NAT
Χρήση: Οικιακά δίκτυα, εσωτερικά δίκτυα επιχειρήσεων
Διευθύνσεις APIPA
169.254.0.0/16
Προσωρινές διευθύνσεις που εκχωρούνται αυτόματα από το σύστημα όταν ο διακομιστής DHCP δεν είναι διαθέσιμος
Χρήση: Αυτόματη διαμόρφωση (υποδηλώνει αποτυχία διαμόρφωσης δικτύου)
Ομαδικές Διευθύνσεις (Multicast)
224.0.0.0/4 (224.0.0.0 - 239.255.255.255)
Χρησιμοποιούνται για επικοινωνία ένα προς πολλούς, όπως στη ζωντανή μετάδοση βίντεο ή IPTV
Διατηρημένες Διευθύνσεις
- 0.0.0.0/8 - Αντιπροσωπεύει "το δικό μας δίκτυο"
- 255.255.255.255 - Διεύθυνση εκπομπής
- 192.0.2.0/24 - Αποκλειστικά για παραδείγματα εγγράφων
- 198.18.0.0/15 - Αποκλειστικά για δοκιμές βάσης
Οι ισχυρότερες δημόσιες διευθύνσεις DNS
Google DNS
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
Οι γρηγορότερες και πιο σταθερές στον κόσμο, υποστηρίζουν DNSSEC
Cloudflare DNS
1.1.1.1 / 1.0.0.1
2606:4700:4700::1111 / 2606:4700:4700::1001
Προσοχή στην ιδιωτικότητα, εξαιρετικά γρήγορο, χωρίς καταγραφή ημερολογίων
Quad9 DNS
9.9.9.9 / 149.112.112.112
Προστασία ασφαλείας, εμπόδιση κακόβουλων ιστοσελίδων
OpenDNS
208.67.222.222 / 208.67.220.220
Έλεγχος γονέων, φιλτράρισμα περιεχομένου
DNS για την Ασία
- 阿里云 DNS (Κίνα): 223.5.5.5 / 223.6.6.6
- DNSPod (Κίνα): 119.29.29.29
- 114 DNS (Κίνα): 114.114.114.114
Ενδιαφέροντα για τα IP
💰 Το πιο ακριβό τμήμα IP
Το τμήμα 1.0.0.0/8 αγοράστηκε από τον APNIC για εκατοντάδες χιλιάδες δολάρια για ερευνητικούς σκοπούς. Ορισμένα "καλά" IP (όπως τα 8.8.8.8, 1.1.1.1) έχουν τεράστια αξία: η Cloudflare κατέβαλε τεράστιο ποσό για να αγοράσει το 1.1.1.1 από την τηλεπικοινωνιακή εταιρεία.
📍 Γιατί το ίδιο IP εμφανίζει διαφορετικές τοποθεσίες;
- • Διαφορετικές βάσεις δεδομένων γεωγραφικής τοποθεσίας IP (διαφορετικές πηγές δεδομένων για κάθε API)
- • Δυναμικά IP αλλάζουν (οι παροχείς τηλεπικοινωνιών τα επαναδιανέμουν)
- • VPN/προξενικοί διακομιστές (εμφανίζουν την τοποθεσία του προξενικού διακομιστή)
- • CDN κόμβοι (εμφανίζουν την τοποθεσία του πιο κοντινού CDN διακομιστή)
- • Κινητά δίκτυα (η τοποθεσία του κεντρικού σταθμού μπορεί να μην είναι ακριβής)
📊 Επικράτηση του IPv6
Μέχρι το 2024, η παγκόσμια επικράτηση του IPv6 είναι περίπου 40%, με την Ινδία, τις Ηνωμένες Πολιτείες και τη Γερμανία στην πρώτη γραμμή, ενώ στην Κίνα είναι περίπου 30%. Η Βελγία είναι η χώρα με την υψηλότερη επικράτηση IPv6 στον κόσμο, πάνω από 60%.
🎂 Το πρώτο IP
Στις 1 Ιανουαρίου 1983, το διαδίκτυο υιοθέτησε επίσημα το πρωτόκολλο TCP/IP, και γεννήθηκε το πρώτο IP. Ο Leonard Kleinrock της BBN Technologies θεωρείται ο πρώτος που χρησιμοποίησε IP.
🗑️ Ανισότητα στην ανάθεση IP
Στις αρχές του διαδικτύου, η ανάθεση IP ήταν εξαιρετικά γενναιόδωρη: η MIT (ένα πανεπιστήμιο) είχε 16 εκατομμύρια IP (όλο το τμήμα 18.0.0.0/8), ενώ η Apple είχε 16 εκατομμύρια IP (17.0.0.0/8). Ωστόσο, όλη η Κίνα έλαβε μόνο περίπου 330 εκατομμύρια IP, για να υπηρετήσει σχεδόν 1 δισεκατομμύριο χρήστες — με υπολογισμό 2 συσκευές ανά άτομο, απαιτούνταν τουλάχιστον 2 δισεκατομμύρια IP. Αυτή η ανισότητα ανάθεσης οδήγησε την Κίνα να χρησιμοποιήσει εκτενώς την τεχνολογία NAT για την κοινή χρήση IP.
🚫 Λίστα αποκλεισμού IP
Υπάρχουν πολλές βάσεις δεδομένων μαύρων λιστών IP σε παγκόσμιο επίπεδο (όπως το Spamhaus), που χρησιμοποιούνται για την επισήμανση IP που προέρχονται από spam, κακόβουλο λογισμικό, επιθέσεις DDoS κ.λπ. Όταν ένα IP τοποθετηθεί σε μαύρη λίστα, μπορεί να οδηγήσει σε απορρίψεις email, αποκλεισμό ιστοσελίδων κ.λπ.
🤯 Παράξενα παραδείγματα γεωτοποθέτησης IP
Μια κοινή οικογένεια στην Κανσάς των ΗΠΑ έγινε αναγνωρισμένη από τη βάση δεδομένων IP της MaxMind ως προεπιλεγμένη τοποθεσία (συντεταγμένες 38°Β 97°Δ, το γεωγραφικό κέντρο των ΗΠΑ), οπότε εκατομμύρια IP που δεν μπορούσαν να τοποθετηθούν ακριβώς κατευθύνθηκαν εδώ. Αυτή η οικογένεια έγινε ανεπίσημα το "κέντρο χάκερ της Αμερικής" και δέχθηκε απεριόριστους τηλεφωνικούς και επισκέψεις από το FBI, αστυνομία, δανειστές και θύματα απάτης, ακόμα και εισβολές στο σπίτι της νύχτας. Το 2016, η οικογένεια κατήγγειλε την MaxMind στα δικαστήρια και κέρδισε αποζημίωση.
💸 Οι IPv4 διευθύνσεις μπορούν να αγοραστούν και να πουληθούν
Λόγω της εξάντλησης των IPv4 διευθύνσεων, οι διευθύνσεις IP έχουν μετατραπεί σε εμπορεύσιμα αγαθά. Στη μαύρη αγορά, η τιμή μπορεί να φτάσει τα 40 δολάρια ανά διεύθυνση. Το 2011, η Microsoft αγόρασε 666.000 IPv4 διευθύνσεις από την πτωχευμένη Nortel για 7,5 εκατομμύρια δολάρια, δηλαδή περίπου 11,25 δολάρια ανά διεύθυνση. Το 2014, εταιρείες όπως η Amazon και η Microsoft κατέλαβαν αγορές IPv4 διευθύνσεων, οδηγώντας σε αιφνίδια αύξηση των τιμών.
🤦 Η "παρανόηση" των σχεδιαστών του IPv4
Το 1981, οι σχεδιαστές του IPv4 πίστευαν ότι "4,2 δισεκατομμύρια διευθύνσεις είναι αρκετές για όλη την ανθρωπότητα". Δεν είχαν καν υπολογίσει ότι το διαδίκτυο θα αναπτυσσόταν σε αυτό το μέγεθος: 8 δισεκατομμύρια άνθρωποι παγκοσμίως, κάθε άνθρωπος τουλάχιστον 2-3 συσκευές, και η εκρηκτική αύξηση των συσκευών IoT. Αν είχαν σχεδιάσει το IPv4 ως 64 ή 128-bit, δεν θα είχαμε το πρόβλημα της εξάντλησης διευθύνσεων σήμερα.
🏠 Το μυστικό του 127.0.0.1
Η διεύθυνση 127.0.0.1 (localhost) δεν είναι απλώς μια διεύθυνση — όλο το εύρος 127.0.0.0/8 (περίπου 16 εκατομμύρια διευθύνσεις) είναι διευθύνσεις loopback. Μπορείτε να κάνετε ping σε οποιαδήποτε διεύθυνση όπως 127.0.0.2, 127.1.2.3 κ.λπ. και θα κατευθύνονται πάντα στη δική σας συσκευή.
⏰ Χρονολογική γραμμή εξάντλησης IPv4
Στις 3 Φεβρουαρίου 2011, η IANA διανέμηκε το τελευταίο τμήμα IPv4 διευθύνσεων. Στις 15 Απριλίου 2011, η Ασία-Ειρηνικός (APNIC) εξάντλησε τις διευθύνσεις της. Στις Σεπτέμβριο 2012, η Ευρώπη (RIPE NCC) εξάντλησε τις δικές της. Στις Σεπτέμβριο 2015, η Βόρεια Αμερική (ARIN) εξάντλησε τις δικές της.
📏 Η μακρύτερη διεύθυνση IP
Η μέγιστη διάρκεια μιας IPv6 διεύθυνσης είναι 39 χαρακτήρες (8 ομάδες, καθεμία από 4 δεκαεξαδικά ψηφία, συν 7 διακριτικά). Ωστόσο, μέσω κανόνων συντομεύσεων, μπορεί να συντμηθεί σημαντικά, για παράδειγμα: ::1 αντιπροσωπεύει τη διεύθυνση IPv6 loopback.
🚀 Οι διευθύνσεις IP δεν σχετίζονται με την ταχύτητα δικτύου
Πολλοί πιστεύουν ότι η αλλαγή της διεύθυνσης IP μπορεί να βελτιώσει την ταχύτητα του δικτύου, αλλά στην πραγματικότητα η διεύθυνση IP είναι απλώς ένα "αριθμός σπιτιού" στο δίκτυο. Η ταχύτητα εξαρτάται από το εύρος ζώνης, τη δρομολόγηση, τους διακομιστές και άλλους παράγοντες, και όχι από την ίδια τη διεύθυνση IP.
Χαρακτηριστικά και πλεονεκτήματα-μειονεκτήματα του IPv6
Πλεονεκτήματα
- ✓ Τεράστιος χώρος διευθύνσεων: 2¹²⁸ διευθύνσεις, σχεδόν άπειρες
- ✓ Απλοποιημένη δρομολόγηση: ιεραρχική δομή διευθύνσεων, μικρότερα πίνακα δρομολόγησης
- ✓ Αυτόματη διαμόρφωση: υποστηρίζει SLAAC, χωρίς DHCP
- ✓ Βελτιωμένη ασφάλεια: ενσωματωμένη υποστήριξη IPsec
- ✓ Βελτιωμένη QoS: πεδίο ετικέτας ροής, βελτιστοποίηση πραγματικού χρόνου εφαρμογών
- ✓ Χωρίς NAT: κάθε συσκευή έχει δημόσια διεύθυνση IP
- ✓ Υποστήριξη κινητότητας: βελτιωμένη υποστήριξη για κινητές συσκευές
Μειονεκτήματα
- ⚠ Προβλήματα συμβατότητας: απαιτεί υποστήριξη από συσκευές και δίκτυα
- ⚠ Μάθηση: η δομή των διευθύνσεων είναι περίπλοκη και δύσκολη να θυμηθεί
- ⚠ Κόστος μετάβασης: απαιτεί αναβάθμιση συσκευών και λογισμικού
- ⚠ Διπλή στοίβα: κατά τη διάρκεια της μετάβασης, απαιτείται ταυτόχρονη υποστήριξη IPv4 και IPv6
Σχετικές υπηρεσίες ερώτησης πληροφοριών IP
Αυτό το εργαλείο χρησιμοποιεί τις παρακάτω API για την παροχή υπηρεσιών, και προτείνει επίσης άλλες εξαιρετικές υπηρεσίες ερώτησης IP:
IP-API.com
Χρησιμοποιείται από αυτό το εργαλείο ⭐Η βασική API που χρησιμοποιείται από αυτό το εργαλείο. Πλήρως δωρεάν (για μη εμπορική χρήση), υποστηρίζει μαζικές ερωτήσεις και παρέχει μορφές JSON/XML/CSV. Περιορισμός: 45 φορές/λεπτό.
IPapi.co
Χρησιμοποιείται από αυτό το εργαλείο ⭐Εναλλακτική API για αυτό το εργαλείο. Παρέχει επιπλέον πληροφορίες όπως νόμισμα, γλώσσα, τύπος σύνδεσης κ.λπ. Στην δωρεάν έκδοση: 30.000 αιτήματα μηνιαίως.
IPInfo.io
Ακριβής πληροφορία, φιλική APIΠαρέχει λεπτομερείς πληροφορίες IP, δεδομένα ASN, γεωγραφική τοποθεσία, πληροφορίες εταιρείας κ.λπ. Διαθέτει δωρεάν σχέδιο (Free Plan).
IPGeolocation.io
Πλούσιες λειτουργίεςΠαρέχει γεωγραφική τοποθεσία IP, ζώνη ώρας, νόμισμα, καιρικές συνθήκες κ.λπ. Στην δωρεάν έκδοση: 30.000 αιτήματα μηνιαίως.
MaxMind GeoIP2
Η πιο ακριβής, επιχειρηματικής κλάσηςΗ προτύπου βάση δεδομένων γεωγραφικής τοποθεσίας IP, με υψηλή ακρίβεια. Παρέχει επίσης αποθηκευμένες βάσεις δεδομένων και διαδικτυακές API.
IPStack
Εντοπισμός απειλώνΥποστηρίζει IPv4 και IPv6, και παρέχει ενσωματωμένη ασφάλεια (εντοπισμός προξένων, VPN, Tor). Στην δωρεάν έκδοση: 100 αιτήματα μηνιαίως.
IPData.co
Πληροφορίες απειλώνΠαρέχει πληροφορίες απειλών, ASN, στοιχεία εταιρείας. Στην δωρεάν έκδοση: 1.500 αιτήματα ημερησίως.
Abstract API
Απλή στη χρήσηΑπλή και εύκολη στη χρήση API γεωγραφικής τοποθεσίας IP. Στην δωρεάν έκδοση: 1.000 αιτήματα μηνιαίως, περιορισμός 1 αίτημα/δευτερόλεπτο.
IPRegistry
Εγγραφή για 100.000 αιτήματαΠαρέχει γεωγραφική τοποθεσία IP, στοιχεία εταιρείας, εντοπισμό απειλών, ανάλυση χρήστη προξένου. Με εγγραφή, λαμβάνετε 100.000 δωρεάν αιτήματα.
DB-IP
Ανοικτού κώδικα βάση δεδομένωνΠαρέχει δωρεάν λήψη βάσεων δεδομένων γεωγραφικής τοποθεσίας IP, καθώς και υπηρεσία διαδικτυακής ερώτησης.
IPify
Απόκτηση δημόσιας IPΕστιάζει στην απόκτηση της δημόσιας διεύθυνσης IP, απλή και γρήγορη, εντελώς δωρεάν.
Πώς να αποκτήσετε τη διεύθυνση IP μέσω προγραμματισμού;
Παρακάτω είναι παραδείγματα κώδικα για την απόκτηση της διεύθυνσης IP του επισκέπτη σε διαφορετικές γλώσσες προγραμματισμού:
Java (Spring Boot)
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
public class IpController {
@GetMapping('/ip')
public String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("CF-Connecting-IP");
if (ip == null || ip.isEmpty()) {
ip = request.getHeader("X-Forwarded-For");
if (ip != null) {
ip = ip.split(",")[0];
}
}
if (ip == null || ip.isEmpty()) {
ip = request.getHeader("X-Real-IP");
}
if (ip == null || ip.isEmpty()) {
ip = request.getRemoteAddr();
}
return ip;
}
}
PHP
function getClientIp() {
$ipKeys = [
'HTTP_CF_CONNECTING_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_REAL_IP',
'REMOTE_ADDR'
];
foreach ($ipKeys as $key) {
if (!empty($_SERVER[$key])) {
$ips = explode(',', $_SERVER[$key]);
return trim($ips[0]);
}
}
return $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
}
$ip = getClientIp();
echo "Your IP: " . $ip;
JavaScript (Node.js)
const express = require('express');
const app = express();
app.get('/ip', (req, res) => {
const ip = req.headers['cf-connecting-ip'] ||
req.headers['x-forwarded-for']?.split(',')[0] ||
req.headers['x-real-ip'] ||
req.socket.remoteAddress;
res.json({ ip: ip });
});
app.listen(3000);
Python (Flask)
from flask import Flask, request
app = Flask(__name__)
@app.route('/ip')
def get_ip():
ip = request.headers.get('CF-Connecting-IP') or \
request.headers.get('X-Forwarded-For', '').split(',')[0] or \
request.headers.get('X-Real-IP') or \
request.remote_addr
return {'ip': ip}
if __name__ == '__main__':
app.run()
Rust
use actix_web::{web, App, HttpRequest, HttpServer, Responder};
fn get_client_ip(req: &HttpRequest) -> String {
if let Some(ip) = req.headers().get("CF-Connecting-IP") {
return ip.to_str().unwrap_or("").to_string();
}
if let Some(forwarded) = req.headers().get("X-Forwarded-For") {
if let Ok(forwarded_str) = forwarded.to_str() {
if let Some(first_ip) = forwarded_str.split(',').next() {
return first_ip.trim().to_string();
}
}
}
if let Some(ip) = req.headers().get("X-Real-IP") {
return ip.to_str().unwrap_or("").to_string();
}
req.peer_addr()
.map(|addr| addr.ip().to_string())
.unwrap_or_else(|| "Unknown".to_string())
}
async fn ip_handler(req: HttpRequest) -> impl Responder {
let ip = get_client_ip(&req);
format!("Your IP: {}", ip)
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new().route("/ip", web::get().to(ip_handler))
})
.bind("127.0.0.1:8080")?
.run()
.await
}
Go
package main
import (
"net/http"
"strings"
)
func getClientIP(r *http.Request) string {
if ip := r.Header.Get("CF-Connecting-IP"); ip != "" {
return ip
}
if forwarded := r.Header.Get("X-Forwarded-For"); forwarded != "" {
ips := strings.Split(forwarded, ",")
return strings.TrimSpace(ips[0])
}
if ip := r.Header.Get("X-Real-IP"); ip != "" {
return ip
}
return r.RemoteAddr
}
func handler(w http.ResponseWriter, r *http.Request) {
ip := getClientIP(r)
w.Write([]byte("Your IP: " + ip))
}
func main() {
http.HandleFunc("/ip", handler)
http.ListenAndServe(":8080", nil)
}
注意事项:
- • Σημείωση: Αν η ιστοσελίδα χρησιμοποιεί CDN (όπως το Cloudflare) ή αντίστροφο προξενικό διακομιστή (όπως το Nginx), πρέπει να αποκτήσετε την πραγματική διεύθυνση IP από συγκεκριμένα κεφαλίδες HTTP
- • Προτεραιότητα: CF-Connecting-IP > X-Forwarded-For > X-Real-IP > RemoteAddr
- • Η X-Forwarded-For μπορεί να περιέχει πολλαπλές διευθύνσεις IP (χωρισμένες με κόμματα), όπου η πρώτη είναι η πραγματική διεύθυνση του πελάτη
- • Ο JavaScript στον πελάτη δεν μπορεί να αποκτήσει απευθείας τη διεύθυνση IP, απαιτείται κλήση τρίτου API