Skip to content

Instantly share code, notes, and snippets.

@vinitshahdeo
Created June 3, 2020 10:20
Show Gist options
  • Save vinitshahdeo/92bf103f74a98cc55a447aa522bcdea9 to your computer and use it in GitHub Desktop.
Save vinitshahdeo/92bf103f74a98cc55a447aa522bcdea9 to your computer and use it in GitHub Desktop.
A basic Port Scanner using Python
#!/usr/bin/env python
import socket
import subprocess
import sys
from datetime import datetime
# Clear the screen
subprocess.call('clear', shell=True)
# Ask for input
remoteServer = raw_input("Enter a remote host to scan: ")
remoteServerIP = socket.gethostbyname(remoteServer)
# Print a nice banner with information on which host we are about to scan
print "-" * 60
print "Please wait, scanning remote host....", remoteServerIP
print "-" * 60
# Check what time the scan started
t1 = datetime.now()
# scanning the port only in range of (1, 1024)
try:
for port in range(1,1025):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((remoteServerIP, port))
if result == 0:
print "Port {}: Open".format(port)
sock.close()
except KeyboardInterrupt:
print "You pressed Ctrl+C"
sys.exit()
except socket.gaierror:
print 'Hostname could not be resolved. Exiting'
sys.exit()
except socket.error:
print "Couldn't connect to server"
sys.exit()
# Checking the time again
t2 = datetime.now()
# Calculates the difference of time, to see how long it took to run the script
total = t2 - t1
# Printing the information to screen
print 'Scanning Completed in: ', total
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment