Encender PC remotamente, no funciona este code

Iniciado por yovaninu, 12 Junio 2009, 01:45 AM

0 Miembros y 1 Visitante están viendo este tema.

yovaninu

"si el NetSupport puede hacerlo entonces nosotros tambien lo lograremos",

que tal con todos, esa es mi consigna y he estado averiguando un poco de esto y de todas formas ahora ya es posible esto de encender una PC remotamente ya que las placas actuales lo permiten al tener la opcion WOL (Wake on LAN) activada.

En la red esta el siguiente code (Con Winsock = WSC), en donde se envia el "Paquete Magico" a toda la red y en especial a la tarjeta de Red con MAC 00-16-76-2A-CD-85 (es un ejemplo de la pc que queria encender)


Dim buffer() As Byte
Dim contador As Byte
ReDim buffer(101) As Byte

For contador = 0 To 5
buffer(contador) = &HFF
Next

For contador = 6 To 101 Step 6
buffer(contador) = &H0
buffer(contador + 1) = &H16
buffer(contador + 2) = &H76
buffer(contador + 3) = &H2A
buffer(contador + 4) = &HCD
buffer(contador + 5) = &H85
Next

WSC.Protocol = sckUDPProtocol
WSC.RemoteHost = "255.255.255.255"
WSC.RemotePort = 7555
WSC.SendData buffer


en teoria deberia andar, sin embargo no me funciona, espero que haya gente interesada en esto pues seria una muy buena funcion para nuestros troyanos o para lo que veamos por conveniente, o quiza alguien ya lo tiene funcionando.

Espero sus opiniones.

Un saludo

el_c0c0

#1
fijate este code que uso yo. funciona bien:
Código (vb) [Seleccionar]
Function WOL(ByVal strMac As String, Optional ByVal strPass As String = "")
   Dim strItems() As String
   Dim strSend As String
   Dim strMagic As String
   Dim lngIndex As Long
   
   strItems = Split(strMac, "-")
   strMagic = Chr(CLng("&H" & strItems(0))) & Chr(CLng("&H" & strItems(1))) & Chr(CLng("&H" & strItems(2))) & _
             Chr(CLng("&H" & strItems(3))) & Chr(CLng("&H" & strItems(4))) & Chr(CLng("&H" & strItems(5)))
   
   
   For lngIndex = 1 To 16
       strSend = strSend & strMagic
   Next lngIndex
   
   If Len(strPass) >= 0 Then
       strSend = strSend & strPass
   End If
       
   
   objSockete.SendData strSend
End Function


objSockete=CSockMaster; previamente conectado al dispositivo con protocolo UDP.

a la funciona la llamas asi: WOL "00-16-76-2A-CD-85"
(dejas el segundo valor en blanco en el caso de no tener contraseña)

saludos
'-     coco
"Te voy a romper el orto"- Las hemorroides

yovaninu

Hola Coco, sigue sin funcionar
lo que hize fue esto
En un boton de comando
Código (vb) [Seleccionar]

Winsock1.Protocol = sckUDPProtocol
Winsock1.RemoteHost = "255.255.255.255"
Winsock1.RemotePort = 54323


y la funcion:
Código (vb) [Seleccionar]

Function WOL(ByVal strMac As String, Optional ByVal strPass As String = "")
    Dim strItems() As String
    Dim strSend As String
    Dim strMagic As String
    Dim lngIndex As Long

    strItems = Split(strMac, "-")
    strMagic = Chr(CLng("&H" & strItems(0))) & Chr(CLng("&H" & strItems(1))) & Chr(CLng("&H" & strItems(2))) & _
              Chr(CLng("&H" & strItems(3))) & Chr(CLng("&H" & strItems(4))) & Chr(CLng("&H" & strItems(5)))


    For lngIndex = 1 To 16
        strSend = strSend & strMagic
    Next lngIndex

    If Len(strPass) >= 0 Then
        strSend = strSend & strPass
    End If


    Winsock1.SendData strSend
End Function



Luego en otro boton de Comando llamo a la funcion:
Código (vb) [Seleccionar]

WOL "00-1c-c0-37-e0-1f"


Y no funciona.... lo estoy probando desde una Portatil conectada a traves de un cable de red normal y con el WIFI desactivado, obviamente la otra PC tambien esta conectada.

¿Qué estoy haciendo mal?

POr si acaso dejo la conf de la red

        Dirección física. . . . . . . . . : 00-1F-16-55-A3-0B (de la portatil)
        DHCP habilitado. . . . . . . . .  : No
        Dirección IP. . . . . . . . . . . : 192.168.1.5
        Máscara de subred . . . . . . . . : 255.255.255.0
        Puerta de enlace predeterminada   : 192.168.1.1


el_c0c0

#3
Cita de: yovaninu en 12 Junio 2009, 05:00 AM
...

probaste con algun otro programa?. ademas, la MAC que mencionas es del equipo a prender o de la portatil?

EDIT:

el problema parece ser a donde estas conectando el sock.
yo conecto asi:
    Set objSockete = New CSocketMaster
    objSockete.Protocol = sckUDPProtocol
    objSockete.Connect "255.255.255.255", 40000



saludos
'-     coco
"Te voy a romper el orto"- Las hemorroides

yovaninu

Cita de: el_c0c0 en 12 Junio 2009, 22:04 PM
Cita de: yovaninu en 12 Junio 2009, 05:00 AM
...

probaste con algun otro programa?. ademas, la MAC que mencionas es del equipo a prender o de la portatil?

EDIT:

el problema parece ser a donde estas conectando el sock.
yo conecto asi:
    Set objSockete = New CSocketMaster
    objSockete.Protocol = sckUDPProtocol
    objSockete.Connect "255.255.255.255", 40000



saludos
entiendo que lo estas haciendo con CSocketMaster, no lo probe aun con eso pero se supone que con el WinSock tambien deberia funcionar, pero aun no lo consigo, si no hay mas nadie que pueda ayudarme, demos por cerrado el tema que intentare por propios medios.

Gracias a todos