[VB] Met pingen computer status checken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • somers1234
  • Registratie: September 2008
  • Laatst online: 21:35
Hallo allemaal,

Voor een WOL applicatie wil ik de status van een computer checken. Ik wil graag weten of de computer uit staat, of de computer aan het opstarten is of dat de computer al opgestart is.

Intern kan ik aan deze informatie komen door te pingen.

Computer is opgestart: Ik krijg een gewoon antwoord terug
Computer is aan het opstarten: Ik krijg een antwoord terug met de melding dat de computer momenteel niet bereikbaar is.
Computer staat uit: Timeout

Nu wil ik graag weten of dit ook over het internet gaat werken. Kan ik tijdens het pingen een poort opgeven en krijg ik dan ook hetzelfde antwoord terug als wanneer ik het over het interne netwerk probeer?

Zoniet, is er een andere mogelijkheid om te kijken of een computer uit staat, aan het opstarten is of al opgestart is.

Alvast bedankt.

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

Op internet zitten veel PC's achter een NAT/firewall. Elke firewall zal zich anders kunnen gedragen. Maar als je "pingt (ik neem aan dat je een connect op een poort bedoeld, niet een icmp ping) en de bepaalde poort is geforward kun je in 90% van de gevallen het zelfde gedrag als lokaal terug zien.

ICMP pings gedragen zich wat minder voorspelbaar door routers heen. UDP pings doen routers wat minder voorspelbare dingen mee. (Let op dat je niet teveel pingover internet daarmee activeer je weer anti-flood firewalls)

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
somers1234 schreef op zondag 24 januari 2010 @ 17:35:
Hallo allemaal,

Voor een WOL applicatie wil ik de status van een computer checken. Ik wil graag weten of de computer uit staat, of de computer aan het opstarten is of dat de computer al opgestart is.

Intern kan ik aan deze informatie komen door te pingen.

Computer is opgestart: Ik krijg een gewoon antwoord terug
Computer is aan het opstarten: Ik krijg een antwoord terug met de melding dat de computer momenteel niet bereikbaar is.
Computer staat uit: Timeout

Nu wil ik graag weten of dit ook over het internet gaat werken. Kan ik tijdens het pingen een poort opgeven en krijg ik dan ook hetzelfde antwoord terug als wanneer ik het over het interne netwerk probeer?

Zoniet, is er een andere mogelijkheid om te kijken of een computer uit staat, aan het opstarten is of al opgestart is.

Alvast bedankt.
Zodra de computer achter een router of modem zit gaat dit niet werken. De meeste routers blokkeren pings van buiten af. Bij sommige modems kun je dit gedrag met een vinkje wel uit zetten, maar als het gaat om clients waar je niet langs kunt gaan voor wat instellingen dan is dit niet betrouwbaar.

Ik heb zelf een programma gemaakt wat WOL functionaliteit gebruikt om computers aan te zetten en wat via een programma op de clients info terug krijgt over de status. Je kan het hier downloaden: (inclusief sourcecode (C#)) http://roy-t.nl/index.php...putermanagement-software/ mocht je er wat aan hebben hebben. Er zijn vast nog veel meer van dit soort programma's (met source code) beschikbaar.

ondanks de comments in de sourcecode is er nog wel veel te verbeteren, maar wie weet heb je er wat aan


Edit: WOL over internet is ook een probleem natuurlijk.

[ Voor 18% gewijzigd door roy-t op 24-01-2010 18:27 ]

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 00:16

Matis

Rubber Rocket

Dat gaat alleen werken vanuit een VLAN of VPN verbinding.

Zoals hierboven al gezegd wordt, gaat dat (gelukkig) niet werken.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • somers1234
  • Registratie: September 2008
  • Laatst online: 21:35
WOL over het internet heb ik hier al perfect werken. Ik ben nu al zover dat er een magic packet verzonden wordt als er op een knop gedrukt wordt en hierna wordt er een bepaalde tijd (tijd is instelbaar) gewacht. Als de ingestelde tijd verstreken is dan start remote desktop automatisch op. Dit werkt zowel via LAN als via het internet.

Nu wil ik dit script uitbreiden dat hij eerst kijkt of de computer al draait. Als dit niet het geval is dan start de normale procedure. Als de computer al wel opgestart is dan start remote desktop gelijk en dan wordt er niet gewacht.

Is er misschien een andere mogelijkheid om te kijken of een computer al draait? Ik zou natuurlijk wel een programmatje kunnen draaien aan de andere kant maar dit programma start volgensmij pas op als je een gebruiker aanmeld. Of is het ook mogelijk om het programma al te starten terwijl de computer nog in het loginmenu staat?

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

somers1234 schreef op zondag 24 januari 2010 @ 18:37:
Of is het ook mogelijk om het programma al te starten terwijl de computer nog in het loginmenu staat?
Dan moet dat programma een service worden. je kunt een bestaande exe wrappen met http://www.iopus.com/guides/srvany.htm een service wrapper, of je programma aanpassen dat het als een native service (KAN) draaien:

http://www.developerfusio...ndows-service-in-vbnet/2/

PS, let op met die wrappers, want schermtoegang zoals dat bij XP ging werkt wellicht niet meer bij vista/windows 7

[ Voor 10% gewijzigd door leuk_he op 24-01-2010 20:07 ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
somers1234 schreef op zondag 24 januari 2010 @ 18:37:
WOL over het internet heb ik hier al perfect werken. Ik ben nu al zover dat er een magic packet verzonden wordt als er op een knop gedrukt wordt en hierna wordt er een bepaalde tijd (tijd is instelbaar) gewacht. Als de ingestelde tijd verstreken is dan start remote desktop automatisch op. Dit werkt zowel via LAN als via het internet.

Nu wil ik dit script uitbreiden dat hij eerst kijkt of de computer al draait. Als dit niet het geval is dan start de normale procedure. Als de computer al wel opgestart is dan start remote desktop gelijk en dan wordt er niet gewacht.

Is er misschien een andere mogelijkheid om te kijken of een computer al draait? Ik zou natuurlijk wel een programmatje kunnen draaien aan de andere kant maar dit programma start volgensmij pas op als je een gebruiker aanmeld. Of is het ook mogelijk om het programma al te starten terwijl de computer nog in het loginmenu staat?
De WOL procedure geeft ongeveer net zo snel een timeout als 4 ping packets, kun je die timeout niet afvangen en dan alsnog een packetje sturen?

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • somers1234
  • Registratie: September 2008
  • Laatst online: 21:35
Ik krijg met mijn wol geen reactie terug hoor. Ik verstuur alleen een pakketje en wacht niet op een reactie. Dan kan je toch ook geen timeout krijgen?

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

somers1234 schreef op maandag 25 januari 2010 @ 17:30:
Ik krijg met mijn wol geen reactie terug hoor. Ik verstuur alleen een pakketje en wacht niet op een reactie. Dan kan je toch ook geen timeout krijgen?
Ik neem aan dat dat een speciaal udp pakketje is, dan krijg je normaal gesproken geen reactie terug. Uiteraard kun je met je applicatie op de zelfde poort luisteren als je udp poort, en een reactie terugsturen als de applicatie draait.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.

Pagina: 1