Программы для сканирования портов linux
nmap — это аббревиатура от «Network Mapper», на русский язык наиболее корректно можно перевести как «сетевой картограф». Возможно, это не лучший вариант перевода на русский язык, но он довольно точно отображает суть — инструмент для исследования сети и проверки безопасности. Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X.
Рассмотрим использование утилиты в Debian. В стандартной поставке дистрибутива nmap отсутствует, установим его командой
Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:
Хинт: Если во время сканирования нажать пробел — можно увидеть текущий прогресс сканирования и на сколько процентов он выполнен. Через несколько секунд получаем ответ, в котором пока что интересна строчка Device type:
Device type: general purpose|WAP|webcam|storage-misc
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (93%), AXIS Linux 2.6.X (89%), Linksys Linux 2.4.X (89%)
Aggressive OS guesses: Linux 2.6.17 - 2.6.28 (93%), Linux 2.6.9 - 2.6.27 (93%), Linux 2.6.24 (Fedora 8) (92%), Linux 2.6.18 (Slackware 11.0) (92%), Linux 2.6.19 - 2.6.26 (92%), OpenWrt (Linux 2.4.32) (91%), Linux 2.6.22 (91%), Linux 2.6.22 (Fedora Core 6) (90%), Linux 2.6.13 - 2.6.27 (90%), Linux 2.6.9 - 2.6.18 (90%)
No exact OS matches for host (test conditions non-ideal).
Вообще, точную версию ядра средствами nmap определить невозможно, но примерную дату «свежести» и саму операционную систему определить можно. Можно просканировать сразу несколько хостов, для этого надо их перечислить через пробел:
Вернемся к нашему подопытному хосту. Хочется узнать поподробнее, какой используется софт. Попробуем уточнить полученные данные с помощью ключей -sV:
Прогресс налицо — мы узнали точные названия используемых служб и даже их версии, а заодно узнали точно, какая операционная система стоит на сервере. С расшифровкой никаких проблем не возникает, все вполне понятно.
Агрессивное сканирование можно провести, указав ключ -A
Nmap выведет очень много информации, я не стану приводить пример. Сканирование может длится довольно долго, занимая несколько минут.
В локальных сетях или просто имея на руках диапазон ip адресов, удобно проверить их на занятость с помощью ключей -sP:
Сканирование проходит довольно быстро, так как по сути это обычный ping-тест, отвечает ли хост на ping. Следует учесть, что хост может не отвечать на ping из-за настроек фаерволла. Если нужный участок сети нельзя ограничить маской, можно указать диапазон адресов, с какого и по какой надо провести сканирование. Например, есть диапазон адресов с 192.168.1.2 до 192.168.1.5. Тогда выполним:
Ответ будет выглядеть так:
Host 192.168.1.2 is up (0.0023s latency)
Host 192.168.1.3 is up (0.0015s latency)
Host 192.168.1.4 is up (0.0018s latency)
Host 192.168.1.5 is up (0.0026s latency)
В моем случае все ip в данный момент были в сети.
Это далеко не все возможности nmap, но уместить их в рамках одной статьи несколько сложновато.
Если вам ближе GUI — есть замечательная утилита Zenmap — графическая оболочка для nmap, умеющая заодно и строить предполагаемую карту сети.
Хочу предупредить, что сканирование портов на удаленных машинах может нарушать закон.
UDPInflame уточнил, что сканирование портов все-таки не является противозаконным.
Nmap - это очень популярный сканер сети с открытым исходным кодом, который может использоваться как в Windows, так и в Linux. Программа Nmap или Network Mapper была разработана Гордоном Луоном и на данный момент используется специалистами по безопасности и системными администраторами по всему миру.
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.
Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.
Как работает Nmap?
В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.
Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.
Синтаксис Nmap
Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:
$ nmap опции адрес
Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.
- -sL - просто создать список работающих хостов, но не сканировать порты nmap;
- -sP - только проверять доступен ли хост с помощью ping;
- -PN - считать все хосты доступными, даже если они не отвечают на ping;
- -sS/sT/sA/sW/sM - TCP сканирование;
- -sU - UDP сканирование nmap;
- -sN/sF/sX - TCP NULL и FIN сканирование;
- -sC - запускать скрипт по умолчанию;
- -sI - ленивое Indle сканирование;
- -p - указать диапазон портов для проверки;
- -sV - детальное исследование портов для определения версий служб;
- -O - определять операционную систему;
- -T3 - скорость сканирования, чем больше, тем быстрее;
- -D - маскировать сканирование с помощью фиктивных IP;
- -S - изменить свой IP адрес на указанный;
- -e - использовать определенный интерфейс;
- --spoof-mac - установить свой MAC адрес;
- -A - определение операционной системы с помощью скриптов.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Как пользоваться Nmap для сканирования портов в Linux
Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:
nmap -sL 192.168.1.1/24
Иногда это сканирование может не дать никаких результатов, потому что некоторые операционные системы имеют защиту от сканирования портов. Но это можно обойти, просто использовав для сканирования ping всех ip адресов сети, для этого есть опция -sn:
nmap -sn 192.168.1.1/24
Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:
sudo nmap 192.168.1.1
Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.
Чтобы узнать более подробную информацию о машине и запущенных на ней сервисах вы можете использовать опцию -sV. Утилита подключится к каждому порту и определит всю доступную информацию:
sudo nmap -sV 192.168.1.1
На нашей машине запущен ftp, а поэтому мы можем попытаться рассмотреть эту службу подробнее с помощью стандартных скриптов nmap. Скрипты позволяют проверить порт более детально, найти возможные уязвимости. Для этого используйте опцию -sC и -p чтобы задать порт:
sudo nmap -sC 192.168.56.102 -p 21
Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:
sudo find /usr/share/nmap/scripts/ -name '*.nse' | grep ftp
Затем попытаемся использовать один из них, для этого достаточно указать его с помощью опции --script. Но сначала вы можете посмотреть информацию о скрипте:
sudo nmap --script-help ftp-brute.nse
Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:
sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21
В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.
Также можно запустить утилиту с опцией -A, она активирует более агрессивный режим работы утилиты, с помощью которого вы получите большую часть информации одной командой:
sudo nmap -A 192.168.1.1
Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины.
Выводы
В этой статье мы рассмотрели как выполняется сканирование портов nmap, а также несколько простых примеров использования этой утилиты. Эти команды nmap могут быть полезными многим системным администраторам, чтобы улучшить безопасность их систем. Но это далеко не все возможности утилиты. Продолжайте экспериментировать с утилитой чтобы узнать больше только не в чужих сетях!
Если порт открыт это означает, что какая либо программа, обычно сервис, использует его для связи с другой программой через интернет или в локальной системе. Чтобы посмотреть какие порты открыты в вашей системе Linux можно использовать множество различных утилит. В этой статье мы рассмотрим самые популярные способы посмотреть открытые порты Linux.
Как посмотреть открытые порты linux
1. netstat
Утилита netstat позволяет увидеть открытые в системе порты, а также открытые на данный момент сетевые соединения. Для отображения максимально подробной информации надо использовать опции:
- -l или --listening - посмотреть только прослушиваемые порты;
- -p или --program - показать имя программы и ее PID;
- -t или --tcp - показать tcp порты;
- -u или --udp показать udp порты;
- -n или --numeric показывать ip адреса в числовом виде.
Открытые порты Linux, которые ожидают соединений имеют тип LISTEN, а перед портом отображается IP адрес на котором сервис ожидает подключений. Это может быть определенный IP адрес или */0.0.0.0 что означают любой доступный адрес:
sudo netstat -tulpn
Утилита ss - это современная альтернатива для команды netstat. В отличие от netstat, которая берет информацию из каталога /proc, утилита ss напрямую связывается со специальной подсистемой ядра Linux, поэтому работает быстрее и её данные более точные, если вы хотите выполнить просмотр открытых портов это не имеет большого значения. Опции у неё такие же:
Можно вывести только процессы, работающие на 80-том порту:
sudo ss -tulpn | grep :80
3. lsof
Утилита lsof позволяет посмотреть все открытые в системе соединения, в том числе и сетевые, для этого нужно использовать опцию -i, а чтобы отображались именно порты, а не названия сетевых служб следует использовать опцию -P:
Ещё один пример, смотрим какие процессы работают с портом 80:
sudo lsof -i -P | grep :80
4. Nmap
sudo apt install nmap
Затем можно использовать:
Для простого сканирования можно запускать утилиту без опций. Детальнее о её опциях можно узнать в статье про сканирование сети в Nmap. Эта утилита ещё будет полезна если вы хотите посмотреть какие порты на компьютере доступны из интернета.
Если это публичный сервер, то результат скорее всего не будет отличатся от локального сканирования, но на домашнем компьютере все немного по другому. Первый вариант - используется роутер и в сеть будут видны только порты роутера, еще одним порогом защиты может стать NAT-сервер провайдера. Технология NAT позволяет нескольким пользователям использовать один внешний IP адрес. И так для просмотра открытых внешних портов сначала узнаем внешний ip адрес, для надежности воспользуемся онлайн сервисом:
wget -O - -q eth0.me
Дальше запускаем сканирование:
В результате мы видим, что открыт порт 80 веб-сервера и 22 - порт службы ssh, я их не открывал, эти порты открыты роутером, 80 - для веб-интерфейса, а 22 для может использоваться для обновления прошивки. А еще можно вообще не получить результатов, это будет означать что все порты закрыты, или на сервере установлена система защиты от вторжений IDS. Такая проверка портов может оказаться полезной для того, чтобы понять находится ли ваш компьютер в безопасности и нет ли там лишних открытых портов, доступных всем.
5. Zenmap
Программа Zenmap - это графический интерфейс для nmap. Она не делает ничего нового кроме того, что может делать nmap, просто предоставляет ко всему этому удобный интерфейс. Для её установки выполните:
sudo apt install zenmap
Запустить программу можно из главного меню или командой:
Затем введите адрес localhost в поле Цель и нажмите кнопку Сканирование:
После завершения сканирования утилита вывела список открытых портов Linux.
Выводы
В этой статье мы рассмотрели инструменты, которые вы можете использовать для того чтобы узнать узнать открытые порты linux. Инструментов не так много как для просмотра информации об оперативной памяти или процессоре, но их вполне хватает. А какими программами пользуетесь вы? Напишите в комментариях!
В современных операционных системах не обойтись без взаимодействия программ с внешней средой и интернетом. Для этого используется специальные механизмы - порты.
Но порты представляют определённую угрозу. Если в программе есть какая-либо уязвимость, то любой пользователь локальной сети сможет получить доступ к вашему компьютеру, а в некоторых случаях даже к вашей информации. Поэтому нужно быть очень осторожным с открытыми портами. В этой статье мы разберёмся, как посмотреть открытые порты Ubuntu.
Что такое порты и зачем они нужны?
Порты - это более широкое понятие, чем просто возможность подключится к удалённому компьютеру через сеть. Когда процесс хочет обратиться к серверу, ему нужно каким-либо образом идентифицировать, к какому серверу он хочет подключиться. Если мы знаем 32 битный IP-адрес сервера, то мы можем без проблем к нему подключиться.
Таким образом, процесс прослушивает определённый порт на сервере, а клиент, который хочет к нему обратиться, должен знать этот порт. Вся обработка прав доступа к портам в большинстве случаев ложится на процесс, поэтому если в его коде есть уязвимости, то это может стать серьёзной проблемой безопасности.
Открытые порты Ubuntu
Существуют не только порты, к которым программы подключаются удалённо, но и локальные порты, используемые программами для общения между собой. В качестве локальных также могут использоваться удалённые.
В Linux существует несколько утилит, которые можно использовать, чтобы посмотреть открытые порты. Одни из них полноценные сетевые сканеры, другие - локальные утилиты, отображающие всю доступную информацию. Рассмотрим основные из них.
netstat
Это одна из самых старых и популярных утилит для просмотра открытых портов. Мы описывали её в отдельной статье, а сейчас просто кратко рассмотрим, как с ней работать. Чтобы посмотреть открытые порты, выполните такую команду:
netstat -ntlp | grep LISTEN
Опция -l сообщает, что нужно посмотреть прослушиваемые порты, -p показывает имя программы, -t и -u - отображают TCP и UDP порты, а -n показывает ip адреса в числовом виде. Дальше нужно выбрать только те строки, где встречается слово LISTEN, чтобы найти только прослушиваемые порты.
Здесь в первом столбце отображается протокол, затем два столбца - это данные, которые нам ничего полезного не говорят, а за ними уже идут локальный и внешний адреса. Если локальный адрес - 127.0.0.1, то это значит, что сервис доступен только на этом компьютере, а значение 0.0.0.0 или :: означает любой адрес, к таким сервисам могут подключаться из сети. В нашем примере это Apache и systemd-resolvd.
Утилита lsof тоже предназначена для просмотра открытых соединений. Основная ее функция - просмотр открытых файлов, но с её помощью можно посмотреть открытые порты Ubuntu. Используйте такие параметры:
sudo lsof -nP -i | grep LISTEN
Опции -n и -P указывают, что необходимо отображать не только цифровые имена портов и ip-адреса, но и имена доменов и сервисов. Опция -i отображает все сетевые подключения, а с помощью grep мы фильтруем только те, которые находятся в состоянии прослушивания.
Представление информации немного отличается, но в общем и целом мы видим всё ту же информацию. Кроме неё, здесь ещё отображается имя пользователя, от которого запущен процесс. Вы можете не ограничиваться фильтрами и посмотреть все доступные соединения:
Команда ss - это улучшенная версия netstat. Точно так, как для замены ifconfig была придумана утилита ip, ss разработали для замены netstat. Команда будет выглядеть следующим образом:
Все данные здесь выводятся почти так же, как и в netstat, поэтому вы легко во всём разберётесь. В дополнение к выше перечисленным командам: возможно, вам нужно будет посмотреть на правила брандмауэра iptables, чтобы понять, какие порты закрыты с его помощью:
В нашем примере нет никаких ограничений. Политика по умолчанию - ACCEPT. На промышленных серверах может применяться политика DENY, а нужные порты будут разрешены с помощью правил.
Сетевой сканер nmap позволяет проверить список портов Ubuntu так, как бы это делал злоумышленник при попытке атаки на вашу систему. Здесь вы будете видеть все порты, которые видны снаружи. Но для сканирования нужно использовать внешний ip-адрес. Не сетевой ip-адрес провайдера, а адрес вашего компьютера, например, в локальной сети чаще всего используется 192.168.1.2. Посмотреть ip вашего сетевого интерфейса можно с помощью команды ifconfig:
Чтобы просто просканировать открытые порты Ubuntu, будет достаточно выполнить:
nmap -sT 192.168.1.3
Также можно выполнить комплексное сканирование всех уязвимостей. Важно отметить, что команда не находит все уязвимости, а проверяет только самые простые. Для активации этого режима используется опция -A:
sudo nmap -A 192.168.1.3
Как пользоваться nmap, читайте в отдельной статье.
Выводы
В этой статье мы рассмотрели, как проверить порты Ubuntu с помощью нескольких утилит. Все они выводят подробную информацию, но для каждого отдельного случая может лучше подойти только одна из них. Например, проверять какие порты видят другие компьютеры извне лучше с помощью nmap. А чтобы посмотреть, какие службы или сокеты доступны локально, лучше применять netstat или ss.
Проверяйте, какие порты открыты, и если они не нужны, то закройте их в брандмауэре или просто отключите сервис. Иначе они ставят под угрозу безопасность вашей системы. Например, у меня на ноутбуке открыт порт SSH, и я не раз наблюдал в логах попытки перебрать пароль от каких-то роутеров из локальной сети. И если даже вас некому ломать, это могут сделать вирусы. Так что будьте осторожны, и не оставляйте открытые порты, если в этом нет необходимости.
Port scanning is a crucial thing in the world of networking. Actually, the network traffic is sent and received through the ports of an IP address. So, to find out the open ports capable of sending and receiving data, you have to use port scanning software. Anyways, I am not giving a lecture on “Fundamentals of Networking” here. I am assuming that you are aware of the basics of port scanning since you are looking for port scanners for your Linux system.
Port scanner tools are used mostly by network or server administrators. But there are some personal use cases too. Sometimes, gamers and ethical use this method to find out the backdoors of a network for research purposes. No matter why you are using it, a good port scanner can make your job much easier. Luckily Linux has a wide range of port scanner packages to install, and we are going to talk about them.
Best Linux Port Scanners for Network Admins
Linux distros are mostly used in server-side applications. This is why you will find more and better quality networking tools in Linux than any other operating system. As I said earlier, there are a decent number of Linux port scanners available out there. But most of them are too complex and for advanced users. This is why you won’t find enough resources on the internet about them. So, I have decided to make a list of the best port scanners available for the Linux platform.
1. Nmap
Nmap is the most widely used port scanner available for the Linux system out there. You will be surprised to know that it can perform various network-related tasks and available for multiple platforms. And, the tool is open-source which can be used completely free of cost. From casual gamers to professional server admins, it is preferred by all. You can access the tool by using both the command line and the graphical user interface.
Key Features
- Even the command lines are designed with beginners in mind, and the syntax is very simple.
- You can fetch a variety of parameters related to the host, such as OS info, system type, etc.
- Their website provides a detailed guide on port scanning with this tool.
- It has a built-in library listed as the most popular TCP ports that you can use for quick scanning.
- You will get the output in a human-readable format and can also export the report if you want.
Pros: There is a large user base of this tool, and if you face any problem, you will find many resources on the internet to solve that.
Cons: Some additional features will make the beginners lost in the crowd of the features.
2. Unicornscan
Unicornscan is also a very popular Linux port scanner. It doesn’t offer that much flexibility like Nmap. But this is really a decent competitor to Nmap, and it is much easier to use for casual users. This tool is also loaded with some exclusive features and benefits that aren’t even available on paid tools. It supports both TCP and UDP protocols for port scanning. You can use any of them and some other special protocols based on use cases.
Key Features
- It can detect the active operating system and the currently running applications.
- You can store the scanning results in a database through a human-readable format.
- The package is easy to install, and it comes preloaded with the most security-oriented distros.
- You can put your targets in a sequence to perform a multi-scanning.
- The captured packages can also be stored in PCAP file format for further analysis.
Pros: Asynchronous TCP and UDP port scanning is a unique feature of this tool, which is beneficial for most users.
Cons: The official website doesn’t provide many resources on how to operate this tool.
3. Zenmap
Zenmap is nothing new in terms of port scanning. In fact, you will get all the features of Nmap because it used the open-source advantage of Nmap and built on top of that. What you are getting extra is the graphical user interface. This is a lifesaver for those who are not that comfortable with command-line tools. If you are a beginner in networking, you will love this because of the easy-to-use interface.
Key Features
- The UI is a bit backdated, but it is clean and neatly arranged.
- You can access the command wizard right from the main menu.
- There is an option to open previous scan results and save the scan results.
- You can create scan templates based on the most used commands and settings.
- Most of the time, it comes bundled with Nmap, which is a great thing.
Pros: Zenmap has made port scanning easier for inexperienced people. On top of that, some nifty features like preset make it a great companion.
Cons: The developers should update the UI with a modern design language.
4. Angry IP Scanner
This is yet another Linux port scanner. Don’t be confused with the aggressive naming of this too. This tool works like a charm, and I guarantee that it will never make you angry. The most interesting fact about this tool is that it is faster than anything on the market right now. This cross-platform IP scanner has pretty basic functions, but it has a great benefit too. It is very convenient and easy to use, making it the friendliest tool coming in a lightweight package.
Key Features
- It can be used without installation, just like a portable tool.
- You can save scanned results in various file formats such as CSV, TXT, XML.
- Some plugins can extend their functionality which is a big advantage.
- You will get NetBIOS information from the target IP with advanced meta information.
- The users can create custom plugins by using the Java programming language.
Pros: The tool is very flexible, with an option to increase the features by writing codes and using third-party plugins.
Cons: It offers fewer features in terms of vanilla installation than the popular competitors.
5. Netcat
Netcat is a full-fledged networking and security tool released under the GNU license. This thing works like a framework in the background and can work along with other networking tools. Since its original release in 2004, the base version hasn’t got any further updates. But there are several tools out there based on Netcat source code with advanced functionalities. But still, this tool is considered a pioneer in terms of IP scanning and related stuff.
Key Features
- This tool supports both outbound and inbound connections in terms of UDP and TCP protocol.
- The port scanner supports a randomizer which makes it easier to find out open ports.
- You can install it easily from the official repositories on any distribution.
- Netcat supports buffered send-mode, hex dump, and some other advanced features.
- It can be used as a network debugging tool also with some additional perks.
Pros: Being a dated tool, this is very reliable and stable. Almost all the distros are compatible with it.
Cons: It doesn’t have a modern GUI with modern features, which is definitely a downside.
6. Knocker
Knocker is a simple yet powerful Linux port scanner. The tool is written in the C programming language, and the functionalities are pretty basic. In fact, it doesn’t do much other than doing some basic port scanning. But the thing that attracted me is the easy-to-use interface of this tool. If you are a person who doesn’t need many features and wants a lightweight tool, this is worth trying.
Key Features
- This tool is available for multiple platforms other than Linux.
- There are both terminal-based and GTK-based GUI versions available.
- It supports TCP protocol for IP scanning, which is the most common.
- Knocker can provide a report on the services running on a particular port.
- The tool is under active development, and the developer group is very responsive.
Pros: Knocker doesn’t put much stress on the system since it’s very lightweight with just core functionalities.
Cons: It doesn’t have UDP scanning functionality which is kind of a bummer.
7. Vault
Don’t be confused with this name. This is not a locking tool or something like that. Vault is a full-fledged pen-testing tool for your Linux system. It can perform various tasks in terms of networking. The built-in port scanner can perform advanced port scanning in different methods. It supports both TCP and UDP protocols. You will be amazed to know that this Python-based tool is capable of web crawling.
Key Features
- It can scan TCP ports and fetch various information but that open port.
- This tool is compatible with all the Unix operating systems without any issues.
- It doesn’t require any dependency except for the Python development kit.
- Vault has some security features included that can help you in the backdoor analysis.
- You can get it free of cost and can fork it for better usability and advanced features.
Pros: It competes well with advanced tools like Nmap with numerous features.
Cons: It won’t run on your system without Python, which is a thing to consider.
8. UMIT
UMIT is a frontend skin for the popular Linux port scanner, Nmap. That means the open-source developers created UMIT on top of the code of Nmap with a graphical user interface so that the beginners can use it without any command line. It works the same way as Zenmap, which is also a popular fork of Nmap. The UI and the design language of this tool are superb with clean and optimized arrangements. I prefer using it on my Linux machine most of the time.
Key Features
- This tool can compare the results among various port scanning results.
- There are some advanced filtration tools built-in with this for flexible scanning.
- It uses the GTK+ framework for the GUI, and it runs smoothly on any desktop environment.
- There is an expert mode that will give you more options in terms of debugging.
- Saving scan results in the database is a very convenient feature for the network admins.
Pros: UMIT is powered by the same Nmap algorithm with some improvements on the UI side. This is why you can blindly rely on this.
Cons: The latest version dates back to almost 6 years ago, and the developers aren’t interested in further development.
9. NmapSi4
This tool is also built upon Nmap for proving most features with rock-solid stability. Unlike the original Nmap, it does have a functional GTK-based graphical UI that makes it easy to operate. NmapSi4 is very popular among Linux network administrators. On top of that, there are some unofficial ports also with some additional features and functionalities. The best part is that NmapSi4 has one of the most functional UI available with better design and usability.
Key Features
- You can search for hosts and IP addresses with the Network Discover tool.
- The users can create their very own scanning profile for faster access.
- There is a dedicated browser for finding out network vulnerabilities.
- The UI is divided into tabs so that you can easily find your desired functions.
- You are getting support for full Nmap NSE with Traceroute.
Pros: This Nmap fork is very stable, and I didn’t find a single issue while using it on my Debian system.
Cons: The installation needs some workarounds, and it might bother beginners.
10. Sandmap
Sandmap is yet another guardian angel for the system admins who have to work on networking. This Linux port scanner uses the same old Nmap at the backend for network discovery. This tool doesn’t offer a graphical UI. But you will be amazed to see its command-line interface. The syntax is highlighted with colors, and the overall look and feel won’t let you miss a GUI. You can also use easy codes for performing various tasks related to port scanning.
Key Features
- There are some presets with some predefined parameters that you can use for a quick scan.
- It supports NSE for writing scripts to implement advanced tasks.
- You can perform multiple scans, and there’s no software limitation for that.
- There are more than 30 modules available for this tool currently.
- You can read the documentation for quick learning, even if you are a total newbie.
Pros: It has a stylized command-line interface that will be a pleasure for terminal lovers like me.
Cons: Some people might still miss the full-fledged graphical user interface.
Our Recommendation
In fact, all of the above-mentioned tools are great, and I think you can start working by installing any of them. But if you still want a suggestion, then I will highly recommend you to go for any Nmap-based tool. It’s because Nmap has much popularity, and it has a large user base. You will get solutions if you find any issues. And, if you are not comfortable with command lines, Zenmap is a safer choice.
Final Thoughts
Port scanning is an advanced networking task. It can be used for both good and bad purposes. If you use this for checking vulnerability, then it’s totally fine. You should be careful while using it to don’t end up using this on illegal things such as hacking. I hope this article has helped you to know about the best Linux port scanners. Please consider sharing this with your friends because it encourages us to write better articles.
Читайте также: