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/

Responder a