From 68df54d6629ec019142eb149dd037774f2d11e7c Mon Sep 17 00:00:00 2001 From: Shubham Saini Date: Tue, 11 Dec 2018 15:31:23 +0530 Subject: First commit --- network_scanner.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 network_scanner.py (limited to 'network_scanner.py') diff --git a/network_scanner.py b/network_scanner.py new file mode 100644 index 0000000..e505b6e --- /dev/null +++ b/network_scanner.py @@ -0,0 +1,30 @@ +import scapy.all as scapy +import argparse + +def get_arguments(): + parser = argparse.ArgumentParser() + parser.add_argument("-t", "--targer", dest="target", help="Target IP / IP Range") + options = parser.parse_args() + return options + +def scan(ip): + arp_request = scapy.ARP(pdst=ip) + broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff") + arp_request_broadcast = broadcast/arp_request + answered_list = scapy.srp(arp_request_broadcast, timeout=3, verbose=False)[0] + + clients_list = [] + + for element in answered_list: + client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc} + clients_list.append(client_dict) + return clients_list + +def print_result(results_list): + print("IP Address\t\t\tMAC Address\n------------------------------------------------") + for client in results_list: + print(client["ip"] + "\t\t" + client["mac"]) + +options = get_arguments() +scan_result = scan(options.target) +print_result(scan_result) -- cgit v1.2.3