Как получить общедоступный IP-адрес через командную строку Windows?

можно ли получить ваш публичный IP-адрес через cmd без использования таких сайтов, какhttp://whatismyipaddress.com/? Я стою за маршрутизатором.

пожалуйста чувствуйте свободным пойти как можно детализированный. Я готовлюсь к экзамену Net+

5
задан ᔕᖺᘎᕊ
источник

6 ответов

Вы можете использовать PowerShell Invoke-RestMethod:

PS > Invoke-RestMethod ipinfo.io/ip
99.109.97.210

или псевдоним:

PS > irm ipinfo.io/ip
99.109.97.210
10
отвечен Rachel Duncan 2015-10-22 23:52:29
источник

вы не можете. Почему? Нет четкого определения "общедоступного ip-адреса". Я бы отметил, что ответ-массивная абстракция, достаточно хорошая, чтобы объяснить мою точку зрения, но пронизана незначительными дырами. Не стесняйтесь комментировать большие (чтобы я мог их подключить).

по сути, все общедоступные ip-адреса-это адреса подсетей, которые не зарезервированы для частного использования. Там нет никакого различия между публичным и частным IP-адресом, насколько это касается сетевого стека. Его просто маршрутизации между подсети. Теоретически, в закрытой сети, пока ее Грозный практика, вы можете использовать диапазон общедоступных IP-адресов, и делать обратное - используя адрес RFC 1918 в общедоступном интернете, скорее всего, сломает вещи.

Если я запускаю pathping (и пока я не готов вставить свой ip-адрес в интернете, но его не cgn, а начинается с 101)

enter image description here

мой ip-адрес нигде не находится на маршруте (so... свой компьютер на самом деле может быть не известно о его общедоступном ip-адресе).

на концепция публичного ip-адреса тоже туманно. Что бы это было за двойным nat (eww!), или даже тройной nat (возможно, с перекрывающимися диапазонами ip-адресов!). Что бы это было за CGN или даже закрытой сетью?

в сущности, каждый маршрутизатор или система просто должны знать следующий прыжок и нет необходимости или способа для вашего компьютера, чтобы знать, что его публичный IP-адрес.

причина, по которой внешняя служба может найти ваш "публичный" ip-адрес, заключается в том, что сообщение было доставлено до соответствующего сервера. Ему также не нужно знать, является ли это компьютером конечного пользователя, прокси-сервером, за которым у вас есть компьютер конечного пользователя, маршрутизатор/коммутатор или даже тостер.

5
отвечен Journeyman Geek 2015-10-23 00:27:24
источник

нет ничего автоматически встроенного в Windows, что сделает это. Вы могли бы, как другие пользователи предлагали в прошлом, попробовать что-то вроде:

C:\> nslookup myip.opendns.com resolver1.opendns.com

и использовать запрос DNS, чтобы вернуть общедоступный IP-адрес. Ответ был найден здесь.

4
отвечен Sam Waldie 2017-03-20 10:17:24
источник

попробуйте это. Вы можете использовать %MyIP% в качестве переменной или просто для отображения.

@echo off
nslookup myip.opendns.com resolver1.opendns.com | find "Address" >"%temp%\test1.txt"
more +1 "%temp%\test1.txt" >"%temp%\test2.txt"
del %temp%\test1.txt
set /p MyIP=<%temp%\test2.txt
del %temp%\test2.txt
set MyIP=%MyIP:~10%
cls
echo .
echo %MyIP%
echo .
1
отвечен ArthurG 2017-02-12 23:53:56
источник

вот решение с помощью Powershell:

@powershell -NoProfile -Command "(new-object net.webclient).DownloadString('http://www.trackip.net/ip')"
0
отвечен heavyd 2015-10-22 17:45:26
источник

можно ли получить ваш публичный IP-адрес через cmd?

на ваш вопрос невозможно ответить в его нынешнем виде, потому что вы задаете неправильный вопрос.

вы должны были спросить:

Как сделать WAN адрес моего интернет-соединения из командной строки?

WAN-адрес может быть публичным или приватным IP-адресом:

  • ваш поставщик интернет-услуг предоставляет адрес WAN.
  • это может быть статический / динамический
  • это может быть public / private

все зависит от того как провайдер настроил его сеть для подключения к Вашей, чтобы предоставить вам интернет-услуги.

0
отвечен DavidPostill 2015-11-12 17:20:17
источник

Другие вопросы command-line ip windows