Warum erhalte ich unterschiedliche Ergebnisse für meine IP, wenn ich bei Google „What is my IP“ eingebe und wenn ich im macOS-Terminal „ifconfig |grep inet“ eingebe?

Ich erhalte unterschiedliche Ergebnisse für meine IP, wenn ich bei Google "Was ist meine IP" eingebe und wenn ich das Terminal von macOS eintippeifconfig |grep inet

Warum unterscheiden sich diese Ergebnisse unter macOS Version 10.13.2 High Sierra?

Antworten (3)

Sofern Ihr Computer nicht direkt über das Modem mit Ihrem ISP verbunden ist, wird die IP-Adresse Ihres Computers tatsächlich von Ihrem Router zugewiesen (entweder vom ISP oder von Ihnen selbst bereitgestellt). Die IP-Adresse, die Sie sehen, wenn Sie auf eine whatsmyip-Website gehen, ist die öffentliche IP-Adresse, die der ISP Ihrem Router zugewiesen hat. Dies ist die einzige IP-Adresse, mit der Geräte im Internet kommunizieren können, wenn sie versuchen, mit einem Gerät in Ihrem Netzwerk zu kommunizieren. Mithilfe einer Technik namens Network Address Translation ermöglicht Ihr Router mehreren Geräten (z. B. Ihrem Laptop, Ihrem Telefon und Ihrer PlayStation), diese einzelne öffentlich zugängliche IP-Adresse von Ihrem ISP für alle Geräte freizugeben.

Wahrscheinlich haben Ihre mit Ihrem internen Netzwerk verbundenen Geräte IP-Adressen wie 192.168.XXX.XXX oder 172.16.XXX.XXX - 172.31.XXX.XXX oder 10.XXX.XXX.XXX. Dies sind private IP-Adressen , die für interne Netzwerke reserviert sind und im breiteren Internet nicht verwendet werden können.

Diejenige, die Sie von Google erhalten, ist Ihre externe Adresse – Ihre öffentliche Adresse, die tatsächlich von Ihrem ISP der WAN-Verbindung (extern) Ihres Routers zugewiesen wird.

Der von ifconfigist Ihre interne, private Adresse - die von der (internen) LAN-Schnittstelle Ihres Routers zugewiesen wird.

Sie können das Caching-Dienstprogramm verwenden, um Ihre externe, öffentliche IP-Adresse zu finden:

AssetCacheLocatorUtil 2>&1 | awk '/This.*public/{sub(/\.$/, ""); print $NF}'

Ihr Router verwendet eine als NAT (Network Address Translation) bekannte Struktur, sodass für Sie bestimmte Pakete an den richtigen Computer gesendet werden, ohne Ihre interne Adresse nach außen preiszugeben.

Wikipedia-Link zu Network Address Translation - was Sie ehrlich gesagt nicht wissen und verstehen müssen;)

Ich mochte die Methode mit AssetCacheLocatorUtil, also habe ich sie ein wenig verbessert, indem ich nur die IP aus der Zeichenfolge extrahiert habe:

AssetCacheLocatorUtil 2>&1 | grep public | grep This | awk '{match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); ip = substr($0,RSTART,RLENGTH); print ip}'
In diesem Fall gibt es wirklich keinen guten Grund oder praktischen Bedarf, die Ausgabe von thru zu verdoppeln und dann zu when die Ausgabe von nur von verarbeitet werden kann . Wenn das System eine öffentliche IP-Adresse hat, gibt der folgende Befehl nur die öffentliche IP-Adresse zurück, oder nichts, wenn nicht:AssetCacheLocatorUtilgrepawkAssetCacheLocatorUtilawkAssetCacheLocatorUtil 2>&1 | awk '/This.*public/{sub(/\.$/, ""); print $NF}'