Tell us what’s happening:
My code is not finding any open ports and returning them all as “closed”. What am I missing? Is there something I need to do specifically when running the code in my terminal?
Your code so far
import socket
def get_open_ports(target, port_range, verbose=None):
open_ports = []
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
start, end = port_range
def port_scan(port):
try:
s.connect((target, port))
return True
except:
return False
for i in range(start, (end+1)):
port = i
if port_scan(port):
print(f"The port {port} is Open.")
open_ports.append(port)
else:
print(f'The port {port} is Closed.')
return(open_ports)
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Safari/537.36
.
Challenge: Port Scanner
Link to the challenge: