Kontrol af tilslutning af en VPN ved hjælp af C/C ++ på Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Er der en ret robust metode til at kontrollere forbindelsen til en VPN på et tidsbestemt grundlag (hvert N minut) ved hjælp af C/C ++ på Windows? I python pingede jeg blot en vært og læste svaret - selvom denne metode virker, foretrækker jeg at bruge noget, der er mindre af et hack.

Bedste reference


Forudsat at du taler om en Windows VPN-forbindelse (snarere end noget som OpenVPN), kan du opregne de nuværende Remote Access-forbindelser (RAS) ved hjælp af RasEnumConnections, og du kan få status for forbindelsen ved hjælp af RasGetConnectStatus. [2] [3]]]

Andre referencer 1


Mens du helt sikkert kunne skrive din egen tjeneste, der lastes automatisk og kan administreres via services.msc, vil jeg ikke anbefale at spilde tid på det.


For dette enkle formål behøver du kun en opgaveplanlægger (f.eks. Schtasks.exe) og et primitivt kontrolprogram.


Jeg har en implementeret til lignende formål i Perl, den kontrollerer internetforbindelse hvert minut med en liste over URL'er og forsøger at gemme oplysninger om modemstatus fra en anden liste over webadresser. Det logger også alt det gør


http://frigocoder.dyndns.org/svn/script/cable/[4]

Andre referencer 2


Som nævnt i et andet svar kan du ringe


    DWORD RasGetLinkStatistics(
  \_\_in     HRASCONN hRasConn,
  \_\_in     DWORD dwSubEntry,
  \_\_inout  RAS\_STATS *lpStatistics);


at få nok information



  • forbindelseshastighed

  • Antal data sendt/modtaget

  • tilsluttet tid



om din forbindelse. Læs mere om det på MSDN. [5]