как узнать свой внешний IP

Тема в разделе "WASM.NETWORKS", создана пользователем BaGiE, 15 ноя 2007.

  1. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    Необходимо определять внешний IP (адрес в Интернете), вне зависимости от конфигурации сети - будь то хоть инет настроен на локальной машине, хоть через внутренний роутер и т.д. Как это реализовать? Есть вариант. Повесить на любом хосте, постоянно, подключенном к инету какой-нибудь скрипт, который бы видел внешний IP и посылал клиенту ответ, а клиент запрашивал бы через определенное время свой же IP :)
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Можешь взять готовый сервис: http://ip-address.domaintools.com/myip.xml
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    BaGiE
    gethostbyname --> через структуру hostent получаем IP

    [add] Вот только с роутером я не проверял (работает с ланом+впн и модемом)
     
  4. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    А почему не использовать ужу существующий?
    Например, вот этот: http://checkip.dyndns.org/
     
  5. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    Aspire
    да это то я и так знаю)
     
  6. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Дык, в чем трабл тогда?
     
  7. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    Aspire
    Объясняю подробно.))

    Допустим у меня комп в сети, имеет только адрес типа 172.16.186.100 и прописан шлюз и DNS на маршрутизатор, то что ты увидишь?
     
  8. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    Я к тому задал вопрос, что нельзя ли как то узнать IP без внешнего источника. Например, как работают команды tracert и pathping? Они видят промежуточные узлы. Может быть как то средствами ICMP протокола можно определить свой внешний адрес? В общем я в ауте =(

    Кстати. Эти сервисы, что посоветовали видят не мой реальный IP, а адрес прозрачного проксика провайдера =( Единственный сайт который видит нормально - whatismyip.ru
     
  9. SLab

    SLab New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    10
    можно если самому делать tracert или
    выполнить tracert с выводом в файл и потом его парсить
    еще как вариант , основывается на том, что smtp траффик наврятли будут проксировать
    хотя мож и будут :), но попробовать стоит
    приконнектится к почтовому серваку например smtp.mail.ru
    естественно на 25 порт послать helo
    в ответ получите helo и ваш внешний IP
     
  10. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    SLab
    tracert выдает ip-адреса "внутренних" интерфейсов машрутизаторов,
    так как именно на них делается декремент TTL и отправка сообщения
    о смерти пакета отправителю.

    [sender] --- [int11 ROUTER1 int12] --- [int21 ROUTER2 int22] --- [int31 ROUTER3 int32]

    При трассировке от sender'a tracert покажет ip-адреса интерфейсов
    int11, int21, int31. А нужно узнать ip на интерфейсе int32.

    Собсно, предложенный вариант с почтовиком должен помочь.
     
  11. SLab

    SLab New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    10
    я как понимаю у прова там делается НАТ
    так вот если парсить лог tracert , то первый попавшийся "белый" адрес будет являться внешним. Сворачивать в НАТ белые адреса никто не будет.
     
  12. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    [sender] --- [int11 ROUTER1 int12] --- [int21 ROUTER2 int22] --- [int31 ROUTER3 int32] -------- [int41 ROUTER3 int42]

    Если принять, что на ROUTER3 включен НАТ и int32 имеет реальный ip,
    то tracert тебе вернёт ip на интерфейсе int41.
     
  13. SLab

    SLab New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    10
    Согласен , поторопился... Сначала сказал, а потом подумал..
     
  14. BaGiE

    BaGiE New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2005
    Сообщения:
    84
    Адрес:
    Mordor
    SLab
    Да, метод с SMTP хороший вариант. Респект! ;)