Bağlantınız NAT ise, bir dış web isteği yapmadan dış IP adresinizi görmek mümkün müdür?
Herhangi bir işletim sistemi (Windows, Linux, vb.) İyidir.
Bağlantınız NAT ise, bir dış web isteği yapmadan dış IP adresinizi görmek mümkün müdür?
Herhangi bir işletim sistemi (Windows, Linux, vb.) İyidir.
Yanıtlar:
Bilgisayarınız NAT'un arkasındaysa, yönlendiricinizin harici IP adresini görmeniz mümkündür, ancak yönlendiriciye yönetici erişimine ihtiyacınız vardır.
Yönlendirici harici IP adresinizi bilir, bu nedenle konfigürasyon sayfasına girerek o IP adresini bulabilirsiniz. Bu şekilde bir Web tarayıcısı dışında özel bir araç gerekmez.
Bilgi almak için bir araç gerektiren diğer protokoller:
User @dirkt tarafından test edildiği gibi, tüm yöntemler sadece IPv4 ile çalışır (muhtemelen PCP hariç).
WANIPConn1/GetExternalIPAddress
, doğru adrese başarıyla döndü.
Bazı NAT'larla çalışmanın birkaç yolu vardır, ancak her yerde çalışması garanti edilmez.
UPnP, NAT-PMP ve PCP'nin (Evrensel Tak ve Çalıştır, NAT Bağlantı Noktası Haritalama Protokolü ve Bağlantı Noktası Kontrol Protokolü), ortak adresin ne olduğunu uyumlu bir NAT ağ geçidine sorma yollarının olduğunu, ancak tüm NAT'ların bu protokolleri desteklediğini düşünüyorum. Destek, ev ağ geçidi yönlendiricilerinde kurumsal veya taşıyıcı sınıfı NAT çözümlerinden daha yaygındır.
Kendinizi bir NAT'ın arkasında bulduğunuzda, trafiğinizin hangi halka açık IP adresini kullandığını görmenin tek kesin yolu, NAT’ın tercüme etmeyeceği şekilde geri bildirimde bulunacak bazı ana makinelere giden trafik göndermektir. trafiğinizin adresinden geldiği anlaşıldı. Web tabanlı bir hizmet kullanmak bir yoldur, ancak SSHing'i bir bulut sunucu örneğine bakarak sshd
ve SSH oturumunuzun nereden geldiğini söyleyerek de yapabilirsiniz .
"Web isteği" kategorisine girmeyeceğine inandığım bir DNS isteğini kullanabilirsiniz:
nslookup myip.opendns.com resolver1.opendns.com
dig +short @8.8.8.8 o-o.myaddr.l.google.com txt | grep edns
. Buradaki komutu burada buldum: groups.google.com/d/msg/public-dns-discuss/uyzmMcHQBE0/…
nsslookup
komut benim için başarısız olur. Anladım Server: resolver1.opendns.com
Address: 2620:119:35::35#53
** server can't find myip.opendns.com: NXDOMAIN
dig
o Windows üzerinde olmadığından. myaddr
Google için iyi bir nokta olsa da, bunun farkında değildim! Windows nslookup
eşdeğeri olur sanırımnslookup -type=txt o-o.myaddr.l.google.com ns3.google.com
nslookup
hangi IP versiyonunun aktarım için kullanılacağına dair talimat veremezsiniz , ancak OpenDNS'in yaptığı bu sizin yapmanız gerektiği anlamına gelir. Bu olmadan, hangi IP sürümünün nslookup
aktarım için kullanılacağını tahmin etmeniz ve buna göre A veya AAAA istemeniz gerekir. Sıkışmışsanız, nslookup
Google gibi başka bir sağlayıcı kullanabilirsiniz. Bununla birlikte, yanıtta hala yalnızca bir protokol sürümü alırsınız ve hangisini seçemezsiniz.
nslookup -type=txt o-o.myaddr.l.google.com ns3.google.com
ve gerçekten işe yarıyor. Ama eğer hem IPv4 hem de IPv6'ya sahipsem, hangisini göreceğimi seçmeme izin vermiyor. Büyük olasılıkla bana IPv6 adresini gösterecek ve büyük olasılıkla bir NAT'ın IPv4 adresini bilmek istediğim için kullanıyorum. Bunu çözebilmek için, yalnızca IPv4 yalnızca bir adı ve yalnızca IPv6 yalnızca bir adı olan bir hizmeti kullanması gerekir, bu da NAT64 sorununu giderir.
Mevcut cevaplara bir nokta eklemek istiyorum.
Aynı zamanda ağın karmaşıklığına da bağlıdır. Bilgisayarınızın birden fazla harici IP adresi olan bir ağa yerleştirilmiş olması ve hattın üstündeki yönlendirici, bazı ölçütlere göre trafiği İnternet'e gönderir: örneğin, hedef IP adresi veya günün saati bir yukarı bağlantı kanalı olması gece veya başka nedenlerden dolayı daha ucuzdur).
Bu yüzden, tamamlanmak için, "harici IP adresi" kavramı, adresinizin harici olduğu bir varış noktası tanımlamayı gerektirebilir.
Aşağıdaki örnekte Router #2
NAT gerçekleştirilebilir ve her iki bağlantıya da trafik gönderilebilir ve alıcı ana bilgisayar için farklı harici IP adresleri görülebilir Host
.
Veya, belirli bir varış yerinin (örneğin host1.example.com
) her zaman içinden geçeceği Uplink A
ve ev sahibinin de host2.example.com
her zaman gideceği yol olabilir Uplink B
. Bu nedenle, bu ana bilgisayarlar tarafından görüldüğü gibi harici IP adresleriniz farklı olacak Uplink A
ve Uplink B
farklı ISS'ler olacak.
Uplink A Uplink B
------------- -------------
| |
| |
| 192.168.1.1 192.168.50.50 |
| ----------- |
|---------------|Router #2|---------------|
-----------
| 192.168.100.1
|
| 192.168.100.2
-----------
|Router #1|
-----------
| 192.168.200.1
|
| 192.168.200.2
-----------
| Host |
-----------
Bu nedenle, trafik göndermek, daha güvenilir sonuçlar elde etmenizi sağlar.
HTTP yerine DNS kullanabilirsiniz. Örneğin şunları kullanabilirsiniz:
dig +short TXT o-o.myaddr.l.google.com
Bu, kullandığınız DNS sunucusunun tek noktaya yayın adresini gösterir ve EDNS'yi destekliyorsa, muhtemelen kesilmiş olsa da IP adresinizi de gösterir.
Tam IP adresinizi almak için yerel DNS sunucunuzu atlayabilir ve yukarıdaki isteği doğrudan ns {1,2,3,4} .google.com adresine gönderebilirsiniz.
dig +short TXT o-o.myaddr.l.google.com @ns3.google.com
Eğer kullanabilirsiniz belirli bir protokol sürümünde IP adresinizi görmek istiyorsanız -6
ve -4
:
dig -6 +short TXT o-o.myaddr.l.google.com @ns3.google.com
dig -4 +short TXT o-o.myaddr.l.google.com @ns3.google.com
İsterseniz OpenDNS de kullanabilirsiniz. OpenDNS bunun için TXT kayıtlarını kullanmıyor, bunun yerine A ve AAAA kayıtlarını kullanıyor, bu nedenle hangi protokol sürümünü aradığınızı belirtmeniz gerekiyor:
dig -6 +short AAAA myip.opendns.com @resolver2.opendns.com
dig -4 +short A myip.opendns.com @resolver2.opendns.com
Trafiğinizin protokol çevirisini geçmesi durumunda farklı sonuçlar alabileceğinizi ya da hiç alamayacağınıza dikkat edin. NAT64'ün arkasındaki bir makineden test etmek IPv6 adresimi yukarıdaki komutlarla gördüm ancak NAT64'ün IPv4 adresini göremedim.
Bu cevap bu kaynaklara dayanıyor 1 2 3 ve kendime ait biraz araştırma.
Web genel olarak HTTP'ye atıfta bulunur, eğer sorunuzun anlamı buysa, örneğin, "NAT için Oturum Geçiş Araçları" anlamına gelen STUN ( Wikipedia Makalesi ) kullanabilirsiniz .
Şimdi bir yorumda vurgulandığı gibi, birden fazla harici IP’niz olabilir. Ayrıca kablosuz bağlantılar daha yaygın hale geldiğinden (olay 4G), yönlendiricinizin bildirdiği IP adresinin halka açık olması imkansız değildir. ISS'nin yerel yönlendiriciye özel bir IP vereceği bazı ülkelerde optik fiber bağlantılarına ilişkin bu senaryo ile bile tanıştım, bu da ağlarını terk ederken daha sonra 1: 1'in genel IP'ye çevrilmesini sağlayacak.
Bu nedenle, sorunuz "ortak IP'mi ağımdan paketler göndermeden bulabilir miyim?" İse, bağlamınızda MIGHT, ancak% 100 kanıtlama çözümü yoktur.