Buenas noches companeros, les publico este codigo que he realizado con
el objetivo de monitorear si un equipo de red se encuentra online. Las
modificaciones que quisiera que me ayudaran es como hacer para que los
destinatarios se tomen desde un archivo macct.txt. Otra cosa seria como
podria lograr que la salida que da este script por pantalla se pueda
adjuntar al cuerpo del correo.
'''*SALIDA* *PANTALLA*
--------------------------------------------------------------------------------
El IP: 206.190.36.45 ---yahoo.com---
SE ENCUENTRA ONLINE Tue Feb 12 00:28:13 2013
--------------------------------------------------------------------------------
*
**ip.txt *
06.190.36.45 ---yahoo.com---
*macct.txt*
[email protected]
correo2@hotmailcom
'''
# ****************************************
# Programa de Monitoreo de Red #
# Ing. Kennedy Sanchez #
# (Security + MGP) #
# @ksanchez_cld on tweeter #
# ****************************************
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, time, subprocess, smtplib
from email.mime.text import MIMEText
horaRaw = time.time()
horaFormato = time.ctime(horaRaw)
os.system('echo > offline.txt') #Limpiar el archivo
iplist = open('ip.txt')
list = iplist.readlines()
for r in list:
ip = r[1:15]
cmd = subprocess.call(["ping", "-c 3", r])
if cmd == 1:
offline = open('offline.txt', 'a')
offline.write(r)
offline.close()
print '*'*80
print cmd
print " El IP:", r, "\n !!!Esta
mostrando problemas de conexion!!! ", horaFormato
print '*'*80
elif cmd == 0:
print '-'*80
print " El IP:", r, "SE ENCUENTRA
ONLINE ", horaFormato
print '-'*80
msg = MIMEText("Listado grupo de IPs Offline")
msg['Subject'] = 'Reporte Diario Monitoreo Equipos de Red CR'
msg['From'] = '[email protected]'
macct = open('macct.txt') #Listado de cuentas de correo
mlist = macct.readlines()
print mlist
mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login("[email protected]","PASSWORD"
mailServer.sendmail("[email protected]", "mlist", msg.as_string())
mailServer.close()
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/