Cách kiểm tra các cổng đang mở trong Linux?

1. Mục đích của việc kiểm tra các cổng đang mở trong Linux?

  • Phát hiện lỗ hổng bảo mật
  • Quản lý bảo mật
  • Xác định dịch vụ đang chạy
  • Quản lý tường lửa (firewall)

2. Cách kiểm tra các cổng đang mở trong Linux?

Cách 1: Sử dụng CLI

Mở Linux terminal:

– Sử dụng lệnh “ss" để hiển thị tất cả các cổng TCP và UDP đang mở trong Linux.

– Một tùy chọn khác là sử dụng lệnh netstat để liệt kê tất cả các cổng trong Linux.

-Ngoài ssnetstat có thể sử dụng lệnh lsof để liệt kê các tệp và cổng đang mở trên hệ thống dựa trên Linux.

Tiếp theo Sử dụng netstat để liệt kê các cổng đang mở:

sudo netstat -tulpn | grep LISTEN

Ví dụ: cổng TCP 631 được mở bằng quy trình cupd và cupd chỉ liệt kê trên địa chỉ loopback (127.0.0.1). Tương tự, cổng TCP 22 được mở bằng tiến trình sshd và liệt kê sshd trên tất cả địa chỉ IP cho các kết nối ssh:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name 
tcp   0      0      127.0.0.1:631           0.0.0.0:*               LISTEN      0          43385      1821/cupsd  
tcp   0      0      0.0.0.0:22              0.0.0.0:*               LISTEN      0          44064      1823/sshd
  • -t : Tất cả các cổng TCP ports
  • -u : Tất cả các cổng UDP ports
  • -l : Hiển thị cổng server sockets
  • -p : Hiển thị PID và tên chương trình chứa từng socket
  • -n : Don’t resolve names
  • | grep LISTEN : Chỉ hiển thị các cổng đang mở bằng cách áp dụng bộ lọc lệnh grep.

Sử dụng ss để liệt kê các cổng đang mở

sudo ss -tulpn

Kết quả đầu ra mẫu:

Nghe cổng và ứng dụng bằng lệnh lsof:

Chúng ta hãy chạy phần sau để kiểm tra các cổng TCP và UDP đang mở bằng lệnh lsof:
sudo lsof -i -P -n | grep LISTEN

  • -i: Tìm kiếm các cổng liệt kê
  • -P: Ngăn chặn việc chuyển đổi số cổng thành tên cổng cho các tập tin mạng.
  • -n: Không sử dụng tên DNS
  • | grep LISTEN: Một lần nữa chỉ hiển thị các cổng ở trạng thái LISTEN bằng cách sử dụng lệnh grep làm bộ lọc.

Kiểm tra cổng có mở bằng nmap không

Đầu tiên cài đặt nmap

apt install nmap -y

Bây giờ, hãy chạy lệnh sau để kiểm tra xem cổng có mở trên remotekhông. Lệnh này kiểm tra xem cổng có 22 được mở hay không 159.89.176.25 để người dùng có thể SSH vào máy chủ của bạn. Thay thế địa chỉ IP nếu cần bằng địa chỉ của bạn.

nmap -p 22 159.89.176.25

Trong đó:

  • Thời gian bắt đầu quét cổng ( 2022-06-30 16:58 UTC ).
  • Địa chỉ IP của máy từ xa ( 159.89.176.25 ).
  • Trạng thái của cổng ( mở ).
  • Dịch vụ đang sử dụng cổng ( ssh ).
  • Trạng thái của máy chủ ( lên ).

Kết quả xác nhận người dùng có thể SSH vào máy tính bằng địa chỉ IP và cổng.

ssh user_name@159.89.176.25 -p 22

Ảnh chụp màn hình bên dưới hiển thị kết nối SSH thành công đến máy chủ, chứng tỏ rằng cổng 22 đang mở.

2. Kết luận:

OK trên đây là bài viết của mình về “Cách kiểm tra các cổng đang mở trong Linux?” chúc các bạn kiểm tra thành công.

Leave a Reply