Saber ip de conexion a internet de mi computador

Iniciado por hunter18, 23 Agosto 2010, 06:58 AM

0 Miembros y 2 Visitantes están viendo este tema.

hunter18

He buscado y solo encuentro ejemplos donde me dan la ip de la red local por ejemplo el 192.168.1.35 y yo quiero saber la ip con la que me conecto a internet las que salen p.e 190.232.8.41 igual a como lo hace http://midireccionip.com/

andreselmejor

-Que tal si abres conexiones de red--->estado---->soporte---->detalles y listo.

-Otra forma es con el ares : panel de control---->red y listo tu ip publica.

-cmd---->ipconfig y listo.(si tienes el modem conectado directo)

-En el router,tambien sale. :silbar:


Suerte.

Tal vez así,se aprende un poco mas.

Por fin se fue !!!!!! (2014-2018) sin piñericosas !!!!!!!

De antologia :

http://foro.elhacker.net/foro_libre/duda_mi_mira_fijamente-t325117.0.html

Descarga MP3 gratis

BlackZeroX

.
Esto ya esta en el foro, usa el buscador y lo encontraras!¡.

Nota: Hay como dos codigos que doy fe de la existencia en este foro asi que a buscarle!¡.

Dulces Lunas!¡.
The Dark Shadow is my passion.


hunter18

Sigo sin solucionar, siempre obtengo, me parece que se llama direccion privada(interna) el tipico 192.168.1.39,192.168.1.40, etc la misma que tambien sale con ipconfig ya que estoy en una red local y no directo al router.

Si utilizo un control Winsock1.LocalIP tambien me devuelve la ip privada y yo quiero obtener desde vb6.0 la ip publica(externa), como lo hace la mentada http://midireccionip.com/ pero desde vb

saludos

xkiz ™

asi sacas la Ip Publica:

Código (vb) [Seleccionar]

Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://checkip.dyndns.org/"

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

Public Function GetPublicIp()
Dim pIP() As String
Dim nose As String
    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
    sBuffer = Space(1000)
    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
    InternetReadFile hFile, sBuffer, 1000, Ret
   
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
   
    pIP = Split(Trim(sBuffer), ": ")
    nose = Left(pIP(1), Len(pIP(1)) - 16)
    GetPublicIp = nose
End Function

Private Sub Main()
Debug.Print GetPublicIp
End Sub


hunter18


BlackZeroX

The Dark Shadow is my passion.

_katze_

Cita de: xkiz en 23 Agosto 2010, 20:11 PM
Código (vb) [Seleccionar]

Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://checkip.dyndns.org/"

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

Public Function GetPublicIp()
Dim pIP() As String
Dim nose As String
    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
    sBuffer = Space(108)
    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
    InternetReadFile hFile, sBuffer, [color=limegreen]108[/color], Ret
   
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
   
    pIP = Split(Trim(sBuffer), ": ")
    nose = Left(pIP(1), Len(pIP(1)) - 16)
    GetPublicIp = nose
End Function

Private Sub Main()
Debug.Print GetPublicIp
End Sub



modificando el buffer a como esta y lo q esta en verde ! tmb funcio esto es valido tmb o hay algo en especial el valor que se asigno en tu code original xkiz?
muy bueno y bien practico ::) ::) ::)

xkiz ™

lo del size del buffer?

no se por que estaba en 1000, es un codigo viejo ese, nunca le preste mucha atencion. osea tengo el mismo codigo en C++ y ahi el size del buffer esta en 110, creo que aca le habia puesto 1000, para estar seguro, por si los de DynDNS modificaban algo en el .php ese. pero con 110 ó 108 tendria que ir bien.