summaryrefslogtreecommitdiff
path: root/netscan.py
diff options
context:
space:
mode:
authorShubham Saini <me@ubh.sh>2023-01-25 09:16:15 +0000
committerShubham Saini <me@ubh.sh>2023-01-25 09:16:15 +0000
commite9e4e956c7684736d88f22c1ddfaf9a3ce4b9f3d (patch)
tree9fb4e5b47d7ba7919de6f03601732ca6bac06e17 /netscan.py
parent80a5dc96494deea06afdbcd71b5f89ebbe6af4f7 (diff)
renamed
Diffstat (limited to 'netscan.py')
-rw-r--r--netscan.py30
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 @@
1import scapy.all as scapy
2import argparse
3
4def 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
10def 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
23def 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
28options = get_arguments()
29scan_result = scan(options.target)
30print_result(scan_result)