1

Я видел этот вопрос, но он не решает мою текущую проблему (речь идет о получении внешнего IP-адреса текущей машины):
Команда Windows, которая возвращает внешний IP

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

Я хотел бы, чтобы это было включено в автоматизированный процесс, поэтому предпочтительнее использовать команду DOS или скрипт PowerShell.

5 ответов5

3

Я думаю, что единственный способ сделать это с помощью внешних служб. Вы можете использовать систему .Net.Библиотека WebClient Powershell вместе с веб-сайтом http://icanhazip.com , который не возвращает ничего, кроме вашего внешнего IP-адреса.

$obj = New-Object system.Net.WebClient;
$ip = $obj.downloadString("http://icanhazip.com")
0

Редактировать: поцарапать это, я перепутал шлюз с внешним IP. Я смог найти этот, хотя там есть много полезной информации.

Я уверен, что должен быть простой способ сделать это локально, но слишком много переменных.

Как получить мой внешний IP-адрес через nat из командной строки Windows

0

Если вы можете установить программы на другом компьютере, проще всего настроить этот компьютер для публикации его IP-адреса в виде записи DNS.

Например, http://dyn.com/dns/ (не бесплатно) и http://www.noip.com/free/ представляются двумя программами, которые предоставляют эту услугу.

Например, с dyn.com вы можете установить программу, которая работает как служба, на другом компьютере, который будет обновлять запись dns, например, yourname.dyndns.org.

Если вы хотите узнать текущий IP-адрес, вы можете просто пропинговать yourname.dyndns.org.

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

0

ifconfig.me сейчас немного медленный для меня, но это работает.

Из командной строки

curl ifconfig.me

curl ifconfig.me/ip -> IP Adress
curl ifconfig.me/host -> Remote Host
curl ifconfig.me/ua ->User Agent
curl ifconfig.me/port -> Port

Еще один

C:\>wget -O abc.a ifconfig.me/ip 2>nul & type abc.a

(очевидно, вы можете поместить эту строку wget в bat-файл, чтобы эффективно создать для нее ярлык)

вам нужно скачать wget(из gnuwin32) или curl http://curl.haxx.se/download.html

-1

У меня была похожая проблема, поэтому я написал простой инструмент командной строки, вы можете скачать OuterIP из sourceforge.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .