Giden bir web isteği yapmadan dış IP adresimi görmek mümkün mü?


21

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.


7
Yalnızca HTTP'den kaçınmaya mı çalışıyorsunuz yoksa giden herhangi bir trafik göndermekten kaçınmaya mı çalışıyorsunuz? Tek evrensel çözüm, bir tür giden trafik göndermeyi içerir, ancak HTTP olması gerekmez.
Spiff

Bu sadece bir varsayımdan ibaretti, herhangi bir giden trafiği yapmak istemedim.
Axel Persinger

2
Ağınızın / yönlendiricinizin Enterprise dereceli NAT kurulumunun arkasında olduğunu mu söylüyorsunuz (yani ISS'nizden özel bir IP adresi alıyor)? Öyleyse, kamu IP adresini kamu ağına ulaşmadan ve esas olarak whatsmyip.com ya da benzeri hizmetler gibi "geriye dönüp bakmadan" bulabilmenizin hiçbir yolu yoktur.
acejavelin

Eskiden yaptığım hack yönlendiricime danışmaktı - Aslında bazı nedenlerden dolayı web tabanlı servislerin IP adresimi doğru bir şekilde tespit edemediğini anlamak için gerçekten kirli bir senaryo vardı. Servis sağlayıcım çok eğlenceli.
Journeyman Geek

2
ISS'nizi müşteri bilgilerinizle aramayı deneyebilirsiniz. İnternet bağlantısı ve bilgisayar gerektirmez.
Thomas

Yanıtlar:


24

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ç).


@NicHartley ablası kesinlikle iğnelemenin bir parçası olabilir, ancak iğneleme, her ikisi de kişiden farklı bir biçimde metin biçiminde iletilen alay etmek için bir ton veya niyetten ibarettir. Bu, herhangi bir protokolün IP adresini belirlemek için IP kullanması gerektiğine rağmen, bariz ve evet bir totolojik gerekliliktir (ne kullanmadığınızı belirleyemediğinizden dolayı), ancak IP'nin üstüne inşa edilmiş bir protokol hala farklı bir protokoldür. teorik olarak birden bire bu işlemi gerçekleştiren bir kişi kullanılabilir. Hafiflikten çıkan nokta, bir web talebinin gerekliliği hakkındaki iddiayı karşılamekti.
13'te

2
"Başka bir yol, harici bir Web isteği yapmayı gerektirir" Web (yani HTTP) gerekli değildir, ancak kavraması en kolay olan
şeydir

1
Diğer yanıtta da belirtildiği gibi, uPnP, NAT-PMP ve PCP, yapılandırma sayfasına erişmenin yanı sıra yönlendiriciden bilgi almanın farklı yollarıdır. Bunu dile getirme şekliniz, "yapılandırma sayfasına erişmenin yanı sıra, başka bir yolla web isteği yapmayı gerektirecek" gibi görünüyor. Doğru "yönlendirici bilgi almanın yanı sıra, başka herhangi bir şekilde ve giden bağlantı girişimi gerektirir" (bir web isteği olması gerekmez).
dirkt

@dirkt: UPnP için ikna olmadım; NAT-PMP Sadece IPv4 ile çalıştığını düşünüyorum; IPv6 ağındaki PCP, IPv6 önekini döndürür ve çok daha fazlasını yapabilir, ancak bu genellikle ticari yönlendiricilerde kullanılmaz.
harrymc

1
@ harrymc: Fritzbox'ım için UPnP servis uç noktası WANIPConn1/GetExternalIPAddress, doğru adrese başarıyla döndü.
dirkt

12

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 sshdve SSH oturumunuzun nereden geldiğini söyleyerek de yapabilirsiniz .


8
Ayrıca, sistem çift (veya daha fazla) NAT arkasındaysa UPnP vb. Yanlış sonuç verebilir.
user71659

@ user71659 Bu tür bir istek için kullanılabilecek şekilde otomatik olarak en dıştaki NAT'a yönlendirilecek herhangi bir yayın adresi olup olmadığını merak ediyorum.
kasperd

1
@ kasperd Her NAT bunun en dıştaki NAT olduğunu düşünüyor. Tüm NAT'ların dışına otomatik olarak yönlendirilen IP'ler kesinlikle vardır. Bunlara genel IP denir.
kullanıcı253751

1
@ user20574 Hayır, NAT'lar böyle düşünmüyor, çoğu umursamıyor. Eğer böyle bir herhangi bir yayın adresi tanımlanacaksa, standart bir NAT'ın ne zaman kendisine bu IP'yi atadığını ve ne zaman vermeyeceğini de tanımlamalıdır. Bunun cevabı, eğer harici IP RFC 1918 veya RFC 6598'de ise, NAT herhangi bir yayın adresini kendisine atamayacaktır.
kasperd

8

"Web isteği" kategorisine girmeyeceğine inandığım bir DNS isteğini kullanabilirsiniz:

nslookup myip.opendns.com resolver1.opendns.com

1
Ayrıca kullanabilirsiniz 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/…
kasperd

Sizin nsslookupkomut 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
kasperd

1
@ kasperd: Yalnızca IPv4 için çalışıyor, üzgünüm. Ben kaçınılması digo Windows üzerinde olmadığından. myaddrGoogle için iyi bir nokta olsa da, bunun farkında değildim! Windows nslookupeşdeğeri olur sanırımnslookup -type=txt o-o.myaddr.l.google.com ns3.google.com
Mehrdad

Bu komutu hem IPv4 hem de IPv6'ya sahip bir makinede çalıştırdım, bu yüzden gerçekten IPv4'ü destekliyorsa çalışması gerekirdi. Sorun, görünüşe göre nslookuphangi 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 nslookupaktarım için kullanılacağını tahmin etmeniz ve buna göre A veya AAAA istemeniz gerekir. Sıkışmışsanız, nslookupGoogle 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.
kasperd

Test ettim nslookup -type=txt o-o.myaddr.l.google.com ns3.google.comve 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.
kasperd

7

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 #2NAT 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 Ave ev sahibinin de host2.example.comher zaman gideceği yol olabilir Uplink B. Bu nedenle, bu ana bilgisayarlar tarafından görüldüğü gibi harici IP adresleriniz farklı olacak Uplink Ave Uplink Bfarklı 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.


4

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 -6ve -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.


2

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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.