[python] python

Viewer

  1.  
  2.  
  3. #!/usr/bin/env python
  4. import scapy.all as scapy
  5. import optparse
  6.  
  7.  
  8. def get_arguments():
  9.     parser = optparse.OptionParser()
  10.     parser.add_option("-t", "--target", dest="target", help="Target IP / IP range.")
  11.     options, arguments = parser.parse_args()
  12.     return options
  13.  
  14. def scan(ip):
  15.     arp_request = scapy.ARP(pdst=ip)
  16.     broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
  17.     arp_request_broadcast = broadcast/arp_request
  18.     answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
  19.     clients_list = []
  20.     for element in answered_list:
  21.         client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc}
  22.         clients_list.append(client_dict)
  23.     return clients_list
  24.  
  25. def print_result(results_list):
  26.     print("IP\t\t\tMAC Address\n-------------------------------------")
  27.     for client in results_list:
  28.         print(client["ip"] + "\t\t" + client["mac"])
  29.  
  30.  
  31. options = get_arguments()
  32. scan_result = scan(options.target)
  33. print_result(scan_result)

Editor

You can edit this paste and save as new:


File Description
  • python
  • Paste Code
  • 24 May-2020
  • 1014 Bytes
You can Share it: