Какая программа занимает порт. Как посмотреть открытые порты в Linux. Как узнать, какая программа использует какой порт.

Использует программа (или какая программа использует порты ), обычно возникает в случае подозрения на заражение компьютера троянской программой. Если вы заметили что-то подозрительное, откройте командную строку: «Пуск» – «Все программы» – «Стандартные» – «Командная строка».

Введите в командной строке команду tasklist и нажмите Enter. Вы получите данные обо всех запущенных в системе процессах. Обратите внимание на PID – идентификатор процесса. Он поможет определить, какая программа использует тот или иной порт.

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

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

Наберите в командной строке команду netstat –aon и нажмите Enter. Вы увидите список текущих подключений. В графе «Локальный адрес» в конце каждой строки указан номер порта. В графе PID указаны идентификаторы процессов. Посмотрев номер порта и соответствующий ему PID, перейдите к списку процессов и по номеру идентификатора определите, какой процесс использует этот порт.

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

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

Если вы не можете по названию процесса понять, какой программе он принадлежит, воспользуйтесь одной из подходящих в данном случае программ. Например, программой Everest, она же Aida64. Запустите программу, откройте вкладку «Операционная система», выберите «Процессы». В списке процессов найдите нужный вам и посмотрите строку его запуска. Это поможет определить, какой программе принадлежит процесс.

И в случае веб-сервера, порт 80, к которому по умолчанию подключен любой браузер, когда мы устанавливаем связь. Если вам интересно узнать больше имен портов, у вас есть гораздо более исчерпывающий список. В большинстве случаев изменение порта прослушивания службы выполняется по соображениям безопасности. Это затрудняет задачу, но особенно дольше.

Здесь мы получим следующий результат.


Номер порта здесь свободен. Теперь мы будем проверять открытые порты нашего сервера. Уже в это время задача атакующего может быть замедлена. В этой статье мы увидим более элегантное решение, чем перезагрузка серверной машины. Существует альтернатива старой старой перезагрузке машины. Что мы увидим в порядке.

Используйте для той же цели программу AnVir Task Manager. Она позволяет отслеживать все подозрительные процессы, в том числе процессы программ, соединяющихся с интернетом. Все подозрительные процессы выделяются в списке программы красным цветом.

Если вы видите, что порт используется неизвестной вам программой, то при наличии текущего соединения в графе «Внешний адрес» (команда netstat –aon) вы увидите ip-адрес компьютера, с которым установлено соединение. В графе «Состояние» будет стоять значение ESTABLISHED – если соединение присутствует на текущий момент; CLOSE_WAIT, если соединение закрыто; LISTENING, если программа ждет соединения. Последнее характерно для бэкдоров - одной из разновидностей троянских программ.

Перечислите порты, подключенные к процессу прослушивания

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

Завершение процесса прослушивания

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

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

Программный порт – это условное число от 1до до 65535, которое показывает, какому приложению адресован пакет данных. Порт, который работает с программой, называется открытым. Надо иметь в виду, что в текущий момент любой порт может работать только с одной программой.

Если порт открыт это означает, что какая либо программа (например сервис) использует его для связи с другой программой через интернет или в локальной системе. Чтобы посмотреть какие порты открыты в вашей системе Linux можно использовать команду netstat. В выводе будут показаны все сервисы и прослушиваемые ими порты и ip адреса.

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

sudo netstat -ntulp Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2392/smbd
tcp 0 0 0.0.0.0:9518 0.0.0.0:* LISTEN 2894/skype
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2896/vlc
tcp 0 0 127.0.0.1:3493 0.0.0.0:* LISTEN 2467/upsd
...

  • -l или —listening — посмотреть только прослушиваемые порты
  • -p или —program — показать имя программы и ее PID
  • -t или —tcpпоказать tcp порты
  • -u или —udp показать udp порты
  • -n или —numeric показывать ip адреса в числовом виде

Способ 2 lsof

Утилита lsof позволяет посмотреть все открытые в системе соединения, в том числе и сетевые, для этого нужно использовать опцию i.

Таким образом, вы можете быть заблокированы из-за объяснений, перечисленных выше. Этот вариант не откроет сокет в эксклюзивном режиме, и поэтому вы не застрянете в своем развитии. После вашей отладки было бы лучше открыть соединение с явным вариантом. Работа неисключительной опции не является детерминированной.

Программы для управления тем, как программы и приложения используют сеть, порты и соединения и как обмениваться данными через Интернет. Одна из мелочей, которые вы можете сделать для повышения безопасности вашего компьютера, - проверить, какие подключения открыты и как используется пропускная способность сети. В частности, важно контролировать программы, которые пытаются общаться через Интернет или другие внутренние сети. Порт является фиксированным, но другим номером для каждой программы, которая подключается к сети.

dhcpcd 2136 root 6u IPv4 4986 0t0 UDP *:bootpc
hamachid 2323 root 8u IPv4 5587 0t0 TCP 192.168.1.2:35445->212.118.234.65:https (ESTABLISHED)
smbd 2392 root 27u IPv6 5624 0t0 TCP *:microsoft-ds (LISTEN)
sshd 2421 root 3u IPv4 6196 0t0 TCP *:ssh (LISTEN)
upsd 2467 nut 4u IPv4 6235 0t0 TCP comm-app.local:nut (LISTEN)

Еще один пример, смотрим какие процессы работают с портом 80:

sudo lsof -i | grep 80

ntpd 2213 root 23u IPv6 5422 0t0 UDP :ntp
ntpd 2213 root 27u IPv6 5598 0t0 UDP :ntp
skype 2894 serigy 87u IPv4 7080 0t0 TCP *:9518 (LISTEN)
chrome 3114 sergiy 122u IPv4 31904 0t0 TCP 192.168.1.2:47804->srv118-131-240-87.vk.com:https (ESTABLISHED)

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

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

Способ 3. nmap

Nmap — мощный сетевой сканер, разработанный для сканирования и пентестинга удаленных узлов, но ничего не мешает направить его на локальный компьютер:

Starting Nmap 6.47 (http://nmap.org) at 2015-08-02 17:27 EEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00036s latency).
Other addresses for localhost (not scanned): 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1
rDNS record for 127.0.0.1: comm-app.local
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3493/tcp open nut
8080/tcp open http-proxy

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

Каковы этапы сканирования портов?

Возможность обнаружения этих портов без доступа к локальному компьютеру - это, например, пассивный анализ сетевых данных. На этом этапе мы уже знаем, какие порты открыты, и нам нужно знать, что это за сервис. Однако некоторые администраторы используют нестандартные порты для своих услуг, например, из-за их маскировки. Такое поведение называется безопасностью через неясность. При этом вам уже нужно общаться с жертвой, поэтому наиболее вероятно, что вы попытаетесь найти упоминание в записях журнала. Вступление в эту фазу - открытые порты, где мы хотим узнать, какую услугу они предоставляют. Вывод - это службы, которые запускаются на отдельных портах. Последняя фаза сканирования - узнать, какая программа находится на определенном порту. Это снова достигается путем подключения к жертве и обмена данными. Порты - это открытые порты, работающие на этих портах. Выходы - это программы и их версии, запущенные на отдельных портах.

  • Эта фаза может иметь место, если жертва не знает о нападающем.
  • Ввод этой фазы - это порты, о которых нам нужно узнать.
  • Выходной сигнал - это состояние каждого порта.
Очевидно, что не всегда необходимо просматривать все этапы, например, сетевому администратору необходимо знать только, какие порты открыты и были ли какие-либо изменения.

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Если вы хотите посмотреть какие порты на компьютере доступны снаружи, здесь тоже пригодится Nmap. Если компьютер — общедоступный сервер, то результат скорее всего не будет отличатся от локального сканирования, но на домашнем компьютере все немного по другому. Первый вариант — используется роутер и в сеть будут видны только порты роутера, еще одним порогом защиты может стать NAT сервер провайдера. Технология NAT позволяет нескольким пользователям использовать один внешний IP адрес. И так для просмотра открытых внешних портов сначала узнаем внешний ip адрес, для надежности воспользуемся онлайн сервисом:

В то время как злоумышленник должен знать программы и их версии, чтобы он мог проверить в Интернете, чтобы узнать, были ли обнаружены ошибки в этих программах, которые позволили бы ему контролировать свой компьютер. Фазы 2 и 3 часто объединяются в один, или фаза 2 также пропускается, и эта служба выводится из текущей программы. Однако эти этапы будут обсуждаться далее в этой статье.

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

nmap 178.93.149.50

В результате мы можем получить открытый порт 80 веб сервера, или даже 21 — файлового сервера, которых мы не устанавливали, эти порты открыты роутером, 80 — для веб-интерфейса, а 21 для может использоваться для обновления прошивки. А еще можно вообще не получить результатов, это будет означать что все порты закрыты, или на сервере установлена система защиты от вторжений IDS.

Мы, скорее всего, достигли бы лучших результатов, если бы наша программа знала все «языки», о которых говорила служба, и знала их спецификации. Однако такая программа будет очень утомительной для создания и тестирования каждого порта, что будет очень неэффективным.

Программа устанавливает связь с данным портом и отправляет ему триггер и записывает все данные, полученные с этого порта, и завершает связь. Затем он берет базу данных с предопределенными ответами и ищет определенное совпадение с полученными данными. В зависимости от того, что соответствует, он сообщает нам, какая служба работает на этом порту. При сканировании все пускатели, которые знают о значении, отправляются в порт, каждый триггер отправляется в новом соединении. Если кто-либо из вас знает, напишите в комментариях по статье, спасибо.