Search

Sockets and NetCat

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