Harici IP adresimi (NAT üzerinden) Windows komut satırından nasıl alabilirim? [çiftleme]


13

Windows "ipconfig" komutu bana yalnızca makinemdeki Ethernet arabirimlerindeki parametreleri gösterebilir ( ipconfig /allargümanla bile ). Arayüz hakkında ayrıntılı bilgi gösterebilir, ancak hiçbir zaman bir NAT ağı üzerinden harici IP adresimi göstermeyecek .

ipconfig / all - Windows ekran görüntüsü

Ancak, harici IP adresimi alabilen ve gösterebilen "IP adresim nedir" gibi çeşitli web siteleri vardır . Merak ediyorum, bu değeri dışarıdan almanın mümkün olup olmadığı? Bu bilgileri yerel makinemdeki bir komut satırından almanın bir yolu olmasını beklesem ...

VBScript ile yaptığım bir uygulama oturum açmak için bu değeri almak gerekiyor . cmdWindows'ta bunu yapmanın bir yolu var mı ?


HTTP tabanlı IP adresim hizmetlerinin size bir proxy sunucusunun IP'sini verebileceğini unutmayın. (Ve kimse noktaları önce HTTPS vekiller var olduğunu, sen olamaz dışarı şeffaf .. Eğer bir tane var ise vekil HTTPS, bunu bileceksiniz)
billpg

Yanıtlar:


11

Şimdi, Oliver'ın sağladığı siteyi kullanarak bu VBScript'te yapılabilir.

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://ifconfig.me/ip", False
o.send
WScript.StdOut.Write o.responseText

PowerShell için benzer bir yöntem var.


Güzel, işe yaradı. Programıma ekleyeceğim. Benim sorunum için iyi bir çözüm. Teşekkür ederim.
Diogo

Hmm, bu komut dosyası için 4. satırda "Acess reddedildi" ibaresini döndürüyor. Hatta yönetici hakları komut satırından çalıştırılıyor ... Neden biliyor musunuz?
Diogo

@DiogoRocha Neden bilmiyorum. Fiasco'nun biri muhtemelen daha güvenilirdir. Ayrıca bir güvenlik duvarına veya wscript/ 'e internet erişimini engelleyen bir şeye sahip olmanız da mümkündür cscript.
Bob

10

Sorun şu ki, bu sizin IP adresiniz değil. Yönlendiricinizin IP adresidir.

Böylece yönlendiricinizden geçmeden onu asla alamazsınız. Ve en kolay yol, yönlendiricinin sizin için bir web sitesi almasını sağlamaktır (daha önce fark ettiğiniz gibi). Çünkü yönlendirici bu siteyi almak için IP adresini kullanacaktır.

Bununla birlikte, ifconfig.me/ip komutunu kullanarak kendiniz için kolaylaştırabilirsiniz . Şimdi, eğer varsa curl, zaten yaptınız, eğer değilse: Windows'a özgü Wget / cURL alternatifi?


1
ifconfig.me/ip dosyasının yüklenmesi uzun sürdü. whatismyip.org size aynı düz metin IP'yi verir ve çok daha hızlıydı.
nhinkle

1
@nhinkle Bu, bulunduğunuz yere bağlı olabilir. Her ikisi de benim için aynı yükleme süresine sahip gibi görünüyor, ancak ifconfig.me'den ping yanıt süresi yarı (139ms vs 250ms). Muhtemelen daha önemli olan, hizmetin mümkün olduğunca uzun süre kalmasıdır, ancak gerçekten bilmemiz mümkün değildir.
Bob

Bağlantı noktası yönlendirme kuralları ve IPv4 dikkate alındığında yönlendiricimin harici IP adreslerinde yanlış bir şey yok.
mbx

5

Boş zamanlarınızda çalıştırmak için bir VB betiği oluşturun.

Bunu bir txt dosyasına yazın:

Option Explicit
Dim http : Set http = CreateObject( "MSXML2.ServerXmlHttp" )
http.Open "GET", "http://icanhazip.com", False
http.Send
Wscript.Echo http.responseText   'or do whatever you want with it
Set http = Nothing

Txt dosyasını kapatın ve ip.vbs olarak yeniden adlandırın (bu örnek için C: olarak kaydedin)

Pencerelerde bir dos penceresi açın (cmd çalıştırın) ( ha! Sadece dmc'yi çalıştırdığını takas ederseniz fark ettim! )

C: / konumunda olduğunuzdan emin olun (eğer değilse, c: yazın ve enter tuşuna basın, sonra cd .. tuşuna basın ve C:> görene kadar birkaç kez girin)

Dos istemine şunu yazın:

cscript ip.vbs

harici IP'nizi anında göreceksiniz.

Vbs dosyasını bir usb anahtarına veya başka bir şeye koyarsanız (ve dos isteminde cscript ip.vbs dosyasını çalıştırmayı unutmayın - ancak ip.vbs dosyasıyla aynı dizinde olduğunuzdan emin olun), bunu yanınıza alabilirsiniz herhangi bir yere gidin ve harici IP'lerini görmek için herhangi bir bilgisayarda .vbs dosyasını çalıştırın.

Bir başka not, icanhazip.com adresine sahip olan hat aşağıdakilerden herhangi biri ile değiştirilebilir:

http://myip.dnsomatic.com
http://whatismyip.org
http://icanhazip.com
http://www.whatismyip.com/automation/n09230945.asp
http://externip.com

Düzenleyin, ayrıca bir dos penceresine gitmeden pencerelerde ip.vbs dosyasını çalıştırabilirsiniz ve sadece küçük bir açılır pencerede görünecektir.


icanhazip.com , burada Avrupa'nın merkezinde ipconfig.me/ip'den daha iyi bir yanıt süresine sahiptir .
Martin Braun


3

Harici bir IP adresi almak için, ağın dışında bir şey sormanız ve IP adresinizin kendisine ne göründüğünü raporlamasını sağlamanız gerekir. Bu, sonucu ayrıştırması kolay bir sayfayı sorgulayarak ve bundan IP adresini alarak komut dosyası oluşturma yoluyla yapılabilir, ancak Windows'ta yerleşik olarak harici IP adresinizin ne olduğunu söyleyebileceğiniz bir araç yoktur. Birini kendiniz yazmanız veya bir tane bulmanız ve indirmeniz gerekir.


2

DHCP IP adresinize bir etki alanı adı atamak için DynDNS gibi bir şey kullanarak , etki alanı adınızı bir nslookupveya ping (yönlendiriciniz yanıt vermek üzere yapılandırılmışsa) yapabilir ve IP adresini bundan çıkarabilirsiniz.

Diğer tek Windows yardımcı programıdır traceroute, ancak yönlendiricinizin bu ağ geçidine bağlanan IP adresini değil, yalnızca bağlandığınız giden ağ geçidini gösterir.

Düzenleme: IP adresi dizesini ayıklamak için yukarıdaki ayrıştırma biraz alır ve ifconfig.megüzel bir seyrek yanıtı var, İşte Bob komut dosyasında bir varyant biraz, işlev yanıt için test ve güzel bir temiz IP geri verebilir sunucu açıksa komut dosyasında kullanılacak adresi.

wscript.echo WAN_IP()

function WAN_IP()
    set obj = createobject("Microsoft.XMLHTTP")
    call obj.open("get", "http://ifconfig.me/ip", false)
    obj.send()

    strresponse = obj.responsetext
    set obj = nothing

    if strresponse <> "" then
        strIP = strresponse
    else
        strIP = "Unavailable"
    end if

    WAN_IP = trim(strIP)

end function

1

Yönlendiriciniz Evrensel tak ve çalıştır (UPnP) özelliğini destekliyorsa, IP adreslerini sorgulayabilirsiniz.

Windows'ta bu bilgileri WMI kullanarak ve WMIC aracını kullanarak komut satırından sorgulayabilirsiniz.


2
Bir örnek verebilir misiniz? Bununla çok ilgilenirim.
Der Hochstapler

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.