Hola compañeros
Me gustaria saber como puedo identificar cuando una IP es de la red Local y cuando es de una Red Remota cuando se intenta conectar a traves de sockets usando VB6 y el control Winsock.
Gracias por adelantado
Saludos
HOLA!!!
Int: Winsock1.LocalIP
Ext:(Please set your program's user agent to Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0:
http://automation.whatismyip.com/n09230945.asp
)
GRACIAS POR LEER!!!
hay varias formas de saberlo , la mas comun es cuando tu ruter no acepta conexiones o la otra es un rango establecido entre 172.26.0.1 y 192.169.1.1 que serian la dirección IP local es la que corresponde a la red local de su casa u oficina . :rolleyes: nota: si es una red muy pero muy grade cabe decir que el rango establecido en esa red es relativo al numero de ordenadores que poseais .
Cita de: rembolso en 15 Mayo 2012, 03:48 AM
hay varias formas de saberlo , la mas comun es cuando tu ruter no acepta conexiones o la otra es un rango establecido entre 172.26.0.1 y 192.169.1.1 que serian la dirección IP local es la que corresponde a la red local de su casa u oficina . :rolleyes: nota: si es una red muy pero muy grade cabe decir que el rango establecido en esa red es relativo al numero de ordenadores que poseais .
El rango de ip locales suelen ser estos pero no tiene porque, hay muchas redes que tienen cambiados estos rangos o tienen configuradas ips locales estaticas y de esta forma pueden estar fuera del rango y ser locales. Lo de la recepcion de conexiones del router si se podria mirar para hacerlo por ahi.
Salu2, Noele1995
Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts).
Clase B: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts). 16 redes clase B contiguas, uso en universidades y grandes compañías.
Clase C: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts). 256 redes clase C contiguas, uso de compañías medias y pequeñas además de pequeños proveedores de internet (ISP).
"Private Use" IP addresses:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
"Autoconfiguration" IP Addresses:
169.254.0.0 - 169.254.255.255
"Loopback" IP addresses:
127.0.0.0 - 127.255.255.255
Multicast IP addresses:
224.0.0.0 - 239.255.255.255
https://www.iana.org/abuse/answers
http://es.wikipedia.org/wiki/Red_privada
en php:
function getRealIP()
{
if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
{
$client_ip =
( !empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR']
:
"unknown" );
// los proxys van añadiendo al final de esta cabecera
// las direcciones ip que van "ocultando". Para localizar la ip real
// del usuario se comienza a mirar por el principio hasta encontrar
// una dirección ip que no sea del rango privado. En caso de no
// encontrarse ninguna se toma como valor el REMOTE_ADDR
$entries = preg_split('/[, ]/', $_SERVER['HTTP_X_FORWARDED_FOR']);
reset($entries);
while (list(, $entry) = each($entries))
{
$entry = trim($entry);
if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )
{
// http://www.faqs.org/rfcs/rfc1918.html
$private_ip = array(
'/^0\./',
'/^127\.0\.0\.1/',
'/^192\.168\..*/',
'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
'/^10\..*/');
$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
if ($client_ip != $found_ip)
{
$client_ip = $found_ip;
break;
}
}
}
}
else
{
$client_ip =
( !empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR']
:
"unknown" );
}
return $client_ip;
}
$ip = getIp();
echo $ip;
how to determine whether an IP address in private? (http://stackoverflow.com/questions/8113546/how-to-determine-whether-an-ip-address-in-private)