Port Scanner With Python

A Simple Port Scanner Using Python.

Photo by Christian Wiediger on Unsplash

Sometimes we need to scan for open ports on a machine or host for our work or for security. We mostly use Nmap or any other port scanner for this work.

But sometimes all we need is a simple port scanner, not a complicated one. So in this article, we are going to create our own port scanner with python.

Let’s Build One

Port Scanner is built on Python 3 and uses some extra libraries such as socket and pyfiglet(For Banner).

import pyfiglet 
import sys
import socket
from datetime import datetime
ascii_banner = pyfiglet.figlet_format("PORT SCANNER")
print(ascii_banner)
# Defining a target
if len(sys.argv) == 2:

# translate hostname to IPv4
target = socket.gethostbyname(sys.argv[1])
else:
print("Invalid ammount of Argument")
# Add Banner
print("-" * 50)
print("Scanning Target: " + target)
print("Scanning started at:" + str(datetime.now()))
print("-" * 50)
try:

# will scan ports between 1 to 65,535
for port in range(1,65535):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.setdefaulttimeout(1)

# returns an error indicator
result = s.connect_ex((target,port))
if result ==0:
print("Port {} is open".format(port))
s.close()

except KeyboardInterrupt:
print("\n Exitting Program !!!!")
sys.exit()
except socket.gaierror:
print("\n Hostname Could Not Be Resolved !!!!")
sys.exit()
except socket.error:
print("\ Server not responding !!!!")
sys.exit()

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rajesh Kumar

Rajesh Kumar

Love to write about life, technology and things that matter.