Как проверить наличие открытых портов в Debian 10
Как проверить наличие открытых портов в Debian 10
Проверка портов очень важна для проверки того, какие порты открыты и прослушиваются в вашей системе. Сервисы прослушивания могут быть отправной точкой для хакеров, которые могут использовать уязвимости в системах для получения доступа или взлома системы. Не рекомендуется продолжать работу службы, если вы ее не используете. Кроме того, это требует дополнительных ресурсов. Следовательно, необходимо постоянно проверять открытые порты в вашей системе.
В этой статье мы объясним, как проверить наличие открытых портов в системе Debian 10 четырьмя различными способами.
Примечание. Команды и процедуры, обсуждаемые в этой статье, были протестированы в системе Debian 10 Buster.
Находим открытые порты в Windows 10
Для нахождения открытых портов будем использовать консоль Windows со встроенными утилитами.
Нажмите Win + R , чтобы вызвать диалоговое окно «Выполнить», и введите «cmd» для запуска консоли.
Команда для получения списка открытых портов:
Типы адресов
Локальный адрес указывает на IP вашего устройства, а внешний — того, кто к нему подключен. Условно их можно разделить на несколько типов:
- 127.0.0.1 — локальный адрес, как правило, вирусами не используется.
- 0.0.0.0 — устройство может иметь несколько IP адресов, и такое обозначение указывает что порт прослушивается на всех.
- [::] — то же самое что и 0.0.0.0 , но в другой системе адресации — IPv6.
- 192.168.0.число — назначается устройству во внутренней локальной сети.
- Все остальные обычно относятся к внешней сети — интернету.
Состояние порта
Возможны следующие состояния:
- LISTENING — за дверью следят, но диалога из сети не ведется.
- ESTABLISHED — соединение установлено, ведется диалог.
- TIME_WAIT — соединение закрыто, но ещё некоторое время за дверью будут следить.
PID в последнем столбце указывает на идентификатор процесса, который следит за портом. Для вывода детальной информации наберите команду:
- /FI — фильтр по списку запущенных процессов;
- PID eq 3984 — условие фильтрации — вывод информации о процессе с конкретным идентификатором.
Найдите открытые порты (порты прослушивания) в Ubuntu
Использование команды netstat
Это инструмент командной строки, который может предложить нам информацию, связанную с IP-адресами, сетевыми подключениями, портами и услугами которые обмениваются данными в этих портах.
Если у вас не установлен этот инструмент в Ubuntu, вы сможете получить его, открыв терминал (Ctrl + Alt + T) и используя команду:
Установка завершена, если захотим перечислить порты, доступные на сервере, выполните следующую команду:
После выполнения команды вместе с предыдущими параметрами мы должны увидеть на экране что-то похожее на следующее:
Параметры, которые мы используем в предыдущей команде, будут следующими:
- -p Отображает PID.
- -l Показывает только прослушивающие порты.
- -n Он покажет нам числовые адреса вместо разрешения хостов.
- -u Показать порты UDP.
- -t Показать TCP-порты.
В случае желания просматривать только определенное имя службы или порт, мы можем использовать команду в терминале NetStat с параметрами, которые мы использовали в предыдущей команде, а также будем использовать GREP.
Использование команды lsof
Это еще один известный Инструмент мониторинга Unix-подобных операционных систем, который используется для отображения всех файлов на диске, которые процессы остаются открытыми, включая открытые сетевые сокеты и каналы, среди других типов.
Команда Lsof — еще одна доступная утилита, которую мы сможем запустить в терминале Ubuntu и которая это позволит нам видеть сетевую информацию. Чтобы перечислить все TCP-порты, которые прослушивают, нам нужно будет использовать только команду lsof со следующими параметрами:
Использование команды ss
По умолчанию netstat не установлен в Ubuntu, но мы можем найти команду доступной ss который устанавливается вместо netstat. Как и в случае с netstat, команда ss используется для отображения сетевой информации в системах Gnu / Linux. Оба имеют почти одинаковые параметры команд, поэтому для проверки портов прослушивания все, что вам нужно сделать, это открыть терминал (Ctrl + Alt + T) и написать в нем:
Результат предыдущей команды, как и ранее с командой netstat, должен показать нам нечто похожее на следующий снимок экрана:
Если вы посвятили себя управлению сервером или являетесь веб-мастером и хотите убедиться, что на вашем сервере Ubuntu открыты только необходимые порты, шаги, которые мы только что рассмотрели, могут быть полезны при поиске портов прослушивания, которые не используются и могут представлять опасность.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Открытые порты, три варианта их поиска в Ubuntu 18.04
Используем команду netstat для просмотра открытых портов
Портами называют натуральные числа, которые записываются в заголовках протоколов передачи данных (TCP, UDP и так далее). Они определяют процесс получения и передачи информации в рамках одного хоста и в большинстве случаев используются онлайн-программами для установки соединения. Просмотр открытых портов может понадобиться в случае определения работоспособности приложений или при стандартном мониторинге сети. Лучше всего с этим справится команда netstat, а ее активация доступна с применением разных аргументов.
Отображение всех подключений и ожидающих портов
Самый простой аргумент, применяемый к утилите netstat, имеет обозначение -a, и отвечает за вывод сведений обо всех активных подключениях их портов, которые ожидают соединения. Такая информация доступна к просмотру без применения прав администратора и выводится на экран следующим образом:
- Поскольку рассматриваемая команда является консольной, потребуется запустить приложение, чтобы ее выполнить. Откройте меню «Пуск», найдите там «Командную строку» и запустите ее. О других методах перехода в консоль читайте в другом нашем материале по следующей ссылке.
В поле ввода напечатайте netstat -a , а затем нажмите на клавишу Enter.
Мониторинг производится в режиме реального времени, поэтому не все результаты будут доступны к просмотру сразу. Придется подождать немного времени, чтобы все они могли прогрузиться. Во время этого не закрывайте консоль, если не хотите прервать процесс, ведь при повторном запуске команды все начнется заново.
Постраничное отображение открытых портов
К сожалению, приведенный выше вариант отображает не все необходимые данные об открытых портах, поскольку выводит он только те параметры, которые на текущий момент находятся в состоянии LISTENING. К тому же там не указывались уникальные идентификаторы процессов (PID), что тоже играет важную роль во время определенного мониторинга. Потому советуем обратить внимание немного на другие аргументы.
- В консоли пропишите netstat -aon | more и нажмите на Enter.
Не все порты выводятся сразу, поэтому нужно жать на Enter, чтобы каждый раз отображать еще по одной строке.
Если вы увидите поле ввода, значит все страницы были успешно выведены на экран.
Теперь хотелось бы поговорить про используемые аргументы и значение увиденных параметров. Давайте сначала затронем знакомые буквы синтаксиса:
- -a — как известно, отображает сведения обо всех подключениях;
- -o — отвечает за включение колонки с идентификатором каждого адреса;
- -n — переводит адреса портов и их номера в числовой формат;
- more — постраничный вывод элементов.
Важно также уточнить и состояние портов, поскольку они могут являться открытыми, но на этот момент не использоваться или ожидать своего подключения. В колонке «Состояние» могут отображаться такие показатели:
- CLOSE_WAIT — подключение ожидает своего закрытия;
- CLOSED — подключение было успешно закрыто;
- ESTABLISHED — активная работа соединения;
- LISTENING — ожидается соединение или еще говорят: «Слушается порт»;
- TIME_WAIT — время ответа было превышено.
Эти объяснения должны разобраться помочь не только с составлением запросов для netstat, но и без проблем разобраться с полученной информацией.
Запись результатов в текстовый файл
Иногда требуется сохранить готовые результаты мониторинга в текстовый файл, чтобы выполнить дальнейшие действия, ведь копировать информацию прямо из консоли не всегда удобно, да и займет это намного больше времени, нежели просто указать дополнительный аргумент при вводе команды.
- Напишите, например, netstat -aon | more или netstat — a , а затем добавьте > netstat.txt , что означает запись результатов в указанный файл (он будет создан в пользовательской папке). После ввода нажмите на Enter.
Запустите файл, введя его название и формат в консоли.
Теперь вы можете управлять содержимым и сохранить его в любом другом удобном месте.
Поиск по содержимому
В случае необходимости отображения только подключений с определенными параметрами или адресами лучше всего использовать дополнительную команду find, которая перед выводом сведений произведет фильтрацию данных, и это освободит вас от надобности вручную искать каждый соответствующий пункт. Тогда полная консольная команда приобретает следующий вид:
- Введите netstat -a | find /I "LISTENING" , что задаст параметр отображения только портов с состоянием LISTENING, аргумент /I при этом используется для отмены учета регистра символов.
В результатах отобразится только подходящая информация.
Выше вы узнали о методах определения открытых портов через встроенную команду netstat. После этого можете приступить к работе с программами или пробросу других портов в случае необходимости. К слову, этой теме посвящен отдельный материал на нашем сайте. Перейдите по указанным ниже ссылкам, чтобы ознакомиться с подробными инструкциями.
Команда netstat всегда показывает правильные результаты, однако если хотите убедиться в открытости порта другим путем, рекомендуем задействовать специальные онлайн-сервисы, позволяющие справиться с поставленной задачей.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Друзья, в недавней публикации, которая посвящалась фанатам игры Майнкрафт, я в очередной раз заострял внимание на том, что сетевая безопасность — это наше все. Ведь никому же не хочется, чтобы какой-то нехороший дядька получил доступ к вашему личному электронному кошельку, или, например, зашифровал все файлы на компьютере.
Конечно, все мы пользуемся современными антивирусными решениями, но порой сами даем злоумышленникам лишний повод зайти к нам в гости без приглашения. Я сейчас имею в виду "проброс" портов для нужд различных онлайн-игр и прочих сетевых приложений.
Содержание статьи:
Поэтому пришло время поговорить о том, как проверить открытые порты компьютера через командную строку. И поверьте, это очень просто. С этим справиться даже первоклассник. 😉
Все дальнейшие действия будут показаны на примере Windows 10, хотя и в других версиях данной ОС все происходит аналогично. Итак, начинаем "колдовать". Для этого первым делом жмем правой кнопкой мыши по кнопке "Пуск" и открываем командную строку.
В ней вводим простенькую команду следующего вида:
После этого запустится процесс сканирования. Естественно, здесь нужно немножко подождать, поэтому надо запастись терпением или чаем. 😉 И вот, на рисунке ниже в желтой рамке показаны открытые порты. Как видите, в графе "Состояние" они помечены как "LISTENING" (то есть слушающий).
Если же вместо этого значения будет надпись "ESTABLISHED", значит, в это время соединение установлено и идет передача данных между двумя узлами сети. Вот так это выглядит наглядно.
Посмотрите, во втором и третьем столбцах показаны IP-адреса этих узлов. В моем случае никакой опасности нет, поскольку адрес "127.0.0.1" относится к одному и тому же локальному компьютеру. То есть все происходит в пределах домашнего компа, внешней угрозы нет.
Также могут присутствовать в общем списке значения типа "CLOSE_WAIT" (ожидания закрытия соединения) и "TIME_WAIT" (превышение времени ответа). Внимание на скриншот ниже.
Хорошо, вот мы узнали какие порты открыты, но что делать дальше с этим хозяйством? На самом деле все просто. Рассмотрим ситуацию на реальном примере. Допустим мы хотим узнать, какой программой открыт порт "1688" (он выделен на рисунке выше).
Для этого нужно скопировать значение из последнего столбца, который называется "PID". В нашем случае это цифра "9184". Теперь следует открыть диспетчер задач Windows одновременным нажатием клавиш "Ctrl+Alt+Del", а затем перейти на вкладку "Подробности".
Далее в графе "ИД процесса" можно без труда найти нужное нам значение и понять, что за приложение его использует. Нажав, например, правой кнопкой мыши по названию задействованного процесса, появится возможность почитать о нем в интернете либо сразу перейти в папку размещения его исполнительных файлов.
На этом рассказ о том, как проверить открытые порты компьютера через командную строку Windows 10 и 7 версий подошел к завершению. Если остались какие-то вопросы, задавайте их в комментариях к публикации.
А уже в скором времени я покажу вам еще одну специализированную программу для этих целей, которая призвана еще более автоматизировать процесс определения активных сетевых соединений. На этом все пока и давайте смотреть интересный видеоролик.
Думаю, если Вы нашли эту статью и собираетесь проверить какие порты открыты на ПК, то объяснять что такое порты, для чего они нужны и как используются различными программами, не нужно. Перейдем сразу к делу.
Возле номера каждого сокета в квадратных скобках указана программа, которая его использует (исполняемое имя файла).
Если Вы обнаружили, что какой-то порт использует программа, которую Вы не запускали и которая похожа на троян или вирус, то его следует закрыть. Закрыть порт можно при помощи фаервола. Однако гораздо быстрей и эффективней будет использовать небольшую бесплатную программу под названием Windows Worms Doors Cleaner (WWDC), которую Вы можете скачать прямо сейчас (51Kb).
После запуска она покажет список открытых сокетов, которые представляют опасность, и которые специалисты в области информационной защиты настоятельно рекомендуют держать отключенными: 135, 445, 137-139. Чтобы сделать их неактивными, просто нажмите кнопки справа от каждого красного значка:
После вступлений изменений в силу Вы получите такую картину:
Преимущество программы WWDC перед фаерволами состоит в том, что она не просто блокирует открытые порты, но закрывает их, отключая службы, которые их используют. Это, как Вы понимаете, гораздо эффективнее, потому что устраняет источник проблемы, а не симптомы.
4) Посмотреть открытые порты Linux с помощью утилиты Nmap
Nmap — это бесплатный инструмент с открытым исходным кодом для сканирования сети, обычно используется для обнаружения открытых портов удаленных систем. По умолчанию Nmap не установлен в ОС Linux. Чтобы установить Nmap, введите команду:
$ sudo apt install nmap (для Debian/ Ubuntu)
$ sudo yum install nmap (для RedHat/ CentOS)
$ sudo dnf install nmap (для Fedora)
$ pacman -S nmap (ArchLinux)
Чтобы найти открытые порты TCP, выполните команду:
$ nmap -sT -O localhost
Пример вывода
Чтобы найти открытые порты UDP, выполните команду:
$ nmap -sU localhost
Пример вывода
Каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.
Если вы хотите освоить функционал системного администратора Linux на практике, приглашаем на наш практикум Linux by Rebrain.
3. Используя программу Nmap
Nmap — это мощный и популярный инструмент исследования сети и сканер портов. Для установки nmap в вашу систему используйте стандартный менеджер пакетов как показано ниже.
На Debian/Ubuntu/Linux Mint:
На CentOS/RHEL:
На Fedora 22+:
На Arch Linux:
Для сканирования открытых/прослушиваемых портов на вашей системе Linux, запустите следующую команду (она может занять долгое время для завершения):
Использование NirSoft CurrPorts
Если вы не любите командную строку или предпочли бы использовать простую утилиту, чтобы сделать всё это за один шаг, мы рекомендуем отличный бесплатный CurrPorts. Загрузите инструмент. Только убедитесь, что вы получили правильную версию (обычная версия для 32-разрядной версии Windows, а версия x64 – для 64-разрядной Windows). Это портативное приложение, поэтому вам не нужно его устанавливать. Просто распакуйте папку загрузки и запустите исполняемый файл.
В окне CurrPorts отсортируйте по столбцу «Локальный порт», найдите порт, который вы исследуете, и вы можете увидеть всё: имя процесса, ID, порт, полный путь к процессу и т.д.
Чтобы сделать это ещё проще, дважды щелкните любой процесс, чтобы увидеть каждую деталь в одном окне.
Когда вы определите, какое приложение или служба связаны с порт, – Вы сможете решить, как его использовать. Если это приложение, то можно указать другой номер порта. Если это сервис или у вас нет возможности указать другой номер порта – вероятно, Вам придётся остановить службу или удалить приложение.