Linux как узнать какая программа занимает порт

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

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

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

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

Как посмотреть открытые порты в Linux / какие прослушиваются порты в Linux

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

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

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

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

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

2. Как узнать какие порты открыты в Linux ? / Порты / Linux / Netstat / ss / lsof / Nmap

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

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

Что мы увидим в порядке.

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

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

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

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

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

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

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

Читайте также:
2 укажите недопустимые имена программ на паскале

Программный порт – это условное число от 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

Читайте также:
Какие программы для World of Tanks

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

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

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

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

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

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

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

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

Как узнать, какой номер порта прослушивает процесс в Ubuntu.

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

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

Обратите внимание, что мы использовали Ubuntu 20.04 для выполнения команд и процедур, упомянутых в этой статье.

Метод 1. Использование команды netstat

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

sudo apt install net-tools

Чтобы найти номера портов, которые прослушиваются процессами, выполните в Терминале следующую команду:

sudo netstat -ltnp

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

Если у вас нет прав sudo и вы запускаете указанную выше команду без sudo, она не будет отображать имя программы и PID, как показано в следующих выходных данных.

Теперь посмотрим, что означает ltnp в приведенной выше команде:

l – показать сокеты для прослушивания
t – показать TCP-соединения
n – показать IP-адреса и номера портов в числовой форме
p – показать PID / название программы

Если мы посмотрим на вывод $ sudo netstat -ltnp , четвертый столбец – это именно то, что мы ищем: номер порта, который прослушивает процесс.

Чтобы получить информацию о порте одного процесса, вы можете просто передать вывод netstat по конвейеру с помощью команды grep.

Читайте также:
Я написал программу что дальше

Например, чтобы найти номер порта по sshd, используйте следующую команду:

sudo netstat -ltnp | grep ‘sshd’

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

sudo netstat -ltnp | grep -w ‘:80’

Метод 2: использование команды lsof

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

Если lsof еще не установлен в вашей системе, используйте следующую команду в Терминале, чтобы установить его:

sudo apt install lsof

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

Теперь, чтобы найти процесс, прослушивающий определенный порт, скажем, порт 22, используйте следующую команду:

sudo lsof -i:22

Эта команда вернет все процессы, запущенные на порту 22.

Метод 3: Использование команды fuser

Fuser – это команда Linux, которая используется для определения идентификатора процесса, использующего файл, каталог или файловую систему. Мы можем использовать эту команду, чтобы найти процесс, запущенный на определенном порту.

Для использования команды fuser вам потребуется утилита psmisc. Если он еще не установлен в вашей системе, выполните следующую команду, чтобы установить его:

sudo apt install psmisc

Чтобы просмотреть процессы, запущенные на любом порту, скажем, TCP-порт 22, выполните следующую команду в терминале:

sudo fuser 22/tcp

Приведенная выше команда вернула процесс, прослушивающий порт номер 22. Теперь, чтобы просмотреть имя процесса по любому идентификатору процесса, используйте следующую команду:

ps -p [идентификатор процесса] -o comm =
В нашем случае это было бы

ps -p 1823 -o comm =

Из вышеприведенного вывода мы можем найти имя процесса sshd по идентификатору процесса 1823. Это означает, что sshd с идентификатором процесса 1823 прослушивает порт 22.

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

Источник: admin812.ru

Федоренко на связи

В этой заметке я расскажу про то, как можно проверить COM порт в Linux.

Для этого нам понадобятся:

  • права на чтение и запись в COM порт
  • программа minicom
  • кусок толстого многожильного кабеля
Права доступа

проверяем какие у нас в системе есть COM порты, а также наши права на них:

# ls -l /dev/ttyS* /dev/ttyUSB*
crw-rw—- 1 root dialout 4 , 64 Дек 21 11 : 46 / dev / ttyS0
crw-rw—- 1 root dialout 4 , 65 Дек 8 15 : 43 / dev / ttyS1
crw-rw—- 1 root dialout 4 , 66 Дек 8 15 : 43 / dev / ttyS2
crw-rw—- 1 root dialout 4 , 67 Дек 8 15 : 43 / dev / ttyS3
crw-rw—- 1 root dialout 188 , 0 Дек 21 07: 27 / dev / ttyUSB0

/dev/ttyS0 это первый COM порт
/dev/ttyS1 соответственно второй COM порт
/dev/ttyUSB0 специальный кабель-переходник из USB в COM (Gembird UAS111)

Как мы видим для работы с COM портом необходимы права root либо пользователь должен входить в группу dialout

Провод для связи

Берём многожильный кабель в оплётке длиной 4-6 см, и соединяем 2 и 3 выводы COM порта перемычкой из этого кусочка провода. Оплётка будет удерживать провод на контактах, а металлические жилы внутри будут проводниками.
Для любителей паять можно предложить спаять полный loop-back тестер. В нём соединить не только контакты приёма передачи, но и аппаратный контроль потока и готовность терминала.

Работа с программой minicom

Для начала необходимо настроить программу minicom

+————[конфигурация]————+
| Каталоги и файлы
| Протоколы
| Настройка последовательного порта
| Модем и дозвон
| Экран и клавиатура
| Сохранить настройки как dfl
| Сохранить настройки как.
| Выход
| Выход из Minicom
+————————————+

Выбираем «Настройка последовательного порта»

+————————————————————————+
| A — Последовательный порт : /dev/ttyS0
| B — Размещение lock-файла : /var/lock
| C — Программа при выходе :
| D — Программа при запуске :
| E — Скорость/Чётность/Биты : 115200 8N1
| F — Аппаратное управление потоком : Да
| G — Программное управление потоком : Нет
|
| Какую настройку изменить?
+————————————————————————+

Если нужно, меняем СОМ порт, нажимая «A»
Отключаем аппаратное управление потоком, нажимая «F»
Выходим из настроек «Enter»
Сохраняем настройки по умолчанию «Сохранить настройки как dfl»
Выходим из minicom

Собственно проверка СОМ порта

Запускаем minicom без параметров.

Пробуем нажимать на клавиши. В ответ на экране должны появляться символы.
Проверка COM порта под linux завершена.

Эта запись была сделана 21.12.2010, 13:50 под рубрикой Разное. Вы можете подписаться на эту запись с помощью RSS 2.0. Both comments and pings are currently closed.

Источник: feser.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru