Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Phân tích netstat: top port lắng nghe

    Cho output netstat -an chuẩn hoá (header Proto Local Foreign State). Cột 2 là địa chỉ Local dạng IP:PORT, cột 4 là State.

    Chỉ xét các dòng có State = LISTEN. Hãy đếm số dòng LISTEN theo PORT (phần sau dấu : cuối cùng của cột 2) và in tối đa 5 port nhiều nhất, mỗi dòng SỐ_LƯỢNG PORT, giảm dần theo số lượng; hoà thì tăng dần theo PORT (số học).

    Ví dụ

    Input:

    Proto Local Foreign State
    tcp 0.0.0.0:80 0.0.0.0:0 LISTEN
    tcp 127.0.0.1:80 0.0.0.0:0 LISTEN
    tcp 0.0.0.0:22 0.0.0.0:0 LISTEN
    tcp 0.0.0.0:22 1.2.3.4:5 ESTABLISHED
    

    Output:

    2 80
    1 22
    
    • Định dạng đầu vào:

      Dòng 1: header. Các dòng sau: kết nối (cột 2 IP:PORT, cột 4 State). Có thể không có kết nối.

    • Ràng buộc đầu vào:

      0 ≤ số kết nối ≤ 100000. PORT là số nguyên.

    • Định dạng đầu ra:

      Tối đa 5 dòng SỐ_LƯỢNG PORT, giảm dần theo số lượng, hoà thì tăng PORT (số học). Không có LISTEN thì không in.

    Ví dụ:

    Đầu vào:

    Proto Local Foreign State
    tcp 0.0.0.0:80 0.0.0.0:0 LISTEN
    tcp 127.0.0.1:80 0.0.0.0:0 LISTEN
    tcp 0.0.0.0:22 0.0.0.0:0 LISTEN
    tcp 0.0.0.0:22 1.2.3.4:5 ESTABLISHED
    

    Đầu ra:

    2 80
    1 22

    Giải thích:

    Chỉ tính dòng LISTEN: port 80 có 2, port 22 có 1 (dòng 22 ESTABLISHED bị loại); in giảm dần.

    Đang tải editor...