¿Existe un comando mediante el cual pueda encontrar mi IP externa de mi enrutador o mi enrutador NAT \ DSL, etc., eliminando la necesidad de visitar whatsmyip.net o similar?
windows
command-line
ip
Junaid Saeed
fuente
fuente
Respuestas:
No hay un comando incorporado para hacer esto. Parte del problema es que cuando está conectado a Internet a través de un enrutador, el hardware de su red no está directamente conectado a Internet, por lo que su sistema no tiene una IP asignada específicamente. Es posible que incluso tenga varias IP externas en algunos casos si está detrás de un proxy inverso, ya que muchas redes corporativas están configuradas. Su mejor opción podría ser crear un script que pregunte whatismyip.org , o tratar de encontrar si ya existe.
(Como consejo, whatismyip.org es preferible a la mayoría de las otras soluciones, ya que solo devuelve su IP como texto sin formato, sin texto superfluo, enlaces, imágenes u otra basura. Sería mucho más fácil de usar en un script personalizado que la mayoría de los otros sitios de detección de IP.)
fuente
Puede usar una solicitud DNS en lugar de una solicitud HTTP para averiguar su IP pública:
Utiliza el
resolver1.opendns.com
servidor dns para resolver elmyip.opendns.com.
nombre de host mágico en su dirección IP. (Nota: el seguimiento.
de la búsqueda evita que se agreguen dominios de búsqueda, lo que puede producir resultados incorrectos).Versión Unix:
fuente
apoderarse de su propia copia de
curl
de http://curl.haxx.se/download.html y luego simplementeo use powershell:
(descargo de responsabilidad: http://myexternalip.com fue creado por mí)
fuente
Esto funciona bien, lo uso principalmente con psexec cuando inspecciono las conexiones de la computadora cliente.
fuente
Cree un archivo llamado
ip.vbs
y copie lo siguiente en él:Ejecutar usando
Como señaló nhinkle , es mejor elegir un sitio que solo devuelva la IP y no los anuncios HTML +, etc., como:
(fuente: anteriormente http://externip.com/about )
fuente
Hice este script por lotes para hacer eso hace unos meses:
Le da la opción de poner la dirección IP en el portapapeles y establece una variable ambiental -
%PublicIP%
.MÉTODO MÁS SIMPLE:
Ahora, solo hago esto en su lugar:
o...
... para obtener la dirección IP pública actual en el portapapeles.
Necesitas cURL .
fuente
Con Powershell 3.0 (Windows 7 predeterminado es 2.0) puede usar
Invoke-WebRequest
Para IPv4:
Para IPv6:
Esto le dará una variable para trabajar si tiene algo específico que desea hacer con él. De hecho, estoy usando esto para crear un script para cargar periódicamente la IP dinámica de mi enrutador, hacer que otra máquina pruebe la comunicación a intervalos regulares y luego actualice DNS con la última IP si ha cambiado para poder acceder a mi equipo desde cualquier lugar usando un nombre en lugar de tener que perseguir constantemente la IP.
Y, por supuesto, a medida que cambien los sitios o cambien sus resultados, querrá actualizar esto en consecuencia. :)
fuente
powershell.exe -noprofile -command ""
. Separe el salto de línea con un punto y coma ...(Invoke-WebRequest -URI http://myip.dnsomatic.com).Content
Pruebe esto:
no necesita ningún tipo de software externo instalado.
fuente
Sin programas de terceros es difícil en Windows, ya que Telnet no se suministra de forma predeterminada, pero, si está allí (XP) o encendido (Windows Vista y superior), simplemente escriba:
la pantalla parpadeará y obtendrá un cursor ... Siguiente tipo:
En mayúsculas ... verá los encabezados, seguidos de su dirección IP (y lo siento, lo borré, ¡solo muestra dónde estaría!):
Otras respuestas aquí obviamente funcionan, pero, ¡estoy tratando de mantener la pregunta sobre algo que se pueda usar en cualquier ventana, sin programas de terceros!
Para Windows Vista y superior, puede instalar telnet fácilmente (y de forma segura) a través de
Programs and features
, o usar el siguiente comando:fuente
curlmyip.com
, pero probado trabajando concheckip.dyndns.org
.Puedes usar ifcfg.me . Es compatible con algunos comandos internos que vienen con Windows de forma predeterminada.
fuente
Quería tener una solución que funcione para Windows sin instalar herramientas de terceros. Así que tomé la opción de PowerShell , que debería ejecutar un script cada hora.
Crea este script con el Bloc de notas
y guardarlo como en
getIP.ps1
algún lugar. Puede llamar a este script directamente en powershell o usar el planeador de tareas como lo hice. Este es el comando para ejecutar:En el programador de tareas, crea una nueva tarea. En Trigger , usa la configuración todos los días por 1 día y, en la opción avanzada, elige cada hora de forma inmediata . También marque Ejecutar tarea lo antes posible después de que se pierda un inicio programado en la Configuración . En Acción , pega el código de ejecución anterior.
El código de PowerShell se puede optimizar, porque no soy un gurú de PowerShell (mi primera vez con él). Ahora estoy probando si el script se llama cada hora.
fuente
Esto es lo que descubrí, es posible usar el comando incorporado para obtener una dirección IP pública, pero usted tiene acceso a Internet
o
fuente
icanhazip.com
no funcionará para mí y el otro no hace IPv6 correctamente. :)ipchicken.com le devolverá su dirección IP aparente en formato de texto si puede analizar el HTML devuelto que extrae la IP externa de su enrutador. Alternativamente, puede instalar uno de esos agentes DNS dinámicos que actualiza su IP externa aparente a un FQDN y luego simplemente hacer una búsqueda en su FQDN para ver su número de IP actual. Solía haber otros gratuitos como DynDNS, pero la mayoría de ellos ahora requieren una cuenta de suscripción paga.
fuente