Asumiendo Linux / Unix box debido a “SSH”
En lo que respecta a la práctica, si ya tiene acceso a un servidor web, puede escribir un Bash / cualquier script que se ejecute en su servidor SSH que se ejecute en un intervalo (por ejemplo, temporizador Systemd o trabajo cron) que descubra al público Dirección IP del servidor y luego lo carga en un archivo de texto o página web en el servidor web.
Manera fácil de obtener su dirección IP externa en Linux:
- ¿Los usuarios de datos móviles también tienen dirección IP?
- ¿Puede la policía local rastrearme solo por mi dirección IP si estoy usando un plan de datos móviles en mi teléfono?
- ¿Cuáles son los pros y los contras de la IP estática y cómo podría (si debería) protegerme?
- Cómo ocultar una dirección IP de los rastreadores
- ¿Por qué las etiquetas VLAN vienen después de las direcciones en los paquetes Ethernet?
curl icanhazip.com
Si no tiene cURL instalado:
wget -qO - icanhazip.com
Básicamente, cualquier comando que pueda obtener una página web de Internet puede usarse para determinar la dirección IP pública de su servidor.
Ambos comandos anteriores envían un texto a STDOUT.
Puede asignar esto fácilmente a una variable en un script Bash:
MY_IP = $ (curl icanhazip.com)
La forma en que carga esta información en el servidor web depende de usted, es fácil, por ejemplo, con cURL nuevamente:
curl -T myip.txt ftp: // nombre de usuario: [correo electrónico protegido] / remotedir /
Poniendolo todo junto:
#! / bin / bash # Determine la dirección IP y cárguela en el servidor web # Cambiar las variables en consecuencia DST = "/ tmp / my-ip.txt" USUARIO = "ejemplo" PASS = "ejemplo" SERVIDOR = "ejemplo.com" REMOTEPATH = "ejemplo" # NOTA: para ver la salida del comando, elimine las partes 2> / dev / null curl http://icanhazip.com> "$ {DST}" 2> / dev / null si [$? -eq 0 -a -s "$ {DST}"]; luego curl -q --connect-timeout 5 -T "$ {DST}" "ftp: // $ {USER}: $ {PASS} @ $ {SERVER} / $ {REMOTEPATH}" 2> / dev / null si [$? -eq 0]; luego echo "Archivo cargado correctamente con mi dirección IP = $ (cat" $ {DST} ") a $ {SERVER}" más echo "No se puede cargar el archivo de dirección IP a $ {SERVER}" salida 1 fi más echo "No se puede determinar la dirección IP" salida 1 fi