Request timed out ошибка icmp 11010

Hello,

supposing you are referring to a Ping-Sensor, this means that the Ping sensor was not able to reach the specified target. This can have several reasons (bad connection, flood-protection, routing problems, etc.). You could try to increase the «Ping Count» in the Settings-Tab of the sensor, this helps with packet loss (the sensor will not go into an error-state if 2 of 10 ping packets per scan are lost). Another option is to use a higher timeout, this would help with a slow connection.

Best Regards.

Silver Soft
есть такое понятие как маршрут по умолчанию. Или маршрутизация вообще. Что это такое, не буду на этом останавливаться, везде вдоль и впоперек в интернете расписано что это за механизм и как оно работает. По сути — маршрутизатор это как раз и есть то устройство, которое выполняет перенаправление трафика. Такой механизм также есть в винде, встроенный, он предусматривает направление того или иного трафика на определенный сетевой адаптер в частности.

Как узнать, есть ли интернет на сетевом подключении? ведь даже если шлюз будет пинговаться, это еще совсем не факт, что у него установлено сетевое соединение и интернет на нем работает — например, кончились бабки или в кабельный шкаф провайдера попала молния образно говоря. Шлюз при этом будет пинговаться, но инета при этом не будет!
Тогда всю эту затею с попингуйством шлюзов можно выбросить коту под хвост!

Правильно было бы сделать следующим образом.
А. Строим таблицу. Она должна состоять из следующих полей:
1) Наименование сетевого подключения
2) Айпи адрес
3) Маска подсети
4) Шлюз по умолчанию.
5) ДНС сервер
6) ИДЕНТИФИКАТОР_СЕТЕВОГО_АДАПТЕРА
7) …. .

ну какбы стандартные настройки для сетевого подключения.
Как это сделать? Элементарно, вот там есть пример
http://msdn.microsoft.com/en-us/library/aa365917(v=vs.85).aspx

Б. Выбираем айпи адрес, который 200% есть в интернете. Это какой-нибудь может быть собственный сервак, или еще какая-нибудь ерундовина типа
http://whatismyip.org/
Получаем адрес — ну скажем, разрешаем имена при помощи gethostbyname
Вот у нас есть ip, куда надо слать траф

теперь нам надо выполнить команду которая направит трафик на заданный нами ресурс (ip) через определенный сетевой адаптер

route add ip mask 255.255.255.255 if ИДЕНТИФИКАТОР_СЕТЕВОГО_АДАПТЕРА
на сиплюсплюсе

ExpandedWrap disabled

        logprintf(«Adapter index : %dn», iAdapterIndex);

        char acCmdLine[1024];

        STARTUPINFO cif;

        PROCESS_INFORMATION pi;

        char acRoute[512];

        memset( acRoute, 0x00, sizeof(acRoute) );

        // Getting windows directory

        GetWindowsDirectory( acRoute, sizeof (acRoute) );

        strcat( acRoute, «system32route.exe» );

        logprintf(«executable: %sn», acRoute );

        ZeroMemory(&cif, sizeof(cif));

        cif.cb = sizeof(cif);

        ZeroMemory(&pi, sizeof(pi));

        cif.dwFlags |= STARTF_USESHOWWINDOW;

        cif.wShowWindow = SW_HIDE;

        memset(acCmdLine,0x00,sizeof(acCmdLine));

        sprintf( acCmdLine, » add %s mask %s %s if %d», Secret.RouteAddr, Secret.RouteMask, Secret.LocalAddr, iAdapterIndex  );

        logprintf(«cmdline: %sn», acCmdLine);

        if ( CreateProcess( acRoute, acCmdLine,NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE ) {

    //      //  printf(«waiting…n»);

                WaitForSingleObject( pi.hProcess, INFINITE );

    //      printf(«end»);

            }

В. Коннектимся на указанный айпишник. Трафик должен побежать через указанный адаптер. Мы можем законнектиться по тисипи, на 80й порт, скажем, или же погнать пинг — как душа пожелает.
Если коннект произошел успешно, или там приходит эхо — интернет есть.
Если нет — так извинте, интернет кончился.

Г. С точностью до наоборот удаляем за собой маршрут.

Д. Затею повторяем для каждого из адаптеров. Результаты коннекта помещаем в таблицу

Е. Имеем таблицу для всех адаптеров, где есть интернет а где нету интернета.

Собственно все. Направить весь сетевой поток можно при помощи того же самого route add 0.0.0.0 mask 0.0.0.0 ….. блаблабла — весь сетевой траф побежит через указанный адаптер.
Да, программа должна запускаться от имени администратора под семерками и вистами


nemez



Сообщ.
#16

,
15.07.11, 10:33

    Senior Member

    ****

    Рейтинг (т): 17

    Silver Soft
    есть такое понятие как маршрут по умолчанию. Или маршрутизация вообще. Что это такое, не буду на этом останавливаться, везде вдоль и впоперек в интернете расписано что это за механизм и как оно работает. По сути — маршрутизатор это как раз и есть то устройство, которое выполняет перенаправление трафика. Такой механизм также есть в винде, встроенный, он предусматривает направление того или иного трафика на определенный сетевой адаптер в частности.

    Как узнать, есть ли интернет на сетевом подключении? ведь даже если шлюз будет пинговаться, это еще совсем не факт, что у него установлено сетевое соединение и интернет на нем работает — например, кончились бабки или в кабельный шкаф провайдера попала молния образно говоря. Шлюз при этом будет пинговаться, но инета при этом не будет!
    Тогда всю эту затею с попингуйством шлюзов можно выбросить коту под хвост!

    Правильно было бы сделать следующим образом.
    А. Строим таблицу. Она должна состоять из следующих полей:
    1) Наименование сетевого подключения
    2) Айпи адрес
    3) Маска подсети
    4) Шлюз по умолчанию.
    5) ДНС сервер
    6) ИДЕНТИФИКАТОР_СЕТЕВОГО_АДАПТЕРА
    7) …. .

    ну какбы стандартные настройки для сетевого подключения.
    Как это сделать? Элементарно, вот там есть пример
    http://msdn.microsoft.com/en-us/library/aa365917(v=vs.85).aspx

    Б. Выбираем айпи адрес, который 200% есть в интернете. Это какой-нибудь может быть собственный сервак, или еще какая-нибудь ерундовина типа
    http://whatismyip.org/
    Получаем адрес — ну скажем, разрешаем имена при помощи gethostbyname
    Вот у нас есть ip, куда надо слать траф

    теперь нам надо выполнить команду которая направит трафик на заданный нами ресурс (ip) через определенный сетевой адаптер

    route add ip mask 255.255.255.255 if ИДЕНТИФИКАТОР_СЕТЕВОГО_АДАПТЕРА
    на сиплюсплюсе

    ExpandedWrap disabled

          logprintf(«Adapter index : %dn», iAdapterIndex);

          char acCmdLine[1024];

          STARTUPINFO cif;

          PROCESS_INFORMATION pi;

          char acRoute[512];

          memset( acRoute, 0x00, sizeof(acRoute) );

          // Getting windows directory

          GetWindowsDirectory( acRoute, sizeof (acRoute) );

          strcat( acRoute, «\system32\route.exe» );

          logprintf(«executable: %sn», acRoute );

          ZeroMemory(&cif, sizeof(cif));

          cif.cb = sizeof(cif);

          ZeroMemory(&pi, sizeof(pi));

          cif.dwFlags |= STARTF_USESHOWWINDOW;

          cif.wShowWindow = SW_HIDE;

          memset(acCmdLine,0x00,sizeof(acCmdLine));

          sprintf( acCmdLine, » add %s mask %s %s if %d», Secret.RouteAddr, Secret.RouteMask, Secret.LocalAddr, iAdapterIndex  );

          logprintf(«cmdline: %sn», acCmdLine);

          if ( CreateProcess( acRoute, acCmdLine,NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE ) {

      //      //  printf(«waiting…n»);

                  WaitForSingleObject( pi.hProcess, INFINITE );

      //      printf(«end»);

              }

    В. Коннектимся на указанный айпишник. Трафик должен побежать через указанный адаптер. Мы можем законнектиться по тисипи, на 80й порт, скажем, или же погнать пинг — как душа пожелает.
    Если коннект произошел успешно, или там приходит эхо — интернет есть.
    Если нет — так извинте, интернет кончился.

    Г. С точностью до наоборот удаляем за собой маршрут.

    Д. Затею повторяем для каждого из адаптеров. Результаты коннекта помещаем в таблицу

    Е. Имеем таблицу для всех адаптеров, где есть интернет а где нету интернета.

    Собственно все. Направить весь сетевой поток можно при помощи того же самого route add 0.0.0.0 mask 0.0.0.0 ….. блаблабла — весь сетевой траф побежит через указанный адаптер.
    Да, программа должна запускаться от имени администратора под семерками и вистами


    Go to prtg


    Help my ping sensor don’t work sometimes.

    Hi everyone.

    I’m still new to PRTG but I have hit a small problem.

    My ISP at home is not taking my outage and latency problems seriously so I wanted to set up PRTG to monitor my connection.

    before I used WinMTR but that doesn’t give me a time and date for the problems, which will only make it harder to make my ISP look for the problem, so my plan is to switch to PRTG.

    My plan was to have a ping sensor for the first few steps of the network path from my server, out to 8.8.8.8 the first 5 steps are always the same so they should be easy to monitor.

    however, I get a «Request timed out (ICMP error # 11010)» error on some of it’s what is confusing me is that WinMTR can ping the addresses fine, but PRTG and cmd somehow can’t. is there some setting I’m missing to make it work? or how can I make this log of when and where the problem might be.

    Now fair should be fair. My IPS are very helpful, but it’s not them who own the cables in the ground and the IPS that do are hard to play ball with, my guess is that if they deliver subpar support for the IPS that then cant help me, I more inclined to pay more for my internet to have it at the IPS that owns the cables, the only thins is I have been there and the support is not worth the 50% more it costs for the same speed.

    Anyway back to the problem, am I approach it completely wrong with the ping sensors? are they a better way to try and monitor a connection over equipment I don’t have access to?

    Bonus Question the image is from a ping sensor that does work but seems a bit odd to me how it goes up and up in ms and drops off to normal, to repeat this pattern. any thoughts?

    • Remove From My Forums
    • Question

    • Static IP assigned. I can ping «google.com». so, the network is ok, the DNS is ok. But I can’t ping another PC. I got the message:

      ping: transmit failed, error code 11010.

      I used Microsoft Network Monitor to monitor the network trafic:

      31	14:36:37 2013/1/22	7.6310813		192.168.0.171	192.168.0.170	ICMP	ICMP:Echo Request Message, From 192.168.0.171 To 192.168.0.170	{IPv4:9}
      34	14:36:37 2013/1/22	7.6316752		192.168.0.170	192.168.0.171	ICMP	ICMP:Echo Reply Message, From 192.168.0.170 To 192.168.0.171	{IPv4:9}
      52	14:36:39 2013/1/22	8.9771624		192.168.0.171	192.168.0.170	ICMP	ICMP:Echo Request Message, From 192.168.0.171 To 192.168.0.170	{IPv4:9}
      53	14:36:39 2013/1/22	8.9773987		192.168.0.170	192.168.0.171	ICMP	ICMP:Echo Reply Message, From 192.168.0.170 To 192.168.0.171	{IPv4:9}
      

      192.168.0.170 is the PC. 192.168.0.171 is CE 5.0 device.

    Answers

    • OK. Can you try putting a switch in between the two systems??

      I mean:  System 1 <-> Ethernet Switch <-> System 2.

      • Marked as answer by

        Wednesday, January 23, 2013 2:01 AM

    It turns out that the error code 11010 is actually not WSA_QOS_ADMISSION_FAILURE from WinSock (which is not involved here), but a completely different value from the IP stack’s ICMP_ECHO_REPLY structure with much more meaningful meaning:

    IP_REQ_TIMED_OUT   (11010)   The request timed out

    You are supposed to call GetIpErrorString() first and only «if the function fails, use FormatMessage to obtain the message string for the returned error«.


    Unfortunately, that does not help with that other value, 998.

    One clue might be the page «Mapping NT Status Error Codes to Win32 Error Codes», which says that the NT status conditions which map (or mapped when it was last updated, in 2005) to the Win32 code 998 (ERROR_NOACCESS) are more broad:

    STATUS_DATATYPE_MISALIGNMENT            ERROR_NOACCESS
    STATUS_ACCESS_VIOLATION                 ERROR_NOACCESS
    STATUS_DATATYPE_MISALIGNMENT_ERROR      ERROR_NOACCESS
    

    It seems likely that whenever something fails during the IOCTL call (which sends the ICMP echo request to the kernel to be really handled), the underlying exception is swallowed if possible and only this generic Win32 code is sent back.

    Therefore it might be that you are really passing some not entirely correct data to the function (like unaligned buffer on the stack, that might explain why it happens sporadically), or even hint at some bug inside the ICMP stack. I’m afraid that only some hardcore kernel debugging could reveal the real cause.


    1. asmic

      asmic

      New Member

      Публикаций:

      0

      Регистрация:
      19 фев 2007
      Сообщения:
      85

      Подскажите пожалуйста. С помомощью какой функции можно узнать подключён ли интернет ( т.е. надо узнать состояние интернет соединения — подключено или нет ). И если не трудно опишите её и напишите пожалуйста наглядный пример. Заранее спасибо.


    2. MCNet

      MCNet

      New Member

      Публикаций:

      0

      Регистрация:
      23 ноя 2006
      Сообщения:
      74

      Ну, например ping.exe можно заюзать вместо функции


    3. calidus

      calidus

      Member

      Публикаций:

      0

      Регистрация:
      27 дек 2005
      Сообщения:
      618

      internetCheckConnection

      site bd «www.ya.ru»,0

      push 0
      push 1 ; тут полюбому оставь единицу ….так как при 0 не всегда работает ..это
      ;показатель какой сервер для проверки используется
      push offset site
      call internetCheckConnection
      cmp eax, 1


    4. rain

      rain

      New Member

      Публикаций:

      0

      Регистрация:
      22 апр 2006
      Сообщения:
      976

      InternetGetConnectedState


    5. WIN32

      WIN32

      Member

      Публикаций:

      0

      Регистрация:
      20 янв 2007
      Сообщения:
      338


    6. MCNet

      MCNet

      New Member

      Публикаций:

      0

      Регистрация:
      23 ноя 2006
      Сообщения:
      74

      WIN32
      [offtop]
      Ну я поздно понял что требовалось 8-)
      [/offtop]


    7. paralvic

      paralvic

      Пархоменко Александр Викторович

      ???

      1. InternetGetConnectedState = 0 ;( нет интернета )
      2. InternetCheckConnection = 0    ;( нет интернета )
      3. IP-address = 192.168.1.1         ;( нет интернета )

      Но я ведь с этого компа пишу этот пост!

      Когда так бывает? ;)))


    8. Flint_ta

      Flint_ta

      New Member

      Публикаций:

      0

      Регистрация:
      25 май 2008
      Сообщения:
      312

      частенько так бывает.

      Я так проверяю:

      1. internet proc ; проверка соединения с интернет

    9. newbie

      newbie

      New Member

      Публикаций:

      0

      Регистрация:
      2 дек 2008
      Сообщения:
      1.246

      Когда долго не отпускает :)))


    10. wasm_test

      wasm_test

      wasm test user

      Публикаций:

      0

      Регистрация:
      24 ноя 2006
      Сообщения:
      5.582

      Какой частый вопрос) Нарыл старые кодесы, глянул:

      1. Если интересует именно статус соединений RAS (remote access service — виндовый сервис, управляющий подключениями PPTP (VPN), PPPoE и др, часто используемыми для соединения с интернетом), то смотреть в сторону RasEnumConnections: http://msdn.microsoft.com/en-us/library/aa377284(v=vs.85).aspx
      Там же есть и example, выводящий список подключенных соединений.
      Header: ras.h
      Library: rasapi32.lib
      Depends: rasapi32.dll

      2. Так же стоит посмотреть и на InternetGetConnectedState

      1. InternetGetConnectedState(
      2.     __reserved DWORD    dwReserved);

      Нужные флажки — ((dwFlags & INTERNET_CONNECTION_CONFIGURED) && (dwFlags & (INTERNET_CONNECTION_LAN|INTERNET_CONNECTION_MODEM)) && !(dwFlags & INTERNET_CONNECTION_OFFLINE))
      Но она работает только в одну сторону — отрицательный результат говорит о том, что инета нет, но положительный не обязательно означает наличие активного подклчения.
      Header: wininet.h
      Library: wininet.lib
      Depends: wininet.dll

      3. Грязный хак — попробвать подключиться (например, InternetOpen + InternetOpenUrl)
      4. Весьма надежно, но все равно «нелегально» — попробовать резолвнуть какое-нибудь доменное имя, например, www.ru
      5. Послать ICMP Echo Request (ping) к серверу с известным IP адресом, например, корневому DNS серверу (Например, DNS Root ‘A’: 198.41.0.4)
      API: IcmpCreateFile + IcmpSendEcho + IcmpParseReply
      Header: icmpapi.h
      Library: iphlpapi.lib
      Depends: iphlpapi.dll / icmp.dll

      Все вместе:

      1. #pragma comment (lib, «wininet»)
      2. #pragma comment (lib, «rasapi32»)
      3. #pragma comment (lib, «url»)
      4. #pragma comment (lib, «Iphlpapi»)
      5. #pragma comment (lib, «ws2_32»)
      6.     DWORD dwCb = sizeof(RASCONN);
      7.     DWORD dwErr = ERROR_SUCCESS;
      8.     RASCONN* lpRasConn = NULL;
      9.     // Loop through in case the information from RAS changes between calls.
      10.         // If the memory is allocated, free it.
      11.             HeapFree(GetProcessHeap(), 0, lpRasConn);
      12.         // Allocate the size needed for the RAS structure.
      13.         lpRasConn = (LPRASCONN) HeapAlloc(GetProcessHeap(), 0, dwCb);
      14.             dwErr = ERROR_NOT_ENOUGH_MEMORY;
      15.         // Set the structure size for version checking purposes.
      16.         lpRasConn->dwSize = sizeof(RASCONN);
      17.         // Call the RAS API then exit the loop if we are successful or an unknown
      18.         dwErr = RasEnumConnections(
      19.         if (ERROR_INSUFFICIENT_BUFFER != dwErr)
      20.     // In the success case, print the names of the connections.
      21.     if (ERROR_SUCCESS == dwErr)
      22.         printf(«tActive RAS connections:n»);
      23.         for (i = 0; i < dwConnections; i++)
      24.             printf(«t * [%ws]n», lpRasConn[i].szEntryName);
      25.         printf(«tRAS: RasEnumConnections failed: Error = %dn», dwErr);
      26.     // Free the memory if necessary.
      27.         HeapFree(GetProcessHeap(), 0, lpRasConn);
      28.     return (dwConnections > 0);
      29. void icmp_err (DWORD Status)
      30.     case IP_SUCCESS: printf(«t  : Successfuln»); break;
      31.     case IP_DEST_NET_UNREACHABLE: printf(«t  : Destination net unreachablen»); break;
      32.     case IP_DEST_HOST_UNREACHABLE: printf(«t  : Destination host unreachablen»); break;
      33.     case IP_REQ_TIMED_OUT: printf(«t  : Request timed outn»); break;
      34.     case IP_BAD_DESTINATION: printf(«t  : Bad destinationn»); break;
      35.     case IP_BAD_ROUTE: printf(«t  : Bad routen»); break;
      36.     default: printf(«t  : failure (0x%x)n», Status);
      37. // send ICMP Echo Request to the specified host
      38. bool IcmpTestEcho (const char *host, bool *pbStatus)
      39.     char IcmpData[] = «abcdefghijklmnopqrstuvwxyz»;
      40.     char ReplyBuffer[512] = {0};
      41.     DWORD ReplySize = sizeof(ReplyBuffer);
      42.     DWORD IcmpTimeout = 1000; // ICMP echo timeout : 3000 ms
      43.     if ((hIcmpFile = IcmpCreateFile()) != INVALID_HANDLE_VALUE)
      44.         if (getaddrinfo (host, 0, 0, &addrinfo) != -1)
      45.             DWORD dwRetVal = IcmpSendEcho (hIcmpFile,
      46.                 ((PSOCKADDR_IN)addrinfo->ai_addr)->sin_addr.s_addr,
      47.                 IcmpData, strlen(IcmpData),
      48.                 PICMP_ECHO_REPLY EchoReply = (PICMP_ECHO_REPLY) ReplyBuffer;
      49.                 struct in_addr ReplyAddr;
      50.                 ReplyAddr.S_un.S_addr = EchoReply->Address;
      51.                 printf(«tSent icmp message to %sn», host);
      52.                     printf(«tReceived %ld icmp message responsesn», dwRetVal);
      53.                     printf(«tInformation from the first response:n»);
      54.                     printf(«tReceived %ld icmp message responsen», dwRetVal);
      55.                     printf(«tInformation from this response:n»);
      56.                 printf(«t  Received from %sn», inet_ntoa( ReplyAddr ) );
      57.                 printf(«t  Status = %ldn»,
      58.                 icmp_err(EchoReply->Status);
      59.                 printf(«t  Roundtrip time = %ld millisecondsn»,
      60.                     EchoReply->RoundTripTime);
      61.                 *pbStatus = (success = true);
      62.                 printf(«tCall to IcmpSendEcho failed.n»);
      63.                 printf(«tIcmpSendEcho returned error: %ldn», GetLastError() );
      64.                 icmp_err (GetLastError());
      65.         IcmpCloseHandle (hIcmpFile);
      66.         printf(«IcmpCreateFile failedn»);
      67. // test inet connection by issuing domain name resolving query (DNS request)
      68. // (for domain name ‘www.ru’)
      69. bool InetTestConnect_Dns()
      70.     const char szDomainName[] = «www.ru»;
      71.     getaddrinfo (szDomainName, 0, 0, &addr);
      72.     printf(«tDNS resolving ‘%s’ … = %sn»,
      73.         addr ? inet_ntoa (((PSOCKADDR_IN)addr->ai_addr)->sin_addr) : «(no addr)»
      74. enum ICMP_FAILURE_STATUS {
      75. static const char* szIcmpFailureStatus[] = {
      76. // test inet connection by sending icmp echo request to the DNS Root Server A
      77. ICMP_FAILURE_STATUS InetTestConnect_Icmp()
      78.     const char szDnsRootA[] = «198.41.0.4»;
      79.     if (!IcmpTestEcho (szDnsRootA, &bIcmp))
      80.     return bIcmp ? ICMP_SUCCESS : ICMP_TIMEOUT;
      81. // try open WinInet connection
      82. bool InetTestConnect_WinInet()
      83.     const WCHAR wszServerName[] = L»google.com»;
      84.     int nServerPort = INTERNET_DEFAULT_HTTP_PORT;
      85.     HINTERNET hInternet = InternetOpen (
      86.         INTERNET_OPEN_TYPE_PRECONFIG,
      87.         printf(«tInternetOpen : internet handle openedn»);
      88.         DWORD dwConnectTimeout = 2000;
      89.         if (!InternetSetOption (hInternet, INTERNET_OPTION_CONNECT_TIMEOUT, &dwConnectTimeout, sizeof(dwConnectTimeout)))
      90.             return printf(«tInternetSetOption : failedn»), false;
      91.         HINTERNET hFile = InternetOpenUrl (hInternet,
      92.             printf(«tInternetOpenUrl : connectedn»);
      93.             DWORD dwBytesAvailable = -1;
      94.             if (!InternetQueryDataAvailable (hFile, &dwBytesAvailable, 0, 0))
      95.             printf(«tBytes available : %dn», dwBytesAvailable);
      96.             InternetCloseHandle (hFile);
      97.             printf(«tInternetOpenUrl : connect FAILEDn»);
      98.         InternetCloseHandle (hInternet);
      99.         printf(«tInternetOpen : opening internet handle FAILEDn»);
      100.     printf(«RAS connection status : %snn»,
      101.         IsRasConnected() ? «connected (OK)» : «disconnected (ERROR)»
      102.     printf(«test inet connection [DNS] : %snn»,
      103.         InetTestConnect_Dns() ? «true (OK)» : «false (ERROR)»
      104.     printf(«test inet connection [ICMP] : %snn»,
      105.         szIcmpFailureStatus[InetTestConnect_Icmp()]
      106.     if (!InternetGetConnectedState (&dwFlags, 0))
      107.         return printf(«InternetGetConnectedState failed (last err 0x%x)n», GetLastError());
      108.     printf(«InternetGetConnectedState : flags = 0x%08x;», dwFlags);
      109.     if (dwFlags & INTERNET_CONNECTION_CONFIGURED) printf(» Configured»);
      110.     if (dwFlags & INTERNET_RAS_INSTALLED) printf(» RAS-Installed»);
      111.     if (dwFlags & INTERNET_CONNECTION_OFFLINE) printf(» Offline»);
      112.     if (dwFlags & INTERNET_CONNECTION_LAN) printf(» LAN»);
      113.     if (dwFlags & INTERNET_CONNECTION_MODEM) printf(» Modem»);
      114.     printf(«test inet connection [WinInet] : %snn»,
      115.         InetTestConnect_WinInet() ? «true (OK)» : «false (ERROR)»

      Вывод при подкллюченном инете:

      При отключенном инете

      PS. Да, я видел дату топика ^)


    11. paralvic

      paralvic

      Пархоменко Александр Викторович

      Спасибо, Great. remote access service вещь хорошая.
      В моем клиническом случае ( интернет раздается через беспроводной роутер )
      msdn example вывел диагноз:
      There are no active RAS connections.

      Надежность, ты сказал, DNS (берется из кэша) как у гадания по кофейной гуще.

      Спасибо за ICMP Echo Request (ping)
      Я в этом слабо разбираюсь, нашел пример Quantum-а
      http://www.wasm.ru/forum/viewtopic.php?id=14447

      И против лома нет приема: InternetOpen :) Он в INTERNET.zip


    12. paralvic

      paralvic

      Пархоменко Александр Викторович

      Есть один жирненький минус.
      Есть ли у программы право доступа в интернет?

      1. ; Думаю по-умолчанию у этой программы проблем с доступом не будет.
      2. invoke WinExec, CSTR(«C:Program FilesInternet Exploreriexplore.exe http://google.com»), 1
      3. ; Дальше устраивать пытки эксплореру.

    13. wasm_test

      wasm_test

      wasm test user

      Публикаций:

      0

      Регистрация:
      24 ноя 2006
      Сообщения:
      5.582

      Если у программы нет прав доступа в сеть, на кой черт ей знать, есть ли коннект? )


    14. sn0w

      sn0w

      Active Member

      Публикаций:

      0

      Регистрация:
      27 фев 2010
      Сообщения:
      941

      для ипв4 есть правила адресации, но тут зависит уже от подключения. за натом такой код ясное дело бесполезен.

      1. bool TMain::IsWANAddress(UnicodeString &addr)
      2.     //10.0.0.0 — 10.255.255.255   a
      3.     //172.16.0.0 — 172.31.255.255  b
      4.     //192.168.0.0 — 192.168.255.255  c
      5.     //169.254.0.0 -169.254.255.255 dhcp noreply
      6.     if( !wcsncmp(addr.c_str(), L»192″, 3) ||
      7.             !wcsncmp(addr.c_str(), L»127″, 3) ||
      8.                 !wcsncmp(addr.c_str(), L»10.», 3) ||
      9.                     !wcsncmp(addr.c_str(), L»172″, 3) ||
      10.                         !wcsncmp(addr.c_str(), L»169″, 3))

      ну необязательно в кеше.. например так

      1.     status = DnsQuery_W(UnicodeString(thisip).t_str(),

      на днях просто кодил одну тему на радстудио, поэтому не удивляйтесь всяким UnicodeString etc )


    WASM

    Возможно, вам также будет интересно:

  • Resident evil 7 biohazard re7 exe неустранимая ошибка приложения
  • Request failed with status code 500 росреестр ошибка
  • Resident evil 6 произошла ошибка при распаковке
  • Reptilicus ошибка при разборе ответа
  • Resident evil 6 ошибка связи

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии