Is OnLine?

Тема в разделе "WASM.WIN32", создана пользователем Zero Ice, 14 авг 2004.

  1. Zero Ice

    Zero Ice New Member

    Публикаций:
    0
    Регистрация:
    7 дек 2003
    Сообщения:
    61
    Как скрытно проверить подключен ли компьютер к интернету? (кроме connect к www.microsoft.com (это вызывает появление окошко "подключиться по модему") и InternetGetConnectedState (крайне не точно определяет состояние) :))
     
  2. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    Возможно проверить свой IP"шник, если не 127.0.0.1 то комп в сети....
     
  3. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    ...локальной
     
  4. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    infern0

    нет почему обязательно в локальной? Именно в сети! в интерете или в локальной. А если чел еще и в локальной сети сидит то проверить именно подключен ли к интернету можно, наверно, сравнением IP'шника с его адресом в локальной сети..
     
  5. reanimator

    reanimator New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    9
    Адрес:
    Moscow
    А если клиент сидит за проксёй и у него нет реальног IPшника ? :)
     
  6. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    а если ping сделать на тот же Microsoft?



    только что проверил - пинг на майкрософт не идет, а вот c google все ok
     
  7. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    Ну с проксей , каторая нахдится в локальной сети? Ну низнаю, это наверно большая локальная сеть должна быть...

    Ну что там в локальной сети 100 проксей штоли? Их в любом случае немного, паэтому можно сравнить с адресом каждой... Или я не понял, нужна универсальная проверка? Но пинг на Микрософт действительно эффективней будет...
     
  8. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    Это.. Я может быть сейчас глупость скажу, но вроде бы все адреса в локальной сети начинаются с 192. ? Может глупость канечно-же, но если это всетаки так то можно проста сравнивать адрес сначала с 127.0.0.1, а патом первые три цифры адреса с 192! вот так можно все проверить...
     
  9. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    MuZiKaNT

    в локальной сети начинаются с 192

    Глупость. В локальной сети делай что хочешь, на то она и локальная сеть.
     
  10. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    q_q прав, но и музыкант не далёк от истины, такие айпишники в локалке выставляются ленивыми админами, есть там какой-то диапазон в винде из которого можно выбирать айпишники. нужно посмотреть в документации.
     
  11. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    sl0n

    Зарезервированными для локальной сети считаются адреса

    192.168.x.y - с маской 255.255.255.0

    10.x.y.z - с маской 255.255.0.0

    169.254.x.y - 255.255.0.0 (APIPA)



    Но ничто не запрещает использовать АБСОЛЮТНО любые адреса в локальной сети (во избежание конфликтов желательно всеж чтоб они не пересекались с зарезервировынми адресами типа 127.0.0.1, 224.0.0.1 и т.п.)
     
  12. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    Да, я это тоже выяснил, точнее это знал так как сам сижу в локалке, но чота забыл, действительно айпи можно поставить практическаи любой
     
  13. RideX

    RideX New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2004
    Сообщения:
    6
    Чтобы окно вызова не появлялось, нужно действительно сначала проверить InternetGetConnectedState и только после этого доступность сервера, например, через GetHostByName.
     
  14. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    ping не проканает на многих проксях. то же самое будет и с connect если прокси требует авторизации. GetHostByName не гарантирует что интернет есть, т.к. хост может локально отресолвится.
     
  15. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    Ну правильно, Нужный акцент - ЛЕНИВЫЕ АДМИНЫ
     
  16. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia


    правильнее будет так:

    There are also special addresses that are reserved for 'unconnected' networks - that is networks that use IP but are not connected to the Internet, These addresses are:-



    One A Class Network

    10.0.0.0 / mask 255.0.0.0

    16 B Class Networks

    172.16.0.0 - 172.31.0.0 / mask 255.255.0.0

    256 C Class Networks 192.168.0.0 - 192.168.255.0 / mask 255.255.255.0
     
  17. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    sl0n

    При чем тут ленивые админы? Стоят у меня дома два компьютера. Выхода в мир не держу. Соединил их по TCP/IP. Могу использовать любые IP-адреса.
     
  18. reanimator

    reanimator New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    9
    Адрес:
    Moscow
    А типа вопрос был как определить машина в инете или нет :)А тебе для чего это надо ? Посмотри как это делает icqnetdetect или детектор от сумантека и иже с ними :) Или тебе это надо делать скрытно ?
     
  19. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    * оединил их по TCP/IP. Могу использовать любые IP-адреса. *

    Можешь. Но согласно стандарта должен использовать из вышеприведенного диапазона.
     
  20. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
    Можно так:
    Код (Text):
    1.  
    2.             ....
    3.             ....
    4.           ; Проверяем, имеется или удаленное соединение
    5.           @call [IsNetworkAlive],n_a_state
    6.           or eax,eax
    7.           jz @done
    8.             ....
    9.             ....
    10.  section '.data' data readable writeable
    11. ;
    12.  n_a_state    dd 2
    13.