import socket
HOST = '127.0.0.1'
PORT = 7777
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #af_inet is ipv4, sock_stream is a port
#af_inet is ipv4, sock_stream is a port. This was a TCP socket
Netcat listen to port (lp) 7777
nc -nvlp 7777
TCP vs UDP socket:
import socket
# Create a TCP socket
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Create a UDP socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Terrible Portscanner
#!/bin/python3
import sys
import socket
from datetime import datetime
#Define our target
if len(sys.argv) == 2:
target = socket.gethostbyname(sys.argv[1]) #translate hostname to IPv4
else:
print("Invalid amount of arguments.")
print("Syntax: python3 scanner.py <ip>")
try:
for port in range(50, 85):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.setdefaulttimeout(1)
result = s.connect_ex((target, port))
if result == 0:
print(f"Port {port} is open")
s.close()
except KeyboardInterrupt:
print("\nExiting program.")
sys.exit
except socket.gaierror:
print("Hostname could not be resolved.")
sys.exit
except socket.error:
print("Could not connect to server.")
sys.exit
times out after 1 second
finds open ports and tells you
range is 50-85 because