NAT check

Discussion in 'WASM.NETWORKS' started by 2FED, Oct 11, 2008.

  1. 2FED

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    Как проверить находимся ли мы за натом и определить свой интернет IP адрес. ?
     
  2. Aspire

    Aspire New Member

    Blog Posts:
    0
    Joined:
    May 19, 2007
    Messages:
    1,028
  3. s0larian

    s0larian New Member

    Blog Posts:
    0
    Joined:
    Jul 15, 2004
    Messages:
    489
    Location:
    Крыжёпполь
    2FED реальный (public) адрес ты узнаешь только сделав соединение с кем-то внешнтм кто сделает accept() и потом скажет тебе адрес.
     
  4. twgt

    twgt New Member

    Blog Posts:
    0
    Joined:
    Jan 15, 2007
    Messages:
    1,494
    В аттаче ARTeam IP Grabber. Определяет внутренний и внешний IP.
     
  5. s0larian

    s0larian New Member

    Blog Posts:
    0
    Joined:
    Jul 15, 2004
    Messages:
    489
    Location:
    Крыжёпполь
    :) этот код сводится вот к чему:
    Code (Text):
    1. InternetOpenUrl(hInet, "http://www.xchg.info/ARTeam/");
    :) то есть скрипт на http сервере.
     
  6. twgt

    twgt New Member

    Blog Posts:
    0
    Joined:
    Jan 15, 2007
    Messages:
    1,494
    s0larian
    Ну да. Никто не спорит :)
     
  7. slavanap

    slavanap Вячеслав

    Blog Posts:
    0
    Joined:
    Sep 10, 2008
    Messages:
    300
    Location:
    Смоленск, Россия
    http://cmyip.com/
     
  8. Anvil

    Anvil New Member

    Blog Posts:
    0
    Joined:
    Jul 8, 2008
    Messages:
    24
    Как определить ип тут рассказали. Но нету инфы как определить за NAT мы или нет. есть ли к нам конект.
    Возможно это как то сделать не проверяя себя из вне?
     
  9. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    Anvil
    http://www.stunserver.org/
     
  10. Anvil

    Anvil New Member

    Blog Posts:
    0
    Joined:
    Jul 8, 2008
    Messages:
    24
    А можно немного пояснить что это? и как им решить поставленную задачу?
     
  11. K10

    K10 New Member

    Blog Posts:
    0
    Joined:
    Oct 3, 2008
    Messages:
    1,590
    Anvil
    проверить локальный IP на вхождение в диапазоны, выделенные для внутрисетевого использования (типа 192.168.*.*)?
     
  12. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    А также 10.*

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

    Anvil New Member

    Blog Posts:
    0
    Joined:
    Jul 8, 2008
    Messages:
    24
    задача такая:
    Есть программа, она открывает порт и слушает его. конект из инета. Вот надо проверить можно ли присоединится к ней из инета (ип:порт) если нельзя то надо чтоб она сказала пользователь что мол соединение закрыто или что то в этом роде. И надо чтоб проверяла сама прога.
     
  14. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    Fryazino
    Anvil
    Если не хотите использовать. stun client. То можете сами его реализовать в своей программе. Протокол Stun описан в RFC и прост как 2 копейки. Тем более сам клиент с открытым исходным кодом.

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

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

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

    Pavia Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    Fryazino
    Проверим.
     
  16. Anvil

    Anvil New Member

    Blog Posts:
    0
    Joined:
    Jul 8, 2008
    Messages:
    24
    Pavia
    Хм. Спасибо за наводку, глянем.
     
  17. onSide

    onSide New Member

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

    Anvil New Member

    Blog Posts:
    0
    Joined:
    Jul 8, 2008
    Messages:
    24
    это скорей кастыль чем решение. Это всеравно что проверять наличие интернета пингом гугла...
    Интересен способ узнать все локальным образом.
     
  19. G13

    G13 New Member

    Blog Posts:
    0
    Joined:
    Mar 24, 2006
    Messages:
    499
    Эммм… Вышеозначенный stun тоже предполагает наличие внешнего сервера, причём гарантированно не находящегося за одним NAT'ом с клиентом.

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

    spa Active Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    2,240
    верим, знаем, помним