Hướng dẫn kiểm tra Port đang sử dụng trong Linux – HOSTVN Blog

Trong bài viết này HOSTVN sẽ hướng dẫn những bạn cách kiểm tra Port đang sử dụng trong Linux với những lệnh netstat, ss và lsof .

Kiểm tra Port đang sử dụng – Khi xử lý sự cố kết nối mạng hoặc các sự cố cụ thể của ứng dụng, một trong những điều đầu tiên cần kiểm tra là xem những port nào đang được sử dụng trên hệ thống của bạn và ứng dụng nào đang listen trên một port cụ thể.

Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cách kiểm tra dịch vụ nào đang lắng nghe trên các Port nào với các lệnh netstat, ss và lsof.

Mục lục bài viết

Kiểm tra Port đang sử dụng trong Linux

1. Listening Port là gì

Listen port là cổng mạng mà ứng dụng hoặc quá trình lắng nghe, đóng vai trò là điểm cuối giao tiếp.

Mỗi port hoàn toàn có thể được mở hoặc đóng ( được lọc ) bằng tường lửa. Nói chung, một port được mở là một port mạng gật đầu những gói tin đến bên ngoài .
Ví dụ : Nếu bạn đang chạy Apache listen trên những port 80 và 443 và bạn cố gắng nỗ lực thiết lập Nginx thì bạn sẽ không hề khởi động được Nginx vì những cổng HTTP và HTTPS đã được sử dụng bởi Apache .

2. Kiểm tra listen port với netstat

netstat là một công cụ dòng lệnh có thể cung cấp thông tin về các kết nối mạng. Để liệt kê tất cả các port TCP hoặc UDP đang được lắng nghe, bao gồm các dịch vụ sử dụng các port và trạng thái socket, hãy sử dụng lệnh sau:

sudo netstat -tunlp

Các tùy chọn được sử dụng trong lệnh này có ý nghĩa như sau :

  • -t – Hiển thị cổng TCP.
  • -u – Hiển thị cổng UDP.
  • -n – Hiển thị địa chỉ số.
  • -l – Chỉ hiển thị các cổng nghe.
  • -p – Hiển thị PID và tên của quá trình lắng nghe. Thông tin này chỉ được hiển thị nếu bạn chạy lệnh dưới dạng root hoặc sudo user.
Xem thêm  Top 8 Tựa Game Online Cày Cuốc PC Mới Cập Nhật Năm 2020

Screenshot_2

Các cột quan trọng :

  • Proto – Giao thức được sử dụng bởi các socket.
  • Local Address – Địa chỉ IP và port mà quá trình nghe.
  • PID/Program name – PID và tên của chương trình.

Nếu bạn muốn lọc tác dụng, hãy sử dụng lệnh grep. Ví dụ : để tìm quy trình lắng nghe trên cổng TCP 80, bạn sẽ nhập :

sudo netstat -tnlp | grep :80

Screenshot_3

Bạn cũng có thể lọc danh sách dựa trên các tiêu chí, ví dụ: PID, giao thức, trạng thái, v.v.
netstat đã lỗi thời và được thay thế bằng ss và ip, nhưng nó vẫn là một trong những lệnh được sử dụng nhiều nhất để kiểm tra các kết nối mạng.

3. Kiểm tra cổng nghe với ss

ss là netstat mới. Nó thiếu một số tính năng netstat nhưng hiểm thị nhiều trạng thái TCP hơn và nó nhanh hơn một chút. Các tùy chọn lệnh hầu hết đều giống netstat nên việc chuyển đổi từ netstat sang ss không khó khăn.

Để có danh sách tất cả các cổng với ss, bạn dùng lệnh sau:

sudo ss -tunlp

Screenshot_4

4. Kiểm tra cổng nghe với lsof

lsof là một tiện ích dòng lệnh mạnh mẽ cung cấp thông tin về các tệp được mở bởi các quy trình. Để có danh sách tất cả các cổng TCP đang listen dùng lệnh sau:

sudo lsof -nP -iTCP -sTCP:LISTEN

Screenshot_5 - kiểm tra Port đang sử dụng

Các tùy chọn được sử dụng như sau :

  • -n – Không chuyển đổi số cổng thành tên cổng.
  • -p – Hiển thị địa chỉ số.
  • -iTCP -sTCP: LISTEN – Chỉ hiển thị các tệp mạng với trạng thái TCP LISTEN.
Xem thêm  Top 10 Sr Ngon Nhất Game Âm Dương Sư Server Nhật Bản Onmyoji | những tin tức về game mới cập nhật tại Bem2

Các cột quan trọng :

  • COMMAND, PID, USER – Tên, pid và người dùng đang chạy chương trình được liên kết với cổng.
  • NAME – Số cổng.

Để tìm quá trình đang nghe trên một cổng cụ thể, ví dụ: cổng 80 bạn sẽ sử dụng:

sudo lsof -nP -iTCP:80 -sTCP:LISTEN

Screenshot_6 - kiểm tra Port đang sử dụng

Để biết thêm thông tin, hãy truy vấn trang lsof man và đọc về tổng thể những tùy chọn can đảm và mạnh mẽ khác của công cụ này .

5. Kết luận

Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cách kiểm tra dịch vụ nào đang lắng nghe trên các Port nào với các lệnh netstat, ss và lsof. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm các bài viết khác về Linux tại đây.

Rate this post

Bài viết liên quan

Để lại ý kiến của bạn:

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 *