Какой кросс-платформенный инструмент командной строки позволяет мне получить внешний IP-адрес?

Как получить внешний IP-адрес из командной строки Windows и Linux?
В Windows ipconfig показывает внутренний IP-адрес сети, но он не показывает внешний.

Ни Windows, ни Linux не знают о его внешнем IP-адресе, поэтому они не могут известить вас об этом. Поэтому вам нужно использовать внешнюю службу, чтобы узнать, что такое IP-адрес.

Под linux вы можете использовать curl и одну из многих услуг, которые позволяют вам узнать, что ваш адрес:

 $ curl ip.alt.io 123.123.123.123 

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

Однако лучший способ сделать это – использовать службу динамического DNS (DDNS), такую ​​как no-ip.com . Здесь вы можете динамически регистрировать свой внешний IP-адрес в DNS. Поэтому вместо использования IP-адреса вы можете использовать доменный адрес, например myhomeip.no-ip.com .

Большинство внутренних маршрутизаторов поддерживают обновление DDNS автоматически при изменении внешнего адреса, а если нет, есть клиенты для Windows и Linux (ddclient).

Поиск Google Что такое мой IP-адрес, работает достаточно хорошо.

Ваш открытый IP-адрес: ##. ###. ###. 178

Вы также можете получить некоторую информацию о своей сети, чтобы дать вам хорошее представление о том, что происходит. Используя инструменты, такие как netstat , traceroute , ssh или telnet, вы можете понять, как вы попадаете в сеть зрелищных сетей в Интернете.

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

Частная сеть (Википедия)

10.0.0.0/24
172.16.0.0/20
192.168.0.0/16

Я бы начал с поиска моего шлюза по умолчанию.

В Linux:

Netstat -r

В Windows:

Netstat / r

Что должно показать вам что-то вроде

 Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 172.16.0.0 * 255.255.255.0 U 0 0 0 eth0 172.16.0.0 * 255.255.255.0 U 0 0 0 wlan0 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 link-local * 255.255.0.0 U 0 0 0 eth0 default 172.16.0.2 0.0.0.0 UG 0 0 0 eth0 

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

Теперь отправьте запрос на адрес DNS-сервера Google, 8.8.8.8, чтобы узнать, какой путь вы выберете во внешний мир.

Linux:

Трассировка 8.8.8.8

Окна:

Traceroute 8.8.8.8

Что должно дать вам нечто подобное

 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 172.16.0.2 (172.16.0.2) 0.564 ms 0.882 ms 0.848 ms 2 ##.###.###.177 (##.###.###.177) 12.239 ms 13.040 ms 13.859 ms 

Шаг после моего маршрута по умолчанию был на нашей внешней сети.

Поиск Google отличался от traceroute но только одной цифрой. Это связано с тем, что вам нужен IP-адрес в том же диапазоне, что и ваш интернет-провайдер, чтобы иметь возможность общаться с ними. Таким образом, наш маршрутизатор имеет IP-адрес один от нашего внешнего IP-адреса, который используется нашим интернет-провайдером для маршрутизации трафика на весь остальной мир.

Ваш открытый IP-адрес: ##. ###. ###. 178

Что может помочь здесь знать, что на одном устройстве маршрутизатор имеет все три IP-адреса. Частный, 172.16.0.2 (маршрут по умолчанию) и внутренний, обеспечил покупку нашего провайдера ##. ###. ###. 178 и внешний номер ##. ###. ###. 177 наш интернет-провайдер Использует для подключения к Интернету. Поэтому, если я знаю, как удаленно подключаться к маршрутизатору с помощью Telnet / ssh, я могу напрямую использовать запрос маршрутизатора для получения этой информации с помощью командной строки.

У разных маршрутизаторов и ISP есть разные способы управления этим. Большинство домашних DSL-модемов довольно легко получить ssh, поскольку у вас есть пароль и информация для входа, но если интернет-провайдер поставил маршрутизатор в вашем офисе, они, вероятно, не дадут вам доступ к их маршрутизатору.

Вы можете использовать инструмент lynx для получения внешнего ip.

Lynx –dump http://whatismyip.org

Ваш компьютер не знает ваш внешний адрес. Вы должны использовать внешнюю службу и получать результаты (например, checkip.dyndns.org).

Вы можете использовать любые HTTP-клиенты командной строки как wget или curl:

 $ wget -q -O - checkip.dyndns.org <html><head><title>Current IP Check</title></head><body>Current IP Address: 129.132.208.173</body></html> 

Wget доступен как для Windows, так и для GNU / Linux

Ifconfig.me – это сайт, который вы можете посетить в браузере, чтобы получить почти всю необходимую информацию. Вы также можете использовать curl на этой странице с показанными переменными, чтобы получить только ту часть конкретной информации. Данные возвращаются в форматированной строке JSON, что упрощает создание сценариев. Посмотрите внизу страницы ifconfig.me для получения дополнительных примеров.

Например:

curl ifconfig.me/ip

curl ifconfig.me/all

  • Можно ли загружать Windows 8.1 без собственного загрузчика?
  • Экран не выдает pty
  • Является ли (Ubuntu) Linux алгоритмом копирования файлов лучше, чем Windows 7?
  • Внешние жесткие диски, поврежденные сектора, восстанавливают / маркируют утилиту в Linux
  • Процесс Vim останавливается после выполнения внешней команды
  • Клиент WinSCP для Ubuntu
  • Запуск Linux на старом ПК
  • Смарт-карты для хранения ключей gpg / ssh (Linux) - что мне нужно?
  • Как переименовывать файлы с недопустимым кодированием или навалом-заменить неверные кодированные символы?
  • Невозможно ввести какой-либо специальный символ или umlaut в терминале
  • Что такое хорошее приложение для Ubuntu, которое имитирует RocketDock?
  • Давайте будем гением компьютера.