Python : Script para pingar uma lista de hosts

Eu ultimamente tenho aprendido um pouco de python e estou iniciando minhas postagens sobre com o script abaixo .
A chamada deste script será: python ping_list.py arquivo

O script aceita qualquer arquivo vazio com a lista de hosts e lê cada linha sendo assim pingando , no meu teste eu criei o arquivo hosts.txt e adicionei a lista abaixo para teste :

127.0.0.1
www.google.com
www.fajlinux.com
www.bing.com
192.168.11.1
www.4linux.com.br
www.google.com
www.yahoo.com.br
~

import sys
import  subprocess
import  os

hosts = open (sys.argv[1], 'r')

with open(os.devnull,"wb") as limbo:
        for line in hosts:
                res = subprocess.Popen(["ping", "-c 3", line], stdout=limbo, stderr=limbo).wait()
                if res == 0:
                                print line,'\033[1;32m  "OK"\033[1;m'
                else:
                        print  line,'\033[1;31m "Failed"\033[1;m'

 

Comando

ping_list.py hosts.txt

O output será :

Captura de Tela 2015-03-18 às 21.31.34

Espero poder postar mais coisas em python em breve.

Translate »