elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BASH] Enviar ip pública por correo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BASH] Enviar ip pública por correo  (Leído 6,090 veces)
ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
[BASH] Enviar ip pública por correo
« 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.


« Última modificación: 19 Enero 2014, 17:34 pm por Eleкtro » En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Enviar ip pública por correo
« Respuesta #1 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.  


« Última modificación: 16 Enero 2014, 04:04 am por daryo » En línea

buenas
ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
Re: Enviar ip pública por correo
« Respuesta #2 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
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Enviar ip pública por correo
« Respuesta #3 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/
En línea

buenas
ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
Re: Enviar ip pública por correo
« Respuesta #4 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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enviar correo con C#
.NET (C#, VB.NET, ASP)
AntoñitoOlmos 1 6,517 Último mensaje 7 Noviembre 2006, 23:48 pm
por SeniorX
[bash|python] Enviar mail con adjuntos.
Scripting
Ragnarok 2 5,913 Último mensaje 17 Agosto 2007, 22:27 pm
por Ragnarok
No encuentro la ip publica de un correo
Hacking
chaguete 3 4,175 Último mensaje 16 Abril 2012, 10:09 am
por racco
Ayuda bash y enviar valor al prompt del terminal de ubuntu
Scripting
carlos.foroelhaker 0 2,128 Último mensaje 25 Mayo 2012, 22:40 pm
por carlos.foroelhaker
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines