Czy istnieje polecenie, za pomocą którego mogę znaleźć mój zewnętrzny adres IP mojego routera lub routera NAT \ DSL itp., Co eliminuje potrzebę odwiedzania whatsmyip.net lub podobnego.
windows
command-line
ip
Junaid Saeed
źródło
źródło
Odpowiedzi:
Nie ma wbudowanego polecenia, aby to zrobić. Część problemu polega na tym, że gdy jesteś podłączony do Internetu za pośrednictwem routera, twój sprzęt sieciowy nie jest bezpośrednio podłączony do Internetu, więc Twojemu systemowi nie jest specjalnie przypisany adres IP. Możliwe, że w niektórych przypadkach masz nawet wiele zewnętrznych adresów IP, jeśli masz za sobą odwrotne proxy, ponieważ skonfigurowanych jest wiele sieci korporacyjnych. Najlepszym rozwiązaniem może być utworzenie skryptu, który będzie sprawdzał whatismyip.org , lub próba znalezienia, czy już istnieje.
(Wskazówka: whatismyip.org jest lepszy od większości innych rozwiązań, ponieważ zwraca adres IP jako zwykły tekst - bez zbędnego tekstu, linków, obrazów lub innych śmieci. Byłoby o wiele łatwiejsze w użyciu w skrypcie niestandardowym niż większość inne witryny wykrywające adresy IP).
źródło
Możesz użyć żądania DNS zamiast żądania HTTP, aby znaleźć swój publiczny adres IP:
Używa
resolver1.opendns.com
serwera dns do rozpoznania magicznejmyip.opendns.com.
nazwy hosta na Twój adres IP. (Uwaga: końcowe.
wyszukiwanie zapobiega dołączaniu domen wyszukiwania, co może dawać nieprawidłowe wyniki).Wersja uniksowa:
źródło
pobierz własną kopię
curl
z http://curl.haxx.se/download.html, a następnie po prostulub użyj PowerShell:
(zastrzeżenie: http://myexternalip.com został stworzony przeze mnie)
źródło
Działa to dobrze, używam go głównie z psexec podczas sprawdzania połączeń komputera klienckiego.
źródło
Utwórz plik o nazwie
ip.vbs
i skopiuj do niego następujące elementy:Wykonaj używając
Jak zauważył nhinkle , najlepiej wybrać witrynę, która zwraca tylko adres IP, a nie reklamy HTML + itp., Takie jak:
(źródło: poprzednio http://externip.com/about )
źródło
Zrobiłem ten skrypt wsadowy, aby to zrobić kilka miesięcy temu:
Daje ci możliwość umieszczenia adresu IP w schowku i ustawia zmienną środowiskową -
%PublicIP%
.PROSTA METODA:
Teraz po prostu to robię:
lub...
... aby pobrać bieżący publiczny adres IP do schowka.
Potrzebujesz cURL .
źródło
Z Powershell 3.0 (Windows 7 domyślnie jest 2.0) możesz używać
Invoke-WebRequest
W przypadku IPv4:
W przypadku IPv6:
To da ci zmienną do pracy, jeśli masz coś konkretnego, co chcesz z tym zrobić. Używam tego do zbudowania skryptu, aby okresowo przesyłać dynamiczny adres IP routera, regularnie komunikować się z innym urządzeniem podczas regularnych testów, a następnie aktualizować DNS o najnowszy adres IP, jeśli został zmieniony, dzięki czemu mogę uzyskać dostęp do mojego sprzętu z dowolnego miejsca przez używając nazwy zamiast ciągłego ścigania adresu IP.
I oczywiście - gdy strony się zmieniają lub zmieniają się ich wyniki, należy to odpowiednio zaktualizować. :)
źródło
powershell.exe -noprofile -command ""
. Oddziel linię podział średnikiem ...(Invoke-WebRequest -URI http://myip.dnsomatic.com).Content
Spróbuj tego:
nie wymaga instalowania żadnego zewnętrznego oprogramowania.
źródło
Bez programów innych firm jest trudny w systemie Windows, ponieważ Telnet nie jest domyślnie dostarczany, ale jeśli jest dostępny (XP) lub włączony (Windows Vista i nowszy), po prostu wpisz:
ekran zacznie migać, a otrzymasz kursor ... Następny typ:
Wielkimi literami ... zobaczysz nagłówki, a następnie swój ip (i przepraszam, że go zamazałem, pokazując tylko, gdzie to będzie!):
Inne odpowiedzi tutaj oczywiście działają, ale staram się zadać pytanie o coś, co można wykorzystać w dowolnym oknie, bez programów innych firm!
W systemie Windows Vista i nowszym można łatwo (i bezpiecznie) zainstalować telnet za pomocą
Programs and features
lub użyć następującego polecenia:źródło
curlmyip.com
, ale przetestowane zcheckip.dyndns.org
.Możesz użyć ifcfg.me . obsługuje niektóre wewnętrzne polecenia domyślnie dostarczane z systemem Windows.
źródło
Chciałem mieć rozwiązanie, które działa na Windows bez instalowania narzędzi innych firm. Więc wybrałem opcję PowerShell , która powinna uruchamiać skrypt co godzinę.
Ten skrypt tworzysz za pomocą Notatnika
i zapisz go
getIP.ps1
gdzieś. Możesz wywołać ten skrypt albo bezpośrednio w PowerShell, albo użyć narzędzia do planowania zadań, tak jak ja. To jest polecenie do wykonania:W harmonogramie zadań tworzysz nowe zadanie. W Trigger używasz tego ustawienia codziennie dla każdego 1 dnia, aw opcji zaawansowanej wybierasz co godzinę na natychmiastowy czas . Sprawdź także Uruchom zadanie tak szybko, jak to możliwe po nieudanym zaplanowanym uruchomieniu w Ustawieniach . W obszarze Akcja wklej powyższy kod wykonania.
Kod PowerShell można zoptymalizować, ponieważ nie jestem guru PowerShell (pierwszy raz z nim). Teraz sprawdzam, czy skrypt jest wywoływany co godzinę.
źródło
Oto, co wymyśliłem, można użyć wbudowanego polecenia, aby uzyskać publiczny adres IP, ale masz dostęp do Internetu
lub
źródło
icanhazip.com
dla mnie nie zadziała, a ten drugi nie robi poprawnie IPv6. :)ipchicken.com zwróci twój pozorny adres IP w formacie tekstowym, jeśli możesz parsować zwracany kod HTML, który wyodrębniasz zewnętrzny adres IP routera. Alternatywnie możesz zainstalować jednego z tych dynamicznych agentów DNS, który aktualizuje pozorny zewnętrzny adres IP do nazwy FQDN, a następnie po prostu zrób przeglądanie swojej nazwy FQDN, aby zobaczyć swój bieżący numer IP. Kiedyś były darmowe, takie jak DynDNS, ale większość z nich wymaga teraz płatnego konta subskrypcyjnego.
źródło