IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд

Linux who use port

How to Check for Listening Ports in Linux (Ports in use)

Posted Aug 14, 2019

When troubleshooting network connectivity or application-specific issues one of the first things to check should be what ports are actually in use on your system and which application is listening on a specific port.

This article explains how to find out which services are listening on which ports using the netstat , ss and lsof commands. The instructions are applicable for all Linux and Unix-based operating systems like macOS.

What is Listening Port #

Network port is identified by its number, the associated IP address, and the type of the communication protocol such as TCP or UDP.

Listening port is a network port on which an application or process listens on, acting as a communication endpoint.

Each listening port can be open or closed (filtered) using a firewall. In general terms, an open port is a network port that accepts incoming packets from remote locations.

You can’t have two services listening to the same port on the same IP address.

For example, if you are running an Apache web server that listens on ports 80 and 443 and you try to install Nginx the later will fail to start because the HTTP and HTTPS ports are already in use.

Check Listening Ports with netstat #

netstat is a command-line tool that can provide information about network connections.

To list all TCP or UDP ports that are being listened on, including the services using the ports and the socket status use the following command:

The options used in this command have the following meaning:

  • -t — Show TCP ports.
  • -u — Show UDP ports.
  • -n — Show numerical addresses instead of resolving hosts.
  • -l — Show only listening ports.
  • -p — Show the PID and name of the listener’s process. This information is shown only if you run the command as root or sudo user.

The output will look something like this:

The important columns in our case are:

  • Proto — The protocol used by the socket.
  • Local Address — The IP Address and port number on which the process listen to.
  • PID/Program name — The PID and the name of the process.

If you want to filter the results use the grep command. For example, to find what process listens on TCP port 22 you would type:

The output shows that on this machine port 22 is used by the SSH server:

If the output is empty it means that nothing is listening on the port.

You can also filter the list based on criteria, for example, PID, protocol, state, and so on.

netstat is obsolete and replaced with ss and ip , but still it is of the most used commands to check network connections.

Check Listening Ports with ss #

ss is new netstat . It lacks some of the netstat features but exposes more TCP states and it is slightly faster. The command options are mostly the same so the transition from netstat to ss is not difficult.

To get a list of all listening ports with ss you would type:

The output is almost the same as the one reported by netstat :

Check Listening Ports with lsof #

lsof is a powerful command-line utility that provides information about files opened by processes.

In Linux, everything is a file. You can think of a socket as a file that writes to the network.

To get a list of all listening TCP ports with lsof type:

The options used are as follows:

  • -n — Do not convert port numbers to port names.
  • -p — Do not resolve hostnames, show numerical addresses.
  • -iTCP -sTCP:LISTEN — Show only network files with TCP state LISTEN.

Most of the output columns names are self-explanatory:

  • COMMAND , PID , USER — The name, the pid and the user running the program associated with the port.
  • NAME — The port number.

To find what process is listening on a particular port, for example, port 3306 you would use:

Читать еще:  Скачать оптимизатор системы адсет

The output show that port 3306 is used by the MySQL server:

For more information visit the lsof man page and read about all other powerful options of this tool.

Conclusion #

We have shown you several commands that you can use to check what ports are in use on your system, and how to find what process listens on a specific port.

If you have any questions or remarks, please leave a comment below.

Linux: Find Out Which Port Number a Process is Listening on

As Linux users, we sometimes need to know which port number a particular process is listening upon. All ports are associated with a process ID or service in an OS. So how do we find that port? This article presents three different methods for you to find which port number a process is listening on.

We have run the commands and procedures described in this article on an Ubuntu 18.04 LTS system.

Method 1: Using the netstat command

Netstat or the network statistics utility is used to view information related to the network connections. This includes information about interface statistics, routing tables and much more. This utility is available on most Linux systems so let us make use of it to view information about which ports certain processes are using on the system.

For using the netstat command, you need to install the net-tools utility if it is already not installed on your system through the following command:

Then run the following command:

The above command gives netstat information based on the following features:

  • l: display only listening sockets
  • t: display tcp connection
  • n: display addresses in a numerical form
  • p: display process ID/ Program name

For example, in the above output of the netstat command, Apache2 program with process ID 950 is running on port number 80.

You can also filter statistics for a specific port by incorporating the grep function into your command.

This command will tell you specifically which process is running on port number 80.

Method 2: Using the lsof command

The lsof or the List of Open Files utility helps in listing all the open files on your Linux system. We can use this utility to view all processes open on a specific port.

For using the lsof command, you need to install the lsof utility if it is already not installed on your system through the following command:

Let us use lsof to view the service listening on a specific port.

This command will list all processes using TCP port number 80.

Method 3: Using the fuser command

The fuser command displays which process IDs are using the named files, sockets or file systems. We can use this command in order to view process IDs running on a specific TCP port.

For using the fuser command, you need to install the psmisc utility if it is already not installed on your system through the following command:

Let us view all the process IDs running on TCP port 3306 through the following command:

You can specify any port number in this command to view its listening processes.

In the above output, you can see that process ID 975 is listening on TCP 3306.

In order to view which program this process ID corresponds to, run the following command:

The output shows that the process ID 975 corresponds to the program names MySDLd. Thus process ID 975 of the program MySQLd is listening on port number 3306.

Through the three methods you have learned in this article, you can easily view which TCP port a specific process on Linux is listening upon.

Как убить процесс, работающий на определенном порту в Linux?

Я попытался закрыть tomcat, используя ./shutdown.sh от tomcat

16 ответов

этой fuser 8080/tcp напечатает вам PID процесса, связанного с этим портом.

и fuser -k 8080/tcp убьет этот процесс.

работает только на Linux. Более универсальным является использование lsof -i4 (или 6 для IPv6).

чтобы перечислить любой процесс, прослушивающий порт 8080:

Читать еще:  Топ игр с хорошей оптимизацией

чтобы убить любой процесс прослушивания порта 8080:

или более яростно:

( -9 соответствует SIGKILL — terminate immediately/hard kill сигнал: Вижу список сигналов уничтожения и какова цель опции -9 в команде kill?. Если сигнал не указан в kill , термин сигнал a.к. a. -15 или soft kill отправляется, чего иногда недостаточно убить процесс.).

используется grep java as tomcat использует java как их процессы.

он покажет список процессов с номером порта и идентификатором процесса

число перед /java — это идентификатор процесса. Теперь используйте kill команда, чтобы убить процесс

-9 подразумевает, что процесс будет насильственно убит.

вы можете использовать команду lsof. Пусть номер порта, как здесь 8090

эта команда возвращает список открытых процессов на этот порт.

чтобы освободить порт, убейте процесс, используя его (идентификатор процесса 75782).

Это сработало для меня. вот ссылка из оригинального поста: ссылке

Я бы добавил этот One-liner только для прослушивания определенного порта:

kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)

Если вы хотите убить процесс, работающий на port number 8080, то сначала вам нужно найти 8080 port process identification number(PID), а затем убить его. Выполните следующую команду, чтобы найти 8080 номер порта PID:

  • судо — команда для запроса прав администратора (id пользователя и пароль).
  • lsof — список файлов(также используется для связанного списка процессов)
  • — t — показать только ID процесса
  • — показать только интернет-соединения, связанные с процессом
  • :8080 — показывать только процессы в этом номере порта

Теперь вы можете легко убить свой PID, используя следующую команду:

  • kill-команда, чтобы убить процесс
  • -9 — сильно

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

Для больше вы можете увидеть следующую ссылку как убить процесс на определенном порту в linux

это печатает для stdout идентификаторы процессов всего, что работает на

он также печатает некоторые вещи в stderr, так:

затем мы можем предоставить эти идентификаторы процессов в kill команда:

вы также можете поместить это в функцию, если вы делаете это много:

чтобы узнать pid службы, работающей на определенном порту:

вы получите описание этого процесса. Теперь используйте kill или kill -9 pid. Легко убил.

4 способа узнать, какие порты прослушиваются в Linux

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

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

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

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

Флаг -l указывает netstat вывести все прослушивающие сокеты (сокет это ip + порт), -t показывает все TCP-соединения, -u отображает все соединения UDP, а -p позволяет выводить имя приложения/программы, прослушивающее порт.

Чтобы выводить числовые значения (номер порта), а не имена служб, добавьте флаг -n.

Вы также можете использовать команду grep, чтобы узнать, какое приложение прослушивает конкретный порт, например:

В качестве альтернативы вы можете указать порт и найти приложение:

2. Использование команды ss

ss — еще один полезный инструмент для отображения информации о сокетах. Он в своём использовании похож на netstat. Следующая команда выведет все порты прослушивающие соединения TCP и UDP в числовом формате.

3. Использование команды Nmap

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

Чтобы «отсканировать» все открытые/прослушивающие порты в вашей Linux-системе, выполните следующую команду (она займет много времени для своего выполнения).

4. Использование команды lsof

Конечным инструментом, который мы рассмотрим для поиска открытых портов, является команда lsof.

Чтобы вывести все интернет-файлы и сетевые файлы, используйте опцию -i. Обратите внимание, что эта команда показывает сочетание имен служб и числовых портов.

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

На этом всё! В этой статье мы объяснили четыре способа узнать какие порты прослушиваются в Linux. Мы также показали, как проверить, какие процессы связаны с конкретными портами.

Спасибо за уделенное время на прочтение статьи!

Читать еще:  Самая неоптимизированная игра

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Three ways to check whether a port is open on remote Linux system?

by Magesh Maruthamuthu · Last Updated: October 12, 2019

This is an important topic for all the users who are working in IT infrastructure team, because they have to check whether the port is open or not on Linux server before proceeding to any other steps.

If it’s not open then they can directly ask the Linux admin to check on this and if it’s open then we need to check with application team, etc,.

In this article, we will show you, how to check this using three methods.

If you are looking for multiple server scan then you have to write a small shell script to achieve this. Simply navigate to the following URL to Check Whether A Port Is Open On Multiple Remote Linux System?

It can be done using the following Linux commands.

  • nc: Netcat is a simple Unix utility which reads and writes data across network connections, using TCP or UDP protocol.
  • nmap: Nmap (“Network Mapper”) is an open source tool for network exploration and security auditing. It was designed to rapidly scan large networks.
  • telnet: The telnet command is used for interactive communication with another host using the TELNET protocol.

How to check whether a Port is open on the remote Linux system using nc (netcat) Command?

nc stands for netcat. Netcat is a simple Unix utility which reads and writes data across network connections, using TCP or UDP protocol.

It is designed to be a reliable “back-end” tool that can be used directly or easily driven by other programs and scripts.

At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities.

Netcat has three main modes of functionality. These are the connect mode, the listen mode, and the tunnel mode.

Common Syntax for nc (netcat):

In this example, we are going to check whether the port 22 is open or not on the remote Linux system.

If it’s success then you will be getting the following output.


  • nc: It’s a command.
  • z: zero-I/O mode (used for scanning).
  • v: For verbose.
  • w3: timeout wait seconds
  • Destination system IP.
  • 22: Port number needs to be verified.

If it fails then you will be getting the following output.

How to check whether a port is open on the remote Linux system using nmap Command?

Nmap (“Network Mapper”) is an open source tool for network exploration and security auditing. It was designed to rapidly scan large networks, although it works fine against single hosts.

Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and OS versions) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics.

While Nmap is commonly used for security audits, many systems and network administrators find it useful for routine tasks such as network inventory, managing service upgrade schedules, and monitoring host or service up time.

Common Syntax for nmap:

If it’s success then you will be getting the following output.

If it fails then you will be getting the following output.

How to check whether a Port is open on the remote Linux system using telnet command?

The telnet command is used for interactive communication with another host using the TELNET protocol.

Common Syntax for telnet:

If it is success then you will be getting the following output.

If it fails then you will be getting the following output.

We had found only the above three methods. If you are aware of any other ways, please let us know by adding your findings in the comments section.

Ссылка на основную публикацию