Если по каким то причинам отсутствует возможность использовать Nmap или любой другой сканер сети, то в стандартном наборе ОС Linux есть программы и утилиты которые можно заставить работать на наши цели. В целом, почти все в Linux можно использовать как технологии двойного назначения.
Netcat
Telnet
Perl или Python
Raw sockets (через /dev/tcp)
Hping3 (не входит в стандартный набор ОС)
//ЯнаписалпростойBASHскриптдлядемонстрации#!/bin/bash# Функция для сканирования с использованием netcatscan_with_netcat() {local target_ip=$1local port=$2nc-vz"$target_ip""$port"}# Функция для сканирования с использованием telnetscan_with_telnet() {local target_ip=$1local port=$2telnet"$target_ip""$port"}# Функция для сканирования с использованием hping3scan_with_hping3() {local target_ip=$1local port=$2hping3-c1-S-p"$port""$target_ip"}# Функция для сканирования с использованием Perlscan_with_perl() {local target_ip=$1local start_port=$2local end_port=$3for port in$(seq "$start_port" "$end_port"); doperl-MIO::Socket::INET-e'$target_ip = $ARGV[0];$port = $ARGV[1];$socket = IO::Socket::INET->new(PeerAddr => $target_ip,PeerPort => $port,Proto => "tcp",Timeout => 1);if ($socket) {print "Port $port is open\n";close($socket);}'"$target_ip""$port"done}# bash scan (raw sockets /dev/tcp)scan_with_bash_raw_socket() {local target_ip=$1local start_port=$2local end_port=$3for ((port = start_port; port <= end_port; port++)); do(echo>/dev/tcp/"$target_ip"/"$port") >/dev/null 2>&1&&echo"Port $port is open"done}# Запрос пользовательского вводаecho"Выберите метод сканирования:"echo"1. Netcat"echo"2. Telnet"echo"3. hping3 ---need apt install hping3"echo"4. Perl ---need install - cpan install IO::Socket::INET"echo"5. bash scan (raw sockets /dev/tcp)"read-p"Введите номер метода сканирования: "scan_methodread-p"Введите IP-адрес для сканирования: "target_ip# Проверка выбора метода сканирования и выполнение соответствующей функцииcase $scan_method in1)read-p"Введите порт для сканирования: "portscan_with_netcat"$target_ip""$port";;2)read-p"Введите порт для сканирования: "portscan_with_telnet"$target_ip""$port";;3)read-p"Введите порт для сканирования: "portscan_with_hping3"$target_ip""$port";;4)read-p"Введите начальный порт: "start_portread-p"Введите конечный порт: "end_portscan_with_perl"$target_ip""$start_port""$end_port";;5)read-p"Введите начальный порт: "start_portread-p"Введите конечный порт: "end_portscan_with_bash_raw_socket"$target_ip""$start_port""$end_port";;*)echo"Неверный выбор метода сканирования.";;esac
Создайте файл, скопируйте в него скрипт и дайте скрипту права на исполнение