Advertisement
parthosutradhor

Network Scanner (Discovering Clients)

Apr 28th, 2020
733
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.97 KB | None | 0 0
  1. #!user/bin/env python
  2.  
  3. import scapy.all as scapy
  4. import optparse
  5.  
  6. def get_arguments():
  7.     parser = optparse.OptionParser()
  8.     parser.add_option("-t", "--target", dest="target", help="IP/Range")
  9.     (options, arguments) = parser.parse_args()
  10.     return options
  11.  
  12. def scan(ip):
  13.     arp_request = scapy.ARP(pdst=ip)
  14.     broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
  15.     arp_request_broadcast = broadcast/arp_request
  16.     answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
  17.     clients_list = []
  18.     for element in answered_list:
  19.         client_dict = {"ip":element[1].psrc, "mac":element[1].hwsrc}
  20.         clients_list.append(client_dict)
  21.     return clients_list
  22.  
  23. def print_result(clients_list):
  24.     print("IP\t\t\tMAC\n------------------------------------------")
  25.     for client in clients_list:
  26.         print(client["ip"] + "\t\t" + client["mac"])
  27.  
  28. options = get_arguments()
  29. scan_result = scan(options.target)
  30. print_result(scan_result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement