Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ccrunch en 16 Enero 2014, 02:15 am



Título: [BASH] Enviar ip pública por correo
Publicado por: ccrunch en 16 Enero 2014, 02:15 am
Hola a todos, tengo un servidor casero en debian 7 y quiero que al arrancar me envíe la IP pública por correo. He probado esto: http://elayo.es/enviar-ip-publica-por-mail pero no funciona, he instalado los paquetes que pide (lynx y el de email) y nada.

Sé hacer que a cada arranque ejecute el script, lo que no sé es hacerlo funcionar.

Salu2 y gracias.


Título: Re: Enviar ip pública por correo
Publicado por: daryo en 16 Enero 2014, 02:21 am
aca no hay clarividentes que error te da?

aca guarda la ip en ip.txt solo tendrias que mandarla por mail

Código
  1. wget "www.monip.org" && more index.html | awk 'BEGIN{FS="<"};{print $4}' | awk 'BEGIN{FS=">"};{if(NR==7)print "echo " $2 ">ip.txt"}' | sh &&  rm index.html
  2.  


Título: Re: Enviar ip pública por correo
Publicado por: ccrunch en 16 Enero 2014, 13:02 pm
aca no hay clarividentes que error te da?

aca guarda la ip en ip.txt solo tendrias que mandarla por mail

Código
  1. wget "www.monip.org" && more index.html | awk 'BEGIN{FS="<"};{print $4}' | awk 'BEGIN{FS=">"};{if(NR==7)print "echo " $2 ">ip.txt"}' | sh &&  rm index.html
  2.  
Hola daryo gracias.

Si instalo un servidor de correo en esa máquina me imagino que podré mandar correos, por lo menos hace 2 años si instalabas un servidor te dejaba usarlo como open relay (no hace falta autentificarse para mandar correo).

Salu2


Título: Re: Enviar ip pública por correo
Publicado por: daryo en 16 Enero 2014, 15:49 pm
no me funciono el comando mail pero se podria probar este otro comando que usa una cuenta de un servidor de gmail hotmail o etc

http://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/


Título: Re: Enviar ip pública por correo
Publicado por: ccrunch en 19 Enero 2014, 16:28 pm
Buenas a todos, ya tengo la solución. Finalmente encontré como hacerlo con exim4. Es mucho más fácil que los métodos anteriores.

INSTALACION Y CONFIGURACION
Ejecutamos:
Código:
dpkg-reconfigure exim4-config 
(Si no esta instalado, lo sintalamos con apt-get install exim4)
En la reconfiguración/instalación seleccionamos:
* El correo se envía mediante un «smarthost»; se recibe a través de SMTP
* Nombre del sistema de correo: tudominio.xxx
* Direcciones IP en las que recibir conexiones SMTP entrantes: 127.0.0.1
* Otros dominios para los que se acepta el correo: en blanco
* Máquinas para las cuales reenviar correo: en blanco
* Direccion IP o nombre del equipo (smarthost) saliente: smtp.gmail.com::587
* Desea ocultar el nombre de correo local en los mensajes salientes? NO
* Limitar el numero de consultas DNS (Marcación bajo demanda)? NO
* Dividir la configuración en pequeños ficheros? Sí
Ahora editamos el archivo /etc/exim4/passwd.client
Código:
vi /etc/exim4/passwd.client
# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
gmail-smtp.l.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD
Cambiamos permisos del archivo:
Código:
chown root:Debian-exim /etc/exim4/passwd.client
Reiniciamos el servidor de correo:
Código:
service exim4 reload

Ejemplo de uso en la consola:
Código:
mail correo_de@destino.com
Luego nos preguntará subject, cuerpo mensaje, etc. Para acabar de escribir el cuerpo de un mensaje, apretamos intro e insertamos un punto (.), que significa que hemos acabado de editar el mensaje.

Pero en mi caso quiero que en cada arranque me envíe la IP pública. Así que tengo que instalar este paquete:
Código:
apt-get install curl
Editamos /etc/rc.local e insertamos:
echo "`curl icanhazip.com`" | mail "subject" correo_de@destino.com

Con curl icanhazip.com obtenemos la ip pública. El icanhazip.com se puede reemplazar por otros sitios para obtener la IP. Si hacemos
Código:
curl cualesmiip.com
en este caso nos da el código fuente de la página, aunque si miramos dentro de él podemos ver la ip pública. Vamos, funciona pero es más largo, con icanhazip.com solo obtenemos la ip pública.

En fin, espero que os haya sido de ayuda.

Salu2