-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathport_scanner2.py
More file actions
64 lines (52 loc) · 2.18 KB
/
port_scanner2.py
File metadata and controls
64 lines (52 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import socket
import time
import os
from colorama import Fore, Style, init
init(autoreset=True)
def ascii_banner():
os.system("clear")
animation = [
Fore.CYAN + r" ____ _ ____ ",
Fore.CYAN + r" | _ \ ___ ___ | |_ ___ _ __ / ___| ___ __ _ _ __ _ __ ___ _ __ ",
Fore.CYAN + r" | |_) / _ \ / _ \| __/ _ \ '__| | _ / __/ _` | '_ \| '_ \ / _ \ '__|",
Fore.CYAN + r" | __/ (_) | (_) | || __/ | | |_| | (_| (_| | | | | | | | __/ | ",
Fore.CYAN + r" |_| \___/ \___/ \__\___|_| \____| \___\__,_|_| |_|_| |_|\___|_| ",
r" ",
Fore.YELLOW + r"-------------------- Port Scanner by Eshwar --------------------------"
]
for line in animation:
print(line)
time.sleep(0.05)
print("\n")
def port_scanner(target_ip):
print(Fore.MAGENTA + f"[*] Scanning all ports on {target_ip}...\n")
open_ports = []
for port in range(1, 65536):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(0.5)
result = sock.connect_ex((target_ip, port))
if result == 0:
service = "Unknown"
version = "Unknown"
try:
service = socket.getservbyport(port)
except:
pass
try:
sock.sendall(b"HEAD / HTTP/1.0\r\n\r\n")
banner = sock.recv(1024).decode(errors="ignore").strip()
if banner:
version = banner.split("\n")[0]
except:
pass
print(Fore.GREEN + f"[OPEN] Port {port}: Service: {service} | Version: {version}")
open_ports.append((port, service, version))
sock.close()
print(Fore.CYAN + "\nScan complete!")
print(Fore.YELLOW + f"Total open ports found: {len(open_ports)}")
for port, service, version in open_ports:
print(Fore.GREEN + f"Port {port} -> {service} ({version})")
if __name__ == "__main__":
ascii_banner()
target = input(Fore.BLUE + "Enter target IP address: ")
port_scanner(target)