Port Scanner using Python Last Updated : 12 Jul, 2025 Comments Improve Suggest changes 15 Likes Like Report Prerequisites: Socket Programming in Python This article is just to provide a sample code to generate a Port Scanner. This Port Scanner will work for both the Web Applications as well as remote Host. This tool has been created to provide the basic functionality of a Port Scanner. The general concept of Sockets had been used to provide the functionality. Port Scanner is built on Python 3 and uses some extra libraries such as socket and pyfiglet (for a fancy banner). Please find the below source code for the Port Scanner : Source Code Python3 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 amount 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 Exiting Program !!!!") sys.exit() except socket.gaierror: print("\n Hostname Could Not Be Resolved !!!!") sys.exit() except socket.error: print("\ Server not responding !!!!") sys.exit() Output: Note: In the above code at line 27 i.e for the port in range(1, 65535): you can custom define your ports under which range you have to scan. This port scanner will generally take the time of 2 mins maximum to produce output in the format, that so and so ports are open or closed. Create Quiz Comment D deepamanknp Follow 15 Improve D deepamanknp Follow 15 Improve Article Tags : Python Web Technologies Python-socket Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 4 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 3 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 3 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 3 min read StatsModel Library - Tutorial 3 min read Learning Model Building in Scikit-learn 6 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 5 min read Build a REST API using Flask - Python 3 min read Building a Simple API with Django REST Framework 3 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like