Polecenie „ipconfig” systemu Windows może wyświetlać tylko parametry z interfejsów Ethernet z mojego komputera (nawet z ipconfig /all
argumentem). Może wyświetlać szczegółowe informacje o interfejsie, ale nigdy nie pokaże mi mojego zewnętrznego adresu IP w sieci NAT .
Istnieje jednak kilka witryn, takich jak „Jaki jest mój adres IP”, które mogą uzyskać i wyświetlić mój zewnętrzny adres IP. Zastanawiam się więc, czy można uzyskać tę wartość zewnętrznie? Czy powinienem oczekiwać, że istnieje jakiś sposób na uzyskanie tych informacji z wiersza poleceń na moim komputerze lokalnym ...
Potrzebuję uzyskać tę wartość, aby zalogować się do aplikacji, którą wykonuję za pomocą VBScript . Czy można to zrobić z poziomu cmd
systemu Windows?
Odpowiedzi:
Teraz, korzystając ze strony Olivera, można to zrobić za pomocą VBScript.
Istnieje podobna metoda dla PowerShell.
źródło
wscript
/cscript
.Problem w tym, że to nie jest twój adres IP. To adres IP twojego routera.
Więc nigdy nie będziesz w stanie go odzyskać bez przechodzenia przez router. I najłatwiej jest po prostu sprawić, aby router pobierał dla ciebie stronę internetową (jak już zauważyłeś). Ponieważ router użyje swojego adresu IP do pobrania tej witryny.
Biorąc to pod uwagę, możesz ułatwić sobie korzystanie z ifconfig.me/ip . Teraz, jeśli tak
curl
, to już gotowe, jeśli nie: alternatywa Wget / cURL natywna dla systemu Windows?źródło
Utwórz skrypt VB, aby uruchomić go w dowolnym czasie.
Wpisz to do pliku txt:
Zamknij plik txt i zmień jego nazwę na ip.vbs (zapisz go w C: w tym przykładzie)
W systemie Windows otwórz okno dos (uruchom cmd) ( ha! Właśnie zdałem sobie sprawę, jeśli zamienisz, że staje się uruchamiane dmc !! )
Upewnij się, że jesteś w c: / (jeśli nie, wpisz c: i naciśnij enter, następnie cd .. i wpisz kilka razy, aż zobaczysz C:>)
W wierszu polecenia dos wpisz:
i natychmiast zobaczysz swój zewnętrzny adres IP.
Jeśli umieścisz plik vbs na kluczu USB lub czymś innym (i pamiętasz, aby uruchomić cscript ip.vbs po znaku zachęty dos - ale upewnij się, że jesteś w tym samym katalogu co plik ip.vbs), możesz zabrać to ze sobą gdziekolwiek jesteś i uruchom plik .vbs na dowolnym komputerze, aby zobaczyć ich zewnętrzny adres IP.
Jeszcze jedna uwaga: wiersz, który ma adres icanhazip.com, można zmienić na dowolny z poniższych:
Edytuj, możesz także uruchomić plik ip.vbs w systemie Windows bez przechodzenia do okna dos, a pojawi się on w małym wyskakującym oknie.
źródło
Natknąłem się na tę stronę, szukając ekwiwalentu PowerShell i pomyślałem, że udostępnię to polecenie, jeśli ktokolwiek będzie szukał:
Więcej szczegółów jest dostępnych tutaj, jeśli są potrzebne - http://jfrmilner.wordpress.com/2012/12/22/powershell-quick-tip-03-whats-my-external-ip-address-windows-command-line/
źródło
Aby uzyskać zewnętrzny adres IP, musisz zapytać o coś poza siecią i poprosić, aby poinformował o tym, jaki jest twój adres IP. Można to zrobić za pomocą skryptu, wysyłając zapytanie do strony, na której łatwo jest parsować wynik, i uzyskując z niego adres IP, ale w systemie Windows nie ma wbudowanego narzędzia, które można by tylko powiedzieć, jaki jest twój zewnętrzny adres IP. Musisz sam napisać lub znaleźć i pobrać.
źródło
Używając czegoś takiego jak DynDNS do przypisania Twojemu adresowi DHCP nazwy domeny, możesz następnie wykonać polecenie
nslookup
ping lub ping (jeśli router jest skonfigurowany do reagowania) na nazwę swojej domeny i wyodrębnić z niej adres IP.Jedynym innym narzędziem systemu Windows jest
traceroute
, ale wyświetlałoby tylko bramę wychodzącą, z którą się łączysz, a nie adres IP routera, który łączy się z tą bramą.Edycja: Ponieważ wyodrębnienie ciągu adresu IP wymaga trochę analizy i
ifconfig.me
ma niezbyt rzadką odpowiedź, oto trochę wariantu skryptu Boba, funkcja może sprawdzić brak odpowiedzi i zwrócić ładne czyste IP adres do użycia w skrypcie, jeśli serwer jest uruchomiony.źródło
Jeśli router obsługuje Universal plug & Play (UPnP), możesz zapytać o jego adresy IP.
W systemie Windows można wyszukiwać takie informacje za pomocą WMI i wiersza polecenia za pomocą narzędzia WMIC.
źródło
Jak już powiedzieli inni, musisz polegać na usłudze zewnętrznej. Poleciłbym http://www.externalip.net
Możesz użyć http://api.externalip.net/ip, aby uzyskać ip w formacie zwykłego tekstu. Okazało się, że jest szybki i niezawodny, a ponadto ma nieograniczone zastosowanie.
źródło