3 Cách kiểm tra xem Process đang sử dụng Port nào

Chia sẻ

Một cổng được định nghĩa một cách Logic là điểm cuối của một quá trình giao tiếp được gắn với một tiến trình cụ thể trong hệ điều hành. Trong hướng dẫn ngày hôm nay, mình sẽ hướng dẫn các bạn cách tìm xem là tiến trình/dịch vụ đang lắng nghe (sử dụng) một cổng cụ thể nào trong Linux

Sử dụng công cụ netstat

netstat (network statistics) command is used to display information concerning network connections, routing tables, interface stats and beyond. It is available on all Unix-like operating systems including Linux and also on Windows OS.
In case you do not have it installed by default, use the following command to install it.
Câu lệnh netstat (network statistics) được sử dụng để hiển thị các thông tin như các kết nối mạng, bảng định tuyến, các thông số về các card mạng, vv. Công cụ này có sẵn trên các hệ điều hành bao gồm Linux cũng như Windows
Nếu máy bạn không có netstat được cài mặc định, sử dụng một trong ba câu lệnh sau để cài chúng (tuỳ theo hệ điều hành của bạn đang sử dụn)

$ sudo yum install net-tools #RHEL/CentOS
$ sudo apt install net-tools #Debian/Ubuntu
$ sudo dnf install net-tools #Fedora 22+

Sau khi cài đặt xong, bạn có thể dùng nó kết hợp với câu lệnh grep để tìm tiến trình hay dịch vụ đang sử dụng một cổng cụ thể trong Linux. Ví dụ như câu lệnh dưới

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


Trong câu lệnh trên. Các tham số như sau
In the above command, the flags.

  • l – Yêu cầu netstat chỉ suất ra listening sockets.
  • t – Chỉ hiển thị các kết nối tcp.
  • n – Chỉ hiển thị địa chỉ dạng số
  • p – Xuất ra PID và tên tiến trình
  • grep -w – Tìm và xuất ra các kết quả chứa Port 80

Sử dụng câu lệnh lsof

lsof command (LiSt Open Files) is used to list all open files on a Linux system. To install it on your system, type the command below.
Câu lệnh lsof (LiSt Open Files) được dùng để liệt kê tất cả các files đang mở trong hệ thống Linux. Để cài đặt chúng trên hệ thống, gõ câu lệnh sau

$ sudo yum install lsof #RHEL/CentOS
$ sudo apt install lsof #Debian/Ubuntu
$ sudo dnf install lsof #Fedora 22+

Để liệt kê các dịch vụ đang lắng nghe ở một port cụ thể, gõ câu lệnh sau (VD cho Port 80)

$ lsof -i :80

Sử dụng câu lệnh fuser

Câu lệnh fuser xuất ra PIDs của các tiến trình của các files được chỉ định hoặc file systems trên Linux
Bạn có thể cài nó bằng 1 trong 3 câu lệnh dưới đây

$ sudo yum install psmisc #RHEL/CentOS
$ sudo apt install psmisc #Debian/Ubuntu
$ sudo dnf install psmisc #Fedora 22+

Để liệt kê PIDs của các dịch vụ đang lắng nghe ở một port cụ thể, gõ câu lệnh sau (VD cho Port 80)

$ fuser 80/tcp

Sau đó bạn sẽ tìm tên các tiến trình mà có PID đó bằng câu lệnh ps như sau

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=

Chia sẻ