Trong bài này mình sẽ hướng dẫn các bạn 4 cách xem port nào đang ở trạng thái listening trong Linux Server, giúp bạn kiểm soát được các dịch vụ trên Server để đảm bảo an toàn hơn.

Trên server, mỗi port sẽ có 4 trạng thái gồm: open, filtered, closed, và unfiltered. Một port được cho là đang open nếu một ứng dụng nào đó trên máy đang lắng nghe (listening) các connection / package trên port đó.

Nội dung bài viết này mình sẽ giải thích bốn cách để kiểm tra các cổng đang mở, và cũng chỉ cho bạn cách tìm ứng dụng nào đang lắng nghe trên cổng nào trong Linux.

1. Sử dụng Netstat Command

Netstat là một công cụ được sử dụng thường xuyên để truy vấn thông tin về hệ thống Linux Network. Bạn có thể sử dụng nó để tìm tất cả các cổng đang mở như sau:

Bài viết này được đăng tại [free tuts .net]

$ sudo netstat -ltup 

Trong đó:

  • -l để yêu cầu liệt kê tất cả các listening sockets.
  • -t hiển thị tất cả TCP connection
  • -u hiển thị UDP connection
  • -p để in tên của ứng dụng đang lắng nghê trên port.

check open ports using netstat png

Để in thông tin là cá số (địa chỉ IP) thì ta sử dụng lệnh sau.

$ sudo netstat -lntup

show numeric values instead of service names png

Ngoài ra, bạn cũng có thể sử dụng lệnh grep để xem ứng dụng nào đang nghe trên một port như sau:

$ sudo netstat -lntup | grep "nginx"

Find Port of Application png

Bạn cũng có thể chỉ định rõ là cần tìm trên cổng nào như sau.

$ sudo netstat -lntup | grep ":80"

discover application using a port png

2. Sử dụng ss Command

Lệnh ss là một công cụ hữu ích khác để hiển thị thông tin về sockets.

Xem Thêm:   Học CSS

Lệnh sau sẽ hiển thị tất cả các listening port cho các connect TCP và UDP ở dạng số.

$ sudo ss -lntu

find open ports using ss command png

3. Sử dụng Nmap Command

Nmap là một công cụ dùng để quét các network và port rất mạnh mẽ và phổ biến. Để cài đặt nmap thì hãy sử dụng các ứng dụng trình quản lý package mặc định sau:

$ sudo apt install nmap  [On Debian/Ubuntu]
$ sudo yum install nmap  [On CentOS/RHEL]
$ sudo dnf install nmap  [On Fedora 22+]

Để quét tất cả open/listening ports trong hệ thống Linux thì hãy chạy lệnh sau (có thể mất nhiều thời gian để hoàn thành).

$ sudo nmap -n -PN -sT -sU -p- localhost

4. Sử dụng lsof Command

Công cụ cuối cùng mình muốn giới thiệu đến các bạn đó là lsof, đây là công cụ command line được sử dụng để liệt kê các file đang mở trong Linux. Vì mọi thứ đều là tệp trong Unix / Linux, tệp đang mở có thể là một luồng hoặc tệp mạng.

Vì mọi thứ trong Unix / Linux đều được xem là file, và file đang open tức là nó đang được mở stream hoặc một network file.

Để liệt kê tất cả các Internet và Network file thì hãy sử dụng tùy chọn -i. Lưu ý rằng lệnh này hiển thị kết hợp tên dịch vụ và port.

$ sudo lsof -i

list open network files using lsof png

Để tìm ứng dụng nào đang nghe trên một cổng cụ thể, hãy chạy lsof trong ví dụ này:

$ sudo lsof -i :80

lsof specify port to find application png

Trên là 4 cách để xem cổng nào đang ở trạng thái listening trên Linux Server. Bạn có thể sử dụng các cách này để quản lý VPS / Server, bật / tắt những cổng không cần thiết giúp hệ thống được an toàn hơn.

Xem Thêm:   Lệnh Create Table trong SQL Server

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *