Ports are an important element of communication among apps and software. They serve as an endpoint for communication. In the case of an operating system like Linux, a port is a logical construct that recognizes a particular process or a network service. At any given point in time, there might be multiple services listening to a port. In this article, learn how to check which processes are listening on a given port in Linux.
There are multiple ways of checking the stats. Here are three ways.
Method 1: With netstat Command
When there’s a need to display information regarding network connection, netstat is a go-to option for most admins. Besides that, it also can reveal information on interface stats and routing tables. You can use it for checking the processes that are listening to a port.
Before you can start using it, you need to install it first. Use the commands below:
For Debian/Ubuntu & Mint - $ sudo apt-get install net-tools
For CentOS/Fedora/Rocky Linux - $ sudo dnf install net-tools
For Arch Linux - $ pacman -S netstat-nat
For Gentoo - $ emerge sys-apps/net-tools
For openSUSE - $ sudo zypper install net-tools
After you’ve installed it, use grep command like this:
Here’s what the letters mean:
l - directs netstat to display the sockets that are listening
t - directs to show tcp connections
n - directs to display numerical addresses
p - permits to display process ID and process name
grep -w -displays matching of exact string (in the above case, :80)
Please note that the netstat command is deprecated. It is now replaced by ss command. So if netstat doesn’t work, try executing the ss command.
Method 2: With lsof Command
With lsof command, you can view all the open files in Linux.
To install it, use the following relevant command:
For Debian/Ubuntu & Mint - $ sudo apt-get install lsof
For CentOS/Fedora/Rocky Linux - $ sudo yum install lsof
For Arch Linux - $ sudo pacman -s lsof
For Gentoo - $ sudo emerge sys-apps/net-tools
For openSUSE - $ sudo zypper install net-tools
Now, you can view the list of processes or services listening to the port using this command:
Method 3: With fuser Command
With fuser command, you can know about the processes that are using a particular file. You can also view the PIDs of the processes.
Install fuser with the following relevant command:
For Debian/Ubuntu & Mint - $ sudo apt-get install psmisc
For CentOS/RHEL/Fedora/Rocky Linux - $ sudo yum install psmisc
For Arch Linux - $ sudo pacman -s psmisc
For Gentoo - $ sudo emerge -a sys-apps/psmisc
For openSUSE - $ sudo zypper install psmisc
To view the processes listening on a particular port, use this command:
To find processes using PID number, here’s the command to execute:
So that’s how you find about the processes that are active on a particular port.
There are multiple ways of checking the stats. Here are three ways.
Method 1: With netstat Command
When there’s a need to display information regarding network connection, netstat is a go-to option for most admins. Besides that, it also can reveal information on interface stats and routing tables. You can use it for checking the processes that are listening to a port.
Before you can start using it, you need to install it first. Use the commands below:
For Debian/Ubuntu & Mint - $ sudo apt-get install net-tools
For CentOS/Fedora/Rocky Linux - $ sudo dnf install net-tools
For Arch Linux - $ pacman -S netstat-nat
For Gentoo - $ emerge sys-apps/net-tools
For openSUSE - $ sudo zypper install net-tools
After you’ve installed it, use grep command like this:
Code:
$ netstat -ltnp | grep -w ':80'
l - directs netstat to display the sockets that are listening
t - directs to show tcp connections
n - directs to display numerical addresses
p - permits to display process ID and process name
grep -w -displays matching of exact string (in the above case, :80)
Please note that the netstat command is deprecated. It is now replaced by ss command. So if netstat doesn’t work, try executing the ss command.
Method 2: With lsof Command
With lsof command, you can view all the open files in Linux.
To install it, use the following relevant command:
For Debian/Ubuntu & Mint - $ sudo apt-get install lsof
For CentOS/Fedora/Rocky Linux - $ sudo yum install lsof
For Arch Linux - $ sudo pacman -s lsof
For Gentoo - $ sudo emerge sys-apps/net-tools
For openSUSE - $ sudo zypper install net-tools
Now, you can view the list of processes or services listening to the port using this command:
Code:
$ lsof -i :80
With fuser command, you can know about the processes that are using a particular file. You can also view the PIDs of the processes.
Install fuser with the following relevant command:
For Debian/Ubuntu & Mint - $ sudo apt-get install psmisc
For CentOS/RHEL/Fedora/Rocky Linux - $ sudo yum install psmisc
For Arch Linux - $ sudo pacman -s psmisc
For Gentoo - $ sudo emerge -a sys-apps/psmisc
For openSUSE - $ sudo zypper install psmisc
To view the processes listening on a particular port, use this command:
Code:
$ fuser 80/tcp
Code:
$ ps -p 2053 -o comm=