Сканер портов с использованием Python
Предварительные требования: Программирование сокетов на 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
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 ( "
Exitting Program !!!!" ) sys.exit() except socket.gaierror: print ( "
Hostname Could Not Be Resolved !!!!" ) sys.exit() except socket.error: print ( " Server not responding !!!!" ) sys.exit() |
Выход:
Примечание. В приведенном выше коде в строке 27, т. Е. Для порта в диапазоне (1, 65535): вы можете указать свои порты в диапазоне, в котором вы должны сканировать. Этому сканеру портов обычно требуется максимум 2 минуты для вывода в формате, в котором такие-то порты открыты или закрыты.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.