Wie wir öffentliche IP in golang bekommen? Die Methode req.Header.Get("X-Forwarded-For")
gibt ein Array von IPs zurück. Wie identifizieren wir, welche öffentlich und welche auf intern? Gibt es eine andere Methode, um öffentliche (externe) IP abzurufen?Holen öffentliche IP in Golang
0
A
Antwort
6
Die folgenden IP-Blöcke sind für private IP-Adressen reserviert.
Class Starting IPAddress Ending IP Address # of Hosts
A 10.0.0.0 10.255.255.255 16,777,216
B 172.16.0.0 172.31.255.255 1,048,576
C 192.168.0.0 192.168.255.255 65,536
Link-local-u 169.254.0.0 169.254.255.255 65,536
Link-local-m 224.0.0.0 224.0.0.255 256
Local 127.0.0.0 127.255.255.255 16777216
Sie eine Funktion schreiben können, die für die überprüft, ob die IP unter diesen hier
kommen, ist ein Versuch, das gleiche zu tun, unter dem Code hinzufügen nicht ipv6 Handhabung bitte, wenn
func IsPublicIP(IP net.IP) bool {
if IP.IsLoopback() || IP.IsLinkLocalMulticast() || IP.IsLinkLocalUnicast() {
return false
}
if ip4 := IP.To4(); ip4 != nil {
switch true {
case ip4[0] == 10:
return false
case ip4[0] == 172 && ip4[1] >= 16 && ip4[1] <= 31:
return false
case ip4[0] == 192 && ip4[1] == 168:
return false
default:
return true
}
}
return false
}
benötigt hier
ist spielen link
0
die Liste Scannen und herauszufinden, ob sie private_IPv4 oder private_IPV6 sind.
Wenn sie es nicht sind, dann sind sie öffentlich.
0
Sie können es hier verwenden, um Informationen zu öffentlichen IP enter link description here
1
Ich verwende den folgenden Code für die öffentliche IP herauszufinden:
//function to get the public ip address
func GetOutboundIP() string {
conn, err := net.Dial("udp", "8.8.8.8:80")
HandleError("net.Dial: ",err)
defer conn.Close()
localAddr := conn.LocalAddr().String()
idx := strings.LastIndex(localAddr, ":")
return localAddr[0:idx]
}
Verwandte Themen
- 1. Öffentliche IP in Azure verbinden
- 2. iptables - öffentliche IP vs. private IP, erreichbar über öffentliche IP, aber nicht mit privater IP
- 3. AWS EC2 Öffentliche IP vs. Private IP
- 4. NginX: lokale IP vs. öffentliche IP
- 5. Was ist das öffentliche IP-Limit von AWS? (Öffentliche IP-Adresse nicht elastisch IP)
- 6. Öffentliche IP mit POCO finden
- 7. Breaking down eine öffentliche IP in Komponenten
- 8. Änderung in Bitnami Wordpress AWS öffentliche IP
- 9. Kann meine öffentliche IP? Wenn ja, wie kann ich meine öffentliche IP ändern?
- 10. Wie ping eine IP-Adresse in Golang
- 11. Redis: verwendet private IP schneller als öffentliche IP?
- 12. Ist meine öffentliche IP wirklich einzigartig?
- 13. So konfigurieren Sie öffentliche IP auf azurblau
- 14. Video Chat Pro ActiveX öffentliche IP
- 15. App Maker: Öffentliche IP für UrlFetch?
- 16. Kann öffentliche IP von gitlab-aws-image
- 17. Routing öffentliche/externe IP zu Docker Container
- 18. Elasticsearch nicht binden können öffentliche IP-Adresse
- 19. Mehrere öffentliche IP-Adressen zu einem Nginx?
- 20. wie mit Httplistener meine öffentliche IP verwenden
- 21. Wie bekommen wir öffentliche IP-Geschichte
- 22. Öffentliche IP-Adressen von EC2-Instanzen auflisten
- 23. wie öffentliche IP durch von GPRS-Modem
- 24. Erhalte meine öffentliche IP mit netcat
- 25. Holen Sie Daten von verschachtelten dynamischen Schlüssel JSON in Golang
- 26. Holen IP-Paketdaten von ByteBuffer
- 27. Die 'externe' IP-Adresse in Java holen
- 28. So ändern Sie die öffentliche IP-Adresse in C#
- 29. Schwarze öffentliche IP-Adresse wird in Azure ARM
- 30. Ermitteln der EC2-Instanz öffentliche IP von SNS in Lambda
Vielen Dank, es ist sehr hilfreich war. – Shubhra