NAT check

Тема в разделе "WASM.NETWORKS", создана пользователем 2FED, 11 окт 2008.

  1. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Как проверить находимся ли мы за натом и определить свой интернет IP адрес. ?
     
  2. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
  3. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    2FED реальный (public) адрес ты узнаешь только сделав соединение с кем-то внешнтм кто сделает accept() и потом скажет тебе адрес.
     
  4. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    В аттаче ARTeam IP Grabber. Определяет внутренний и внешний IP.
     
  5. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    :) этот код сводится вот к чему:
    Код (Text):
    1. InternetOpenUrl(hInet, "http://www.xchg.info/ARTeam/");
    :) то есть скрипт на http сервере.
     
  6. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    s0larian
    Ну да. Никто не спорит :)
     
  7. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    http://cmyip.com/
     
  8. Anvil

    Anvil New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2008
    Сообщения:
    24
    Как определить ип тут рассказали. Но нету инфы как определить за NAT мы или нет. есть ли к нам конект.
    Возможно это как то сделать не проверяя себя из вне?
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Anvil
    http://www.stunserver.org/
     
  10. Anvil

    Anvil New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2008
    Сообщения:
    24
    А можно немного пояснить что это? и как им решить поставленную задачу?
     
  11. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Anvil
    проверить локальный IP на вхождение в диапазоны, выделенные для внутрисетевого использования (типа 192.168.*.*)?
     
  12. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    А также 10.*

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

    Anvil New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2008
    Сообщения:
    24
    задача такая:
    Есть программа, она открывает порт и слушает его. конект из инета. Вот надо проверить можно ли присоединится к ней из инета (ип:порт) если нельзя то надо чтоб она сказала пользователь что мол соединение закрыто или что то в этом роде. И надо чтоб проверяла сама прога.
     
  14. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Anvil
    Если не хотите использовать. stun client. То можете сами его реализовать в своей программе. Протокол Stun описан в RFC и прост как 2 копейки. Тем более сам клиент с открытым исходным кодом.

    Вам про типы NAT надо почитать.

    Хотя stun client умеет многое. Но все таки он обладает недостатками. Совершенно не знаком с понятием портмэпинга . Да и IPv6 не поддерживает.

    Если порт закрыт то его можно открыть вернее пробросить через портмэпинг. Портмэпинг можно выполнить через UPNP или PMP.
     
  15. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Проверим.
     
  16. Anvil

    Anvil New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2008
    Сообщения:
    24
    Pavia
    Хм. Спасибо за наводку, глянем.
     
  17. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Берете адрес полученный локально, потом с того же http://cmyip.com/ получаете внешний, сравниваете. По-моему для большинства случаев этого хватит.
     
  18. Anvil

    Anvil New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2008
    Сообщения:
    24
    это скорей кастыль чем решение. Это всеравно что проверять наличие интернета пингом гугла...
    Интересен способ узнать все локальным образом.
     
  19. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    Эммм… Вышеозначенный stun тоже предполагает наличие внешнего сервера, причём гарантированно не находящегося за одним NAT'ом с клиентом.

    Знаете, как Vista/Se7en определяет наличие "подключения к Интернет"? Вот не поверите - пингует microsoft.com c определённым интервалом. :)
     
  20. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    верим, знаем, помним