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*

kuroky...@gmail.com
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'] = 'kuroky...@gmail.com'
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("kuroky...@gmail.com","PASSWORD"
mailServer.sendmail("kuroky...@gmail.com", "mlist", msg.as_string())
mailServer.close()
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a