Схожий на пошук http://whatismyip.com . Очевидно, потрібно було б запитати комп'ютер там. Просто цікаво, чи мав хто розумний спосіб це зробити?
Схожий на пошук http://whatismyip.com . Очевидно, потрібно було б запитати комп'ютер там. Просто цікаво, чи мав хто розумний спосіб це зробити?
Відповіді:
curl http://myip.dnsomatic.com
копати + короткий myip.opendns.com
Це працює лише в тому випадку, якщо ви використовуєте OpenDNS як свій dns-сервер.
Якщо ви цього не зробите, один із них має працювати:
копати + короткий myip.opendns.com @ 208.67.222.222 копати + короткий myip.opendns.com @ 208.67.220.220 копати + короткий myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
@resolver1.opendns.com(для читабельності)
lynx -dump http://www.pcmesh.com/ip-check.cgi | awk '/REMOTE_ADDR/{print $2}'
Ви можете використовувати curl, щоб отримати сторінку з чогось подібного до whatismyip, а потім дістати фрагменти. Я використовував whatismyipaddress.com у цьому прикладі ... очевидно, що поля відрізнятимуться від різних сервісів.
curl -s http://whatismyipaddress.com/ | grep LOOKUPADDRESS | awk '{ print $4 }'
я просто запускаю traceroute кудись в Інтернеті і шукаю стрибок з нашої локальної мережі.
можливо, є кращий спосіб?
"рись http://whatismyip.com "
найпростіший спосіб: curl ifconfig.me
Ви можете використовувати команду ifconfig, щоб перелічити всі інтерфейси та пов’язані з ними IP-адреси.
Отже, якщо ви знаєте, що ваш інтернет-інтерфейс - ppp0, ви можете запустити
$ ifconfig ppp0
ppp0 Link encap: Протокол "точка-точка"
inet addr: XXXX.X PtP: YYYY Маска: 255.255.255.255
Вгору POINTOPOINT RUNNING NOARP MULTICAST MTU: 1444 Показник: 1
Пакети RX: 198986 помилок: 0 випали: 0 перевитрати: 0 кадр: 0
TX-пакети: 122929 помилок: 0 випало: 0 перевитрат: 0 оператор: 0
зіткнення: 0 txqueuelen: 3
RX байти: 134195571 (127,9 МіБ) TX байти: 17101701 (16,3 МіБ)
XXXX буде вашою IP-адресою. РРРР - IP-адреса наступного переходу.
Ви можете потім обробити вихід ifconfig за допомогою grep / awk / sed / cut / perl / що завгодно, щоб витягнути лише IP.
Іншою альтернативою, якщо у вас встановлені інструменти iproute, є використання команди ip. напр
$ ip список добавок ppp0
21842: ppp0: mtu 1444 qdisc htb state UNKNOWN qlen 3
посилання / ppp
inet XXXX peer YYYY / 32 global global ppp0
це, мабуть, легше читати і, звичайно, простіше розбирати:
$ ip список додавачів ppp0 | awk '/ inet / {print $ 2}'
XXXX