Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Theo dõi dịch vụ mạng đang chạy trong Linux

    Theo dõi dịch vụ mạng đang chạy trong Linux


    Trong môi trường Linux, việc theo dõi các dịch vụ mạng (network services) là một kỹ năng quan trọng đối với network engineercybersecurity analyst. Các dịch vụ này thường được triển khai dưới dạng daemon (chạy nền) và lắng nghe trên các cổng (ports) để chờ kết nối từ các host khác. 1. Sử dụng lệnh netstat


    netstat là công cụ kinh điển để hiển thị thông tin kết nối và dịch vụ đang chạy. Một số tham số thường dùng:
    • netstat -a46 → Hiển thị tất cả kết nối (all states) trên IPv4 (-4) và IPv6 (-6).
    • netstat -lt → Hiển thị các cổng TCP đang ở trạng thái LISTEN.
    • netstat -lun → Hiển thị các cổng UDP đang ở trạng thái LISTEN, đồng thời dùng -n để hiển thị dạng số (IP/port thay vì tên dịch vụ).
    • sudo netstat -atnp → Hiển thị tất cả kết nối TCP, kèm PID và tên tiến trình đang lắng nghe cổng (-p).

    Ví dụ đầu ra:



    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1281/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 847/sshd tcp 0 0 192.168.222.135:22 192.168.222.1:64165 ESTABLISHED 3163/sshd: ed



    Ý nghĩa các cột:
    • Proto: Giao thức (TCP/UDP).
    • Recv-Q / Send-Q: Byte chờ xử lý (thường =0, nếu tồn đọng nhiều → có thể bất thường).
    • Local Address: Địa chỉ/cổng trên host cục bộ. 0.0.0.0 nghĩa là lắng nghe trên mọi interface, 127.0.0.1 chỉ cho phép local.
    • Foreign Address: Host/port bên ngoài. Nếu là * nghĩa là đang chờ kết nối.
    • State: Trạng thái kết nối (LISTEN, ESTABLISHED, SYN_SENT, CLOSE_WAIT...).
    • PID/Program name: Tiến trình quản lý cổng.

    2. Sử dụng lệnh lsof


    lsof (List Open Files) không chỉ theo dõi file hệ thống mà còn theo dõi cả socket mạng (TCP/UDP). Một số ví dụ:
    • sudo lsof -i → Liệt kê tất cả file liên quan đến địa chỉ Internet.
    • sudo lsof -i tcp:80 → Liệt kê tiến trình sử dụng TCP port 80.
    • sudo lsof -i udp:53 -P → Hiển thị tiến trình dùng UDP port 53 (DNS), với port dạng số.
    • sudo lsof -i @192.168.222.1:21 -P → Liệt kê tiến trình có kết nối đến địa chỉ/port chỉ định.

    Ví dụ đầu ra:



    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ftp 74536 ed 3u IPv4 1580557 0t0 TCP 192.168.222.135:55590->192.168.222.1:21 (ESTABLISHED)



    Ý nghĩa các cột:
    • Command: Tên tiến trình.
    • PID: ID tiến trình.
    • User: User chạy tiến trình.
    • FD: File Descriptor (socket liên quan).
    • Type: Loại (IPv4/IPv6, TCP/UDP).
    • Name: Chi tiết kết nối (IP:port nguồn → IP:port đích + trạng thái).

    Câu hỏi ôn tập


    1. Lệnh nào cho phép bạn xem danh sách các file/kết nối đang mở?
    • net user
    • show net user
    • netstat
    • lsof

    2. Ghép tham số netstat với chức năng:
    • -t → Hiển thị kết nối TCP
    • -l → Chỉ hiển thị cổng đang LISTEN
    • -n → Hiển thị IP/Port ở dạng số thay vì tên dịch vụ
    • -p → Hiển thị PID & tên tiến trình
    • -6 → Hiển thị kết nối trên IPv6


    👉 Với anh em network engineer & security, việc nắm rõ các công cụ như netstatlsof giúp nhanh chóng phát hiện dịch vụ nào đang chạy, tiến trình nào mở cổng, và liệu có dấu hiệu bất thường (dịch vụ lạ, port mở trái phép) hay không. Đây là bước đầu tiên trong giám sát và điều tra sự cố an ninh mạng.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X