Skip to content
Snippets Groups Projects
ping_subnet_map.py 699 B
Newer Older
#!/usr/bin/env python
from multiprocessing.dummy import Pool 
#from multiprocessing import Pool 
import socket
import subprocess
import random
from time import sleep

def ping(ip):
    syscall = subprocess.Popen(["ping", "-c", "1", "-W", "1", ip], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    syscall.wait()
#    sleep(random.randint(1,5))
    print 'Pinging', ip
    return ip #syscall.returncode

if __name__ == '__main__':
    subnet = '.'.join(socket.gethostbyname(socket.gethostname()).split('.')[:-1]) + '.'

    MAX_HOSTS = 254
    pool = Pool(100)
    net = [subnet + str(i) for i in range(1,MAX_HOSTS)]
    result = pool.map(ping, net)
    pool.close()
    print result