Xem các dịch vụ đang chạy trong linux

Cách kiểm tra các dịch vụ chạy trong hệ thống CentOS/RedHat

Có nhiều dịch vụ cùng chạy với hệ thống server linux CentOS/RedHat, để kiểm tra có các dịch vụ nào đang chạy có thể sử dụng các cách sau:

# CENTOS 6
# service --status-all
# service --status-all | more
# service --status-all | less
# CENTOS 7
# systemctl | more
# systemctl list-units --type service

# CENTOS 7 - Hhiện thị tất cả các dịch vụ
# systemctl list-unit-files

Để kiểm tra các dịch vụ đã thiết lập trong hệ thống khởi động cùng hệ thống xem thêm chkconfig

# chkconfig --list

Trong quá trình khắc phục sự cố các dịch vụ chạy trên hệ thống Linux, kiểm tra các cổng đang mở là một trong những nhiệm vụ mà bất kỳ người dùng hoặc quản trị viên nào cũng nên xem xét thực hiện. Trong bài viết này Thế Giới Số sẽ hướng dẫn các bạn cách kiểm tra các cổng đang được mở trên hệ thống Linux.

1. Kiểm tra các cổng mở bằng lệnh ss

Lệnh ss cung cấp cho bạn thông tin chi tiết về các cổng mở và listen socket. Nó lấy thông tin từ nhân Linux và được ưa thích hơn so với lệnh netstat đã không được sử dùng nữa.

Để hiển thị các kết nối TCP đang nghe, hãy chạy lệnh

ss -tl

Xem các dịch vụ đang chạy trong linux

  • l – Hiển thị listening sockets
  • t – Viết tắt của cổng TCP

Để hiển thị các kết nối UDP đang nghe, hãy chạy lệnh

ss -lu

Xem các dịch vụ đang chạy trong linux

Để hiển thị cả tcpudp  process name hãy dùng lệnh

ss -lntup

Xem các dịch vụ đang chạy trong linux

Để in ra tất cả các kết nối socket, chỉ cần sử dụng lệnh ss ở định dạng mặc định của nó

ss

Xem các dịch vụ đang chạy trong linux

2. Kiểm tra các cổng mở bằng lệnh netstat

Lệnh netstat là một công cụ mạnh mẽ được sử dụng để kiểm tra các cổng TCP và UDP đang mở cùng với các thuộc tính khác. Để kiểm tra các cổng mở, hãy dùng lệnh:

netstat -pnltu

Xem các dịch vụ đang chạy trong linux

  • p – Hiển thị ID Procees được liên kết với một dịch vụ hoặc Tên chương trình
  • n – Hiển thị cổng đang chạy, ví dụ 3306 cho mysqld và 22 cho sshd.
  • l – Hiển thị listen socket
  • t – Hiển thị các kết nối TCP
  • u – Hiển thị các kết nối UDP

3. Kiểm tra các cổng mở bằng lệnh lsof

Lệnh lsof cũng có thể được sử dụng để kiểm tra các cổng mở trong hệ thống Linux. Để hiển thị các cổng mở, hãy chạy lệnh

lsof -i

Xem các dịch vụ đang chạy trong linux

Nếu bạn muốn hiển thị các sockets mở, hãy sử dụng lệnh lsof và kết hợp với lệnh grep như sau:

lsof -n -P | grep LISTEN

Xem các dịch vụ đang chạy trong linux

Để xem tất cả các kết nối TCP thực thi:

lsof -i tcp

Xem các dịch vụ đang chạy trong linux

Để hiển thị tất cả các kết nối UDP chạy lệnh:

lsof -i udp

Xem các dịch vụ đang chạy trong linux

4. Kiểm tra các cổng mở bằng tiện ích Nmap

Nmap là một công cụ quét mạng miễn phí thường được sử dụng để kiểm tra các cổng đang mở. Theo mặc định, Nmap không được cài đặt trên hệ thống của bạn. Để cài đặt Nmap, hãy chạy lệnh sau

# For Debian/ Ubuntu

sudo apt install nmap -y  

# For RedHat/ CentOS

yum install nmap -y

# For Fedora

sudo dnf install nmap -y

#ArchLinux

pacman -S nmap -y

Để quét các cổng TCP đang mở, hãy chạy lệnh

nmap -sT -O localhost

Xem các dịch vụ đang chạy trong linux

Để quét các cổng UDP đang mở, hãy chạy lệnh:

nmap -sU localhost

Xem các dịch vụ đang chạy trong linux

Như vậy chúng ta đã kiểm tra được các cổng đang mở trên server linux, chúc bạn thành công.