🖧 Bash скрипт для сканирования диапазона портов |

🖧 Bash скрипт для сканирования диапазона портов

Скрипты

Сетевым администраторам и специалистам по безопасности часто требуется сканирование портов для выявления открытых или закрытых служб и оценки безопасности сети.

Хотя для этих целей существуют такие надежные инструменты, как nmap, иногда может потребоваться создание собственного решения, отвечающего конкретным требованиям.

Например, отсутствие возможности скачать и установить nmap.

В этой статье мы рассмотрим, как создать скрипт Bash для сканирования ряда портов.

Основы сканирования портов

Сканирование портов – это систематическая проверка системы на наличие открытых портов.

Порт в данном контексте – это логическая конструкция, идентифицирующая определенный процесс или тип сетевого сервиса.

Номера портов варьируются от 0 до 65535, причем первые 1024 известны как “общеизвестные порты”, назначаемые для таких распространенных протоколов, как HTTP (порт 80) и FTP (порт 21).

Сканирование портов позволяет определить, какие службы запущены и прослушивают соединения, что может быть особенно полезно для обнаружения потенциальных уязвимостей в системе безопасности.

Скрипт Bash для сканирования портов

Bash (Bourne Again SHell) – это мощная оболочка, с помощью которой можно создавать скрипты для автоматизации задач в среде Linux.

Наш скрипт будет принимать два аргумента – IP-адрес для сканирования и диапазон портов для сканирования.

Вот простой скрипт на Bash, который сканирует ряд портов:

#!/bin/bash

ip=$1
startport=$2
endport=$3


function portscan {
    for ((counter=$startport; counter<=$endport; counter++))
    do
        (echo > /dev/tcp/$ip/$counter) > /dev/null 2>&1 && echo "$counter open"
    done
}

portscan

Принцип работы скрипта

Первая строка (#!/bin/bash): Эта строка известна как shebang.

🌐 Шпаргалка по скриптам Bash

Она сообщает системе, что данный скрипт должен быть выполнен с помощью оболочки Bash.

Строки 3-5: Сценарий принимает три аргумента. $1 – IP-адрес, $2 – номер начального порта и $3 – номер конечного порта.

Строки 7-12: Здесь определяется функция portscan, которая сканирует каждый порт в заданном диапазоне.

Она пытается перенаправить эхо-вывод на определенный порт по IP-адресу.

Если запись в port прошла успешно (значит, порт открыт), то выводится номер порта, за которым следует “open”.

Использование скрипта

Для использования необходимо предоставить ему права на выполнение и запустить его с IP-адресом и диапазоном портов для сканирования.

  • Сохраните скрипт в файл, например portscan.sh
  • Сделайте скрипт исполняемым: chmod +x portscan.sh
  • Запустите скрипт с IP-адресом и диапазоном портов: ./portscan.sh 192.168.1.1 20 80
  • Будет произведено сканирование портов с 20 по 80 на IP-адресе 192.168.1.1.

Заключение

Несмотря на то, что данный скрипт подходит для базового сканирования портов, в нем отсутствуют многие функции, присущие более продвинутым инструментам, таким как nmap, например, обнаружение служб, определение ОС и более продвинутые методы сканирования портов.

Однако он позволяет понять, как работает сканирование портов и как его можно выполнить с помощью простого скрипта Bash.

см. также:

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий