elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 01:10  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  Obtener IP de una DNS vb6
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Obtener IP de una DNS vb6  (Leído 718 veces)
VanX
Wiki

Desconectado Desconectado

Mensajes: 217


"El Conocimiento Humano, pertenece al Mundo"


Ver Perfil WWW
Obtener IP de una DNS vb6
« en: 10 Julio 2011, 16:47 »

Hola, buscando en google encontré este code que sirve para sacar la IP a una DNS pero me manda la solución en un MsgBox y necesitaria que se pudiera copiar. He intentado con todo lo que he podido pero no consigo hacerlo...

Código
Option Explicit
 
Private Declare Function DnsQuery Lib "dnsapi" Alias "DnsQuery_A" (ByVal strname As String, ByVal wType As Integer, ByVal fOptions As Long, ByVal pServers As Long, ppQueryResultsSet As Long, ByVal pReserved As Long) As Long
Private Declare Function DnsRecordListFree Lib "dnsapi" (ByVal pDnsRecord As Long, ByVal FreeType As Long) As Long
Private Declare Function lstrlen Lib "kernel32" (ByVal straddress As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, ByVal Source As Long, ByVal Length As Long)
Private Declare Function inet_ntoa Lib "ws2_32.dll" (ByVal pIP As Long) As Long
Private Declare Function inet_addr Lib "ws2_32.dll" (ByVal sAddr As String) As Long
 
Private Const DnsFreeRecordList         As Long = 1
Private Const DNS_TYPE_A                As Long = &H1
Private Const DNS_QUERY_BYPASS_CACHE    As Long = &H8
 
Private Type VBDnsRecord
   pNext           As Long
   pName           As Long
   wType           As Integer
   wDataLength     As Integer
   flags           As Long
   dwTel           As Long
   dwReserved      As Long
   prt             As Long
   others(35)      As Byte
End Type
 
Private Sub Command1_Click()
   MsgBox Resolve("google.com", "208.67.222.222")
End Sub
 
Private Function Resolve(sAddr As String, Optional sDnsServers As String) As String
   Dim pRecord     As Long
   Dim pNext       As Long
   Dim uRecord     As VBDnsRecord
   Dim lPtr        As Long
   Dim vSplit      As Variant
   Dim laServers() As Long
   Dim pServers    As Long
   Dim sName       As String
 
   If LenB(sDnsServers) <> 0 Then
       vSplit = Split(sDnsServers)
       ReDim laServers(0 To UBound(vSplit) + 1)
       laServers(0) = UBound(laServers)
       For lPtr = 0 To UBound(vSplit)
           laServers(lPtr + 1) = inet_addr(vSplit(lPtr))
       Next
       pServers = VarPtr(laServers(0))
   End If
   If DnsQuery(sAddr, DNS_TYPE_A, DNS_QUERY_BYPASS_CACHE, pServers, pRecord, 0) = 0 Then
       pNext = pRecord
       Do While pNext <> 0
           Call CopyMemory(uRecord, pNext, Len(uRecord))
           If uRecord.wType = DNS_TYPE_A Then
               lPtr = inet_ntoa(uRecord.prt)
               sName = String(lstrlen(lPtr), 0)
               Call CopyMemory(ByVal sName, lPtr, Len(sName))
               If LenB(Resolve) <> 0 Then
                   Resolve = Resolve & " "
               End If
               Resolve = Resolve & sName
           End If
           pNext = uRecord.pNext
       Loop
       Call DnsRecordListFree(pRecord, DnsFreeRecordList)
   End If
End Function


saludos y gracias de antemano ;)


En línea

raul338
Moderador
***
Desconectado Desconectado

Mensajes: 2.371


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Obtener IP de una DNS vb6
« Respuesta #1 en: 10 Julio 2011, 17:43 »

....y necesitaria que se pudiera copiar. He intentado con todo lo que he podido pero no consigo hacerlo...

Deberias buscar sobre la clase Clipboard

Código
Private Sub Command1_Click()
   MsgBox Resolve("google.com", "208.67.222.222")
End Sub
 


« Última modificación: 10 Julio 2011, 17:46 por raul338 » En línea

79137913


Conectado Conectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: Obtener IP de una DNS vb6
« Respuesta #2 en: 10 Julio 2011, 17:56 »

HOLA!!!

Bueno, yo opte por lo facil la vez que lo quise hacer...

Podes guardar en in txt un comando ping y lo lees.

O conectate con un socket y ahí revisas el remote host ip.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
Elemental Code


Desconectado Desconectado

Mensajes: 499


Im beyond the system


Ver Perfil
Re: Obtener IP de una DNS vb6
« Respuesta #3 en: 11 Julio 2011, 02:35 »

http://support.microsoft.com/kb/160215
http://support.microsoft.com/kb/154512

Tadaaaaa

Si lei bien con eso deberia ser suficiente.




Podia necesitarlo en un futuro, prefiero colgarlo aca para no perderlo.

Código
' ////////////////////////////////////////////////////////////////
' // *GetIPfromHost                                             //
' // *Autor: Elemental Code (Milton.Candelero@gmail.com)        //
' // *Podeis agrandar o reducir el codigo, siempre y cuando se  //
' // respete la autoria y se me comuniquen esos cambios.        //
' ////////////////////////////////////////////////////////////////
Option Explicit
Public Function GetIPfromHost(ByRef sURL As String) As String
   Dim WshShell, oExec, a$
 
   Set WshShell = CreateObject("WScript.Shell")
   Set oExec = WshShell.Exec("ping " & sURL)
   a$ = ""
   Do While oExec.Status = 0
        If Not oExec.StdOut.AtEndOfStream Then
             a$ = a$ & oExec.StdOut.Read(1)
        End If
        DoEvents
   Loop
 
   GetIPfromHost = Text_Between_Words(a$, "[", "]")
 
   Set oExec = Nothing
   Set WshShell = Nothing
End Function
 
' ////////////////////////////////////////////////////////////////
' // *Text_Between_Words                                        //
' // *Autor: *PsYkE1* (miguelin.majo@gmail.com)                 //
' // *Podeis agrandar o reducir el codigo, siempre y cuando se  //
' // respete la autoria y se me comuniquen esos cambios.        //
' // *Agradecimientos a BlackZeroX.                             //
' // *Visita http://foro.rthacker.net                           //
' ////////////////////////////////////////////////////////////////
Public Function Text_Between_Words(Text As String, String1 As String, _
String2 As String) As String
   Dim Pos1              As Integer
   Dim Pos2              As Integer
   Dim Start             As Integer
   Dim TotalLen          As Integer
   Pos1 = InStr(Text, String1)
   Pos2 = InStr(Text, String2)
   If Pos1 = 0 Or Pos2 = 0 Then Exit Function
   Start = Pos1 + Len(String1)
   TotalLen = Pos2 - Start
   Text_Between_Words = Mid$(Text, Start, TotalLen)
End Function

Mete esto en un modulo y llamalo asi:

Código
msgbox GetIPfromHost ("www.google.com")

Espero que sirva (Muestra una cmd en blanco :S, voy a ver si logro arreglarlo)
« Última modificación: 11 Julio 2011, 23:03 por Elemental Code » En línea

VanX
Wiki

Desconectado Desconectado

Mensajes: 217


"El Conocimiento Humano, pertenece al Mundo"


Ver Perfil WWW
Re: Obtener IP de una DNS vb6
« Respuesta #4 en: 11 Julio 2011, 13:34 »

no me funciona lo del .txt, ya hace tiempo que los AV algunos lo detectan  :-\

gracias de todos modos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
obtener mas Kbs?
Redes
Kens0u 8 1,279 Último mensaje 8 Agosto 2003, 07:35
por elialalric
Obtener ip
Hacking Avanzado
potoman 3 1,053 Último mensaje 12 Agosto 2005, 08:41
por von Newman
Obtener la ip de una red
Hacking Wireless
extroyer 4 576 Último mensaje 15 Noviembre 2005, 22:34
por extroyer
OBTENER IP EN UNA LAN
Programación C/C++
gabrielz1 0 419 Último mensaje 24 Diciembre 2005, 06:58
por gabrielz1
obtener IP
Programación Visual Basic
soru13 2 793 Último mensaje 2 Octubre 2006, 21:44
por WarGhost
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines