TCP сканирование
TCP - это протокол с отслеживанием состояния, поскольку он поддерживает состояние соединений. TCP-соединение включает трехстороннее квитирование серверного сокета и клиентского сокета. Пока серверный сокет прослушивает, клиент отправляет SYN, а затем сервер отвечает SYN-ACK. Затем клиент отправляет ACK для подтверждения соединения
Чтобы сканировать открытый порт TCP, сканер отправляет на сервер SYN-пакет. Если SYN-ACK отправляется обратно, значит порт открыт. И если сервер не завершает рукопожатие и отвечает RST, то порт закрывается.
UDP сканирование
UDP, с другой стороны, является протоколом без сохранения состояния и не поддерживает состояние соединения. Он также не включает трехстороннее рукопожатие.
Чтобы сканировать порт UDP, сканер UDP отправляет пакет UDP на порт. Если этот порт закрыт, генерируется пакет ICMP и отправляется обратно источнику. Если этого не произошло, значит порт открыт.
Сканирование портов UDP часто ненадежно, поскольку пакеты ICMP отбрасываются брандмауэрами, что приводит к ложным срабатываниям для сканеров портов.
Сканеры портов
Теперь, когда мы рассмотрели, как работает сканирование портов, мы можем перейти к другим сканерам портов и их функциям.
Nmap
Nmap - самый универсальный и комплексный сканер портов, доступный до сих пор. Он может делать все, от сканирования портов до снятия отпечатков пальцев. Операционные системы и сканирование уязвимостей. Nmap имеет как интерфейсы CLI, так и GUI, графический интерфейс называется Zenmap. У него есть множество различных опций для быстрого и эффективного сканирования. Вот как установить Nmap в Linux.
sudo apt-get updatesudo apt-get upgrade -y
sudo apt-get install nmap -y
Теперь мы будем использовать Nmap для сканирования сервера (hackme.org) для открытых портов и для вывода списка служб, доступных на этих портах, это очень просто. Просто введите nmap и адрес сервера.
nmap hackme.org
Чтобы сканировать порты UDP, включите параметр -sU с sudo, потому что для этого требуются привилегии root.
sudo nmap -sU hackme.org
В Nmap доступно множество других опций, таких как:
-p-: сканировать все 65535 портов-sT: сканирование TCP-соединения
-O: сканирование на наличие работающей операционной системы
-v: подробное сканирование
-A: Агрессивное сканирование, сканирование всего
-T [1-5]: установить скорость сканирования
-Pn: в случае, если сервер блокирует пинг
Zenmap
Zenmap - это графический интерфейс Nmap для любителей кликов, так что вам не придется запоминать его команды. Чтобы установить его, введите
sudo apt-get install -y zenmap
Чтобы сканировать сервер, просто введите его адрес и выберите один из доступных вариантов сканирования.
Netcat
Netcat - это необработанный писатель портов TCP и UDP, который также может использоваться в качестве сканера портов. Он использует сканирование соединений, поэтому он не такой быстрый, как Network Mapper. Чтобы установить его, введите
[электронная почта защищена]: ~ $ sudo apt install netcat-Traditional -yЧтобы проверить открытый порт, напишите
[электронная почта защищена]: ~ $ nc -z -v hackme.org 80… Отрезать…
hackme.org [217.78.1.155] 80 (http) открыто
Чтобы просканировать диапазон портов, введите
[электронная почта защищена]: ~ $ nc -z -nv 127.0.0.1 20-80(НЕИЗВЕСТНО) [127.0.0.1] 80 (http) открыто
(НЕИЗВЕСТНО) [127.0.0.1] 22 (ssh) открыто
Unicornscan
Unicornscan - это комплексный и быстрый сканер портов, созданный для исследователей уязвимостей. В отличие от Network Mapper, он использует собственный распределенный стек TCP / IP на уровне пользователя. В нем много функций, которых нет в Nmap, некоторые из них предоставляются,
- Асинхронное TCP-сканирование без сохранения состояния со всеми вариантами TCP-флагов.
- Асинхронный захват TCP-баннера без сохранения состояния
- Сканирование UDP для асинхронного протокола (отправка подписи, достаточной для получения ответа).
- Активная и пассивная удаленная идентификация ОС, приложений и компонентов путем анализа ответов.
- Регистрация и фильтрация файлов PCAP
- Вывод реляционной базы данных
- Поддержка настраиваемых модулей
- Индивидуальные представления наборов данных
Чтобы установить Unicornscan, введите
[электронная почта защищена]: ~ $ sudo apt-get install unicornscan -y
Чтобы запустить сканирование, напишите
[адрес электронной почты защищен]: ~ $ sudo us 127.0.0.1TCP открыть ftp [21] из 127.0.0.1 ттл 128
TCP открыть smtp [25] из 127.0.0.1 ттл 128
TCP открыть http [80] из 127.0.0.1 ттл 128
… Отрезать…
Заключение
Сканеры портов пригодятся, будь вы DevOp, геймер или хакер. Между этими сканерами нет реального сравнения, ни один из них не идеален, у каждого из них есть свои достоинства и недостатки. Это полностью зависит от ваших требований и от того, как вы их используете.