diff options
author | Shubham Saini <me@ubh.sh> | 2023-01-25 09:16:15 +0000 |
---|---|---|
committer | Shubham Saini <me@ubh.sh> | 2023-01-25 09:16:15 +0000 |
commit | e9e4e956c7684736d88f22c1ddfaf9a3ce4b9f3d (patch) | |
tree | 9fb4e5b47d7ba7919de6f03601732ca6bac06e17 /netscan.py | |
parent | 80a5dc96494deea06afdbcd71b5f89ebbe6af4f7 (diff) |
renamed
Diffstat (limited to 'netscan.py')
-rw-r--r-- | netscan.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/netscan.py b/netscan.py new file mode 100644 index 0000000..e505b6e --- /dev/null +++ b/netscan.py | |||
@@ -0,0 +1,30 @@ | |||
1 | import scapy.all as scapy | ||
2 | import argparse | ||
3 | |||
4 | def get_arguments(): | ||
5 | parser = argparse.ArgumentParser() | ||
6 | parser.add_argument("-t", "--targer", dest="target", help="Target IP / IP Range") | ||
7 | options = parser.parse_args() | ||
8 | return options | ||
9 | |||
10 | def scan(ip): | ||
11 | arp_request = scapy.ARP(pdst=ip) | ||
12 | broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff") | ||
13 | arp_request_broadcast = broadcast/arp_request | ||
14 | answered_list = scapy.srp(arp_request_broadcast, timeout=3, verbose=False)[0] | ||
15 | |||
16 | clients_list = [] | ||
17 | |||
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(results_list): | ||
24 | print("IP Address\t\t\tMAC Address\n------------------------------------------------") | ||
25 | for client in results_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) | ||