Как проверить открытые порты linux

Используя команду netcat

Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.

Шаблон вызова утилиты

Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.

Подключаемся к открытому порту и отправим import antigravity

Пример более полезного использования nc – передача файла. На принимающей стороне

На отправляющей стороне

Или можно отдавать файл любому подключившемуся. На передающей стороне

На принимающей стороне

Пример открытия shell’а на определенном порте (источник). На стороне, где нужно открыть шел

Еще один полезный пример с netcat – запуск процесса, с возможностью отслеживания его работы через сеть

Изменение порта SSH

Выполните следующие действия, чтобы изменить порт SSH в вашей системе Linux:

1. Выбор нового номера порта

В Linux номера портов ниже 1024 зарезервированы для известных служб и могут быть связаны только с правами root. Хотя вы можете использовать порт в диапазоне 1-1024 для службы SSH, чтобы избежать проблем с распределением портов в будущем, рекомендуется выбирать порт выше 1024.

В этом примере порт SSH изменится на 3452, вы можете выбрать любой порт, который вам нравится.

2. Настройка брандмауэра

Перед изменением порта SSH сначала необходимо настроить брандмауэр, чтобы разрешить трафик на новый порт SSH.

Если вы используете UFW, средство настройки брандмауэра по умолчанию для Ubuntu запускает следующую команду, чтобы открыть новый порт SSH:

sudo ufw allow 3452/tcp

В CentOS инструментом управления брандмауэром по умолчанию является FirewallD. Чтобы открыть новый порт, выполните следующие команды:

sudo firewall-cmd --permanent --zone=public --add-port=3452/tcp
sudo firewall-cmd --reload

Пользователям CentOS также необходимо настроить правила SELinux, чтобы разрешить новый порт SSH:

sudo semanage port -a -t ssh_port_t -p tcp 3452

Если вы используете iptables в качестве брандмауэра, следующая команда откроет новый порт SSH:

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

3. Редактирование конфигурации SSH

Откройте файл конфигурации SSH /etc/ssh/sshd_config в текстовом редакторе:

sudo nano /etc/ssh/sshd_config

Поиск строки, начинающейся с Port 22. В большинстве случаев эта строка начинается с хеша #. Удалите хэш #и введите новый номер порта SSH, который будет использоваться вместо стандартного порта 22 SSH.

/etc/ssh/sshd_config

Port 3452

Будьте особенно осторожны при изменении файла конфигурации SSH. Неправильная конфигурация может привести к сбою службы SSH.

Когда вы закончите, сохраните файл и перезапустите службу SSH, чтобы применить изменения:

sudo systemctl restart ssh

В CentOS сервис ssh называется sshd:

sudo systemctl restart sshd

Чтобы убедиться, что демон SSH прослушивает новый порт 3452, введите:

ss -an | grep 3452

Вывод должен выглядеть примерно так:

tcp   LISTEN      0        128            0.0.0.0:3452           0.0.0.0:*
tcp   ESTAB       0        0      192.168.121.108:3452     192.168.121.1:57638
tcp   LISTEN      0        128               :3452              :*

Opening a port on Linux to Allow TCP Connections

Let’s open a closed port and make it listen to TCP Connections, for the sake of this example.

Since port 4000 is not being used in my system, I choose to open port 4000. If that port is not open in your system, feel free to choose another closed port. Just make sure that it’s greater than 1023!

Again, just to make sure, let’s ensure that port 4000 is not used, using the or the command.

netstat -na | grep :4000
ss -na | grep :4000

The output must remain blank, thus verifying that it is not currently used, so that we can add the port rules manually to the system iptables firewall.

For Ubuntu Users and ufw firewall based Systems

Ubuntu has a firewall called , which takes care of these rules for ports and connections, instead of the old firewall. If you are a Ubuntu user, you can directly open the port using

sudo ufw allow 4000

You can skip the next few steps, and directly test your newly opened port!

For CentOS and firewalld based Systems

For these types of systems, if you have as your primary firewall, it is recommended that you use the to update your firewall rules, instead of the old firewall.

firewall-cmd --add-port=4000/tcp

NOTE: This will reset the rules to default on a reboot, so if you want to modify this setting permanently, add the flag to the command.

firewall-cmd --add-port=4000/tcp --permanent

You can skip the next few steps, and directly test your newly opened port!

For Other Linux Distributions

So let’s add this new port to our system iptables rules, using the command.

If this command is not yet installed, get it using your package manager.

iptables -A INPUT -p tcp --dport 4000 -j ACCEPT

This sets the firewall to append () the new rule to accept input packets via protocol () TCP where the destination port () is 4000, and specifies the target jump () rule as ACCEPT.

To update the firewall rules, restart the service.

sudo service iptables restart

OR using if you have it.

sudo systemctl restart iptables

Что такое порты и зачем они нужны?

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

Но как указать программу, к которой нужно обратиться? Для решения этой проблемы оба протокола UDP и TCP поддерживают систему портов. Порт — это целое число от 1024 до 65535. Все номера до 1024 зарезервированы и используются только определёнными службами, например, 22 — ssh, http — 80, FTP — 21 и так далее.

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

В брандмауэре системы

Если используется Microsoft Defender, и для работы приложения, игры или сервера требуется, чтобы один или несколько портов были открыты, следует выполнить простые действия.

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

  1. Кликнуть по меню «Пуск» и выбрать системные настройки (значок шестеренки). Или просто нажать сочетание клавиш Win+I.
  2. Открыть раздел «Безопасность».
  3. Перейти на вкладку безопасности Windows. Щелкнуть по пункту «Брандмауэр и защита сети».
  4. Выбрать дополнительные настройки.
  5. Кликнуть левой кнопкой по правилам для входящих подключений на левой панели навигации.
  6. В разделе «Действия» на правой панели выбрать параметр «Создать правило».
  7. В новом окне щелкнуть по опции «Порт». Нажать кнопку «Далее».
  8. Установить соответствующий протокол (TCP или UDP) в зависимости от приложения. Обычно это TCP.
  9. В поле «Определенные локальные порты» ввести номер. Если приложение требует открытия нескольких, можно вписать столько, сколько нужно, при условии, что каждый из них будет разделен запятой (4500, 4600, 5000). В случае если нужно указать диапазон портов, используется дефис (3000-3100). Нажать «Далее».
  10. Выбрать параметр «Разрешить подключение». Нажать кнопку «Далее».
  11. Указать тип сети, чтобы применить правило. Обычно этот параметр остается с настройками по умолчанию. Нажать «Далее».
  12. Ввести имя для правила. Кликнуть по «Далее».
  13. Щелкнуть по кнопке «Готово».

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

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

Когда пользователь не знает, какой именно порт нужно задействовать, необходимо:

  1. После выбора правил подключения отметить опцию «Для программы». Нажать «Далее».
  2. Указать путь к программе. Щелкнуть по «Далее».
  3. Повторить шаги, начиная с п.10.

Определить открытых портов в Linux через nmap

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

Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X. Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом: nmap цель

Следующая команда, запущенная с консоли, определяет, какие порты ждут TCP-соединений из сети: nmap -sT -O localhost

Сканирование всех TCP-порты целевого IP-адреса nmap –sT 192.168.75.131

UDP-сканирование – сканирование хоста на наличие UDP-служб. Это сканирование используется для просмотра открытых UDP-портов. nmap –sU 192.168.75.131

Метод 1: Используя команду netstat

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

Для использования команды netstat необходимо установить утилиту сетевых инструментов, если это уже не установлено в системе посредством следующей команды:

$ sudo apt install net-tools

Тогда выполните следующую команду:

$ sudo netstat -ltnp

Вышеупомянутая команда дает netstat информацию на основе следующих функций:

  • l: отобразите только сокеты слушания
  • t: отобразите соединение TCP
  • n: отобразите адреса в числовой форме
  • p: отобразите идентификатор процесса / Название программы

Например, в вышеупомянутом выводе команды netstat, программа Apache2 с идентификатором 950 процесса работает на номере порта 80.

Можно также отфильтровать статистику для определенного порта путем слияния функции grep в команду.

Пример:

$ sudo netstat -ltnp | grep -w ':80'

Эта команда скажет Вам конкретно, какой процесс работает на номере порта 80.

Шаг 5 — Разрешение других соединений

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

  • соединения HTTP на порту 80, которые используются веб-серверами без шифрования, с помощью команды или
  • соединения HTTPS на порту 443, которые используются веб-серверами с шифрованием, с помощью команды или

Помимо указания порта или службы есть другие способы разрешить другие соединения.

Определенные диапазоны портов

С помощью UFW вы можете указывать диапазоны портов. Некоторые приложения используют для соединений не один порт, а несколько.

Например, чтобы разрешить соединения X11, которые используют порты -, нужно использовать следующие команды:

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

Конкретные IP-адреса

При работе с UFW вы также можете указывать конкретные IP-адреса. Например, если вы хотите разрешить соединения с определенного IP-адреса, например с рабочего или домашнего адреса , вам нужно использовать опцию , а затем указать IP-адрес:

Также вы можете указать определенный порт, к которому IP-адресу разрешено подключаться. Для этого нужно добавить опцию , а затем указать номер порта. Например, если вы хотите разрешить IP-адресу подключаться к порту (SSH), нужно использовать следующую команду:

Подсети

Если вы хотите разрешить подсеть IP-адресов, вы можете указать маску сети с помощью нотации CIDR. Например, если вы хотите разрешить все IP-адреса в диапазоне от до , вы можете использовать следующую команду:

Также вы можете указывать порт назначения, к которому разрешено подключаться подсети . В качестве примера мы используем порт (SSH):

Подключения к определенному сетевому интерфейсу

Если вы хотите создать правило брандмауэра, применимое только к определенному сетевому интерфейсу, вы можете использовать для этого опцию «allow in on», а затем указать имя сетевого интерфейса.

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

В выделенной части результатов показаны имена сетевых интерфейсов. Обычно они носят имена вида или .

Если на вашем сервере имеется публичный сетевой интерфейс под названием , вы можете разрешить трафик HTTP (порт ) для этого интерфейса с помощью следующей команды:

Это позволит вашему серверу принимать запросы HTTP из публичной части интернета.

Если вы хотите использовать сервер базы данных MySQL (порт ) для прослушивания соединений на интерфейсе частной сети (например, ), вы можете использовать следующую команду:

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

Статистика открытых сетевых соединений в Linux через команду «netstat»: описание ее атрибутов

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

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

  • «-l / —listening» — проверка прослушиваемых соединений;
  • «-p / —program» — отображение названия программы и ее PID’а;
  • «-t / —tcp» — отображение TCP-соединений;
  • «-u / —udp» — отображение UDP-соединений;
  • «-n / —numeric» — показ IP-адресов в виде чисел.

Важно! Если соединение открытое и ожидает подключения, то оно обладает типом «listen» и рядом с ним будет указан айпи-адрес, используемый для выполнения этого подключения. Значение IP может быть любым (*/0.0.0.0) или конкретным (в этом случае оно будет указано)

Пример использования «netstat»

Предварительная подготовка

Если UFW не установлен на серверной платформе, используем стандартную утилиту:

sudo apt-get install ufw

Второй вариант – утилита установлена, но неактивна, тогда прописываем:

sudo ufw enable

Важно! Любые действия, связанные с конфигурированием продукта, выполняются с правами суперпользователя. После инсталляции проверим состояние программы:. После инсталляции проверим состояние программы:

После инсталляции проверим состояние программы:

sudo ufw status verbose

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

sudo nano /etc/default/ufw

sudo ufw default deny incomingsudo ufw default allow outgoing

Первая строка отвечает за блокировку, а вторая за исходящие подключения.

List all open ports

Before opening a port on Linux, let us first check the list of all open ports, and choose an ephemeral port to open from that list.

We can use the netstat command to list all open ports, including those of TCP, UDP, which are the most common protocols for packet transmission in the network layer.

NOTE: If your distribution doesn’t have , it is not a problem. You can use the command to display open ports via listening sockets.

netstat -lntu

This will print all listening sockets () along with the port number (), with TCP ports () and UDP ports () also listed in the output.


List Open Ports

Just to ensure that we are getting consistent outputs, let’s verify this using the command to list listening sockets with an open port.

ss -lntu


List Listening Sockets

This gives more or less the same open ports as , so we are good to go!

Как посмотреть открытые порты Linux через «nmap»

Если сетевой порт открыт, то это значит, что та или иная программа (служба или сервис) использует его для взаимодействия с другими приложениями или серверами разработчика посредством глобальной сети Интернет или локальной вычислительной сети. Для понимания сути портов обычно новичкам приводят в пример обычный дом, в который почтальон приносит посылку. Сотрудник почты доносит конверт или ящик до дома — это компьютер, а точнее его айпи-адрес. Далее жильцы дома должны посмотреть, кому именно доставлена посылка, и отнести ее в соответствующую комнату. Эта комната и будет портом.

В Linux порты можно проверить альтернативной командой «zenmap»

Обратите внимание! Способов произвести просмотр открытых портов Linux множество, так как в этой операционной системе существуют не одна команда и утилита, позволяющие это делать. Ниже описана команда «nmap», являющаяся наиболее популярной

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

«Nmap» дает возможность не только на ОС Linux проверить порт, но и просмотреть службы, которые их используют, а также выявить возможные уязвимости. Для начала работы утилиту следует инсталлировать с помощью простой команды «$ sudo apt install nmap». После загрузки и установки из стандартного репозитория ПО будет готово к работе. Для запуска сканирования набирают команду «$nmap localhost».

Простое сканирование возможно и без опций, но если требуется задать ряд параметров, то рекомендуется сперва изучить их значение. Кстати, для поиска открытых внешних портов используют команду «$ wget -O — -q eth0.me», а затем «$nmap 185.29.237.91».

«Nmap» может открывать данные обо всех портах, имеющихся в операционной системе

netstat — проверка открытых портов в Linux

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

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

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

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

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

Обратите внимание, что она должна работать и для других разновидностей Linux, если установлена утилита netstat

Используя команду netstat

netstat -anltp | grep “LISTEN”

Обычный веб-сервер, на котором запущены FTP, SSH и MySQL, выведет следующую информацию:

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 21432/mysqld

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4090/apache2

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7213/sshd

tcp6 0 0 :::21 :::* LISTEN 19023/proftpd

tcp6 0 0 :::22 :::* LISTEN 7234/sshd

Вышеуказанная команда запускает утилиту netstat с соответствующими флагами и передает вывод функции grep, которая извлекает строки, содержащие слово «LISTEN». В результате мы получаем список открытых портов и имена процессов, прослушивающих эти порты.

Читать также  NVIDIA вылечила опасные уязвимости в Display Driver

Все команды netstat, ss, netcat относится к сетевым утилитам и доступны по-умолчанию в большинстве linux-дистрибутивах.

Команда netstat умеет показывать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д.

Используя команду ss

Утилита ss позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.

Список процессов, использующие соединения в данный момент

ss -p

Список сокетов в режиме прослушивания

ss -l

Пример фильтра — список всех соединений к порту 80

ss -o state established ‘( dport = :www or sport = :www )’

Используя команду lsof

Утилита lsof умеет отображать процессы, которые работают с определенным файлом или сокетом.

Список всех сетевых соединений

lsof -i

Список процессов, работающих с портом 80

lsof -i :80

Используя команду netcat

Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.

Шаблон вызова утилиты

nc host port

Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.

nc -l 1234

Подключаемся к открытому порту и отправим import antigravity

6 ответов

152

Вы можете проверить, прослушивает ли процесс на TCP или UDP-порту с помощью .

Чтобы проверить, доступны ли некоторые порты снаружи (это, вероятно, вы хотите), вы можете использовать сканер портов, например Nmap , из еще . Запуск Nmap на том же хосте, который вы хотите проверить, совершенно бесполезен для вашей цели.

78

Самый быстрый способ проверить, открыт ли TCP-порт (включая любые аппаратные брандмауэры, которые могут быть у вас), — набрать с удаленного компьютера (например, на вашем рабочем столе):

Что будет пытаться открыть соединение с портом 80 на этом сервере. Если вы получаете тайм-аут или отрицаете, порт не открыт:)

22

ОК, в общем, у вас есть сервер, на который вы можете войти. Вы хотите посмотреть, что-то слушает какой-то порт. Как root, запустите:

это покажет список процессов, прослушивающих порты TCP и UDP. Вы можете сканировать (или grep) его для интересующего вас процесса и /или номера портов, которые вы ожидаете увидеть.

Если ожидаемого процесса не существует, вы должны запустить этот процесс и снова проверить netstat. Если процесс существует, но он прослушивает интерфейс и порт, которых вы не ожидали, возникает проблема конфигурации (например, он может прослушиваться, но только на интерфейсе loopback, поэтому вы увидите 127.0.0.1:3306 и нет других строк для порта 3306, в случае конфигурации по умолчанию для MySQL).

Если процесс завершен, и он прослушивает ожидаемый порт, вы можете попробовать запустить «telnet» на этом порту с вашего Macbook в вашем офисе /доме, например,

Это проверит, если (при условии стандартных портов), что для SSL настроен веб-сервер

Обратите внимание, что этот тест с использованием telnet будет работать только в том случае, если процесс прослушивает порт TCP. Если это UDP-порт, вы можете попробовать с любым клиентом, который вы собираетесь использовать для подключения к нему

(Я вижу, что вы использовали порт 224. Это masqdialer, и я понятия не имею, что это такое).

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

Это покажет все правила брандмауэра, определенные в вашей системе. Вы можете опубликовать это, но, как правило, если вы не разрешаете все в цепочке INPUT, вам, вероятно, потребуется явно разрешить трафик на рассматриваемый порт:

или что-то в этом роде. Не запускайте свои команды брандмауэра вслепую, исходя из того, что какой-то незнакомец сказал вам в Интернете. Подумайте, что вы делаете.

Если ваш брандмауэр в блоке разрешает трафик, который вам нужен, ваша хостинговая компания может работать с брандмауэром (например, они могут использовать только SSH (22 /tcp), HTTP (80 /tcp) и HTTPS (443) /tcp) и отказ от всего входящего трафика). В этом случае вам нужно будет открыть с ними справочную службу, чтобы решить эту проблему, хотя я полагаю, что в вашей cPanel может быть что-то, что может это сделать.

7

Если вы подключены к системе и можете запустить команду как root, вы можете проверить вывод iptables

в этом списке будут указаны правила брандмауэра и какие порты открыты цели и любые явно закрытые порты target .

6

Я использую комбо и :

Чтобы узнать, используется ли порт и что его использует.

4

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

Отслеживание активных процессов

Существует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top:

Команда ps

Отображает информацию об активных процессах в системе, как показано на следующем скриншоте:

Для получения дополнительной информации о процессах, запущенных текущим пользователем, применяется опция :

Столбцы, присутствующие в выводе команды , имеют следующие значения:

   UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение).

   PID — идентификатор процесса.

   PPID — идентификатор родительского процесса.

   C — загрузка CPU процессом.

   STIME — время начала выполнения процесса.

   TTY — тип терминала, связанного с процессом.

   TIME — количество процессорного времени, потраченного на выполнение процесса.

   CMD — команда, запустившая этот процесс.

Также можно отобразить информацию по конкретному процессу, используя команду , например:

Есть и другие опции, которые можно использовать вместе с командой :

    — показывает информацию о процессах по всем пользователям;

    — показывает информацию о процессах без терминалов;

    — показывает дополнительную информацию о процессе по заданному UID или имени пользователя;

    — отображение расширенной информации.

Если вы хотите вывести вообще всю информацию по всем процессам системы, то используйте команду :

Обратите внимание на выделенный заголовок. Команда поддерживает функцию сортировки процессов по соответствующим столбцам

Например, чтобы отсортировать список процессов по потреблению ресурсов процессора (в порядке возрастания), введите команду:

Результат:

Если вы ходите выполнить сортировку по потреблению памяти (в порядке убывания), то добавьте к имени интересующего столбца знак минуса:

Результат:

Еще один очень популярный пример использования команды — это объединение её и для поиска заданного процесса по его имени:

Результат:

Команда top

Команда top отображает информацию о запущенных процессах в режиме реального времени:

Рассмотрим детально:

   PID — идентификатор процесса.

   USER — пользователь, которому принадлежит процесс.

   PR — приоритет процесса на уровне ядра.

   NI — приоритет выполнения процесса от до .

   VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент.

   RES — текущий объем (в килобайтах) физической памяти процесса.

   SHR — объем совместно используемой с другими процессами памяти.

   S (сокр. от «STATUS») — состояние процесса:

   S (сокр. от «Sleeping») — прерываемое ожидание. Процесс ждет наступления события.

   I (сокр. от «Idle») — процесс бездействует.

   R (сокр. от «Running») — процесс выполняется (или поставлен в очередь на выполнение).

   Z (сокр. от «Zombie») — зомби-процесс.

   %CPU — процент используемых ресурсов процессора.

   %MEM — процент используемой памяти.

   TIME+ — количество процессорного времени, потраченного на выполнение процесса.

   COMMAND — имя процесса (команды).

Также в сочетании с основными символами состояния процесса (S от «STATUS») вы можете встретить и дополнительные:

    — процесс с высоким приоритетом;

    — процесс с низким приоритетом;

    — многопоточный процесс;

    — фоновый процесс;

    — лидер сессии.

Примечание: Все процессы объединены в сессии. Процессы, принадлежащие к одной сессии, определяются общим идентификатором сессии — идентификатором процесса, который создал эту сессию. Лидер сессии — это процесс, идентификатор сессии которого совпадает с его идентификаторами процесса и группы процессов.

Команда glances

Команда glances — это относительно новый инструмент мониторинга системы с расширенными функциями:

Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд:

RHEL/CentOS/Fedora

Debian/Ubuntu/Linux Mint

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
DS-сервис
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: