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

  • Giao thức ICMP

    🔍 ICMP – Giao Thức “Im Lặng” Nhưng Cực Kỳ Quan Trọng Trong Mạng IP


    1. ICMP là gì?


    ICMP (Internet Control Message Protocol) là một giao thức dùng cho chẩn đoán và quản lý mạng, hoạt động dựa trên nền IP.

    Khác với TCP/UDP dùng để truyền dữ liệu ứng dụng, ICMP được sử dụng để:
    • Kiểm tra kết nối (ví dụ: ping)
    • Thông báo lỗi (ví dụ: destination unreachable)
    • Hỗ trợ phân tích đường đi (ví dụ: traceroute)

    👉 Điểm quan trọng:
    • ICMP không vận chuyển dữ liệu ứng dụng
    • Nó đóng vai trò như control-plane messaging trong IP network

    2. ICMP hoạt động ở Layer nào?


    Có một điểm dễ gây nhầm:
    • ICMP được encapsulated bên trong IP packet
    • Vì vậy, nhiều người nghĩ nó giống Layer 4 (như TCP/UDP)

    👉 Nhưng thực tế:
    • ICMP là một phần của Layer 3 (Network layer)
    • Nó được thiết kế như extension của IP protocol

    3. Cấu trúc ICMP Header


    Header của ICMP rất đơn giản:
    • Type → loại message
    • Code → chi tiết của loại message
    • Checksum → kiểm tra lỗi

    Phần còn lại của header phụ thuộc vào từng loại ICMP message Ví dụ:
    • Type 8 → Echo Request (ping request)
    • Type 0 → Echo Reply
    • Type 3 → Destination Unreachable

    👉 Code giúp phân biệt chi tiết hơn:
    • Code 0 → network unreachable
    • Code 1 → host unreachable
    • Code 13 → administratively filtered (ACL chặn)

    4. ICMP trong thực tế (Wireshark & Lab)

    4.1 Ping – Echo Request / Reply


    Trong lab (R1 → R2):
    • R1 gửi ICMP Echo Request (Type 8)
    • R2 trả lời Echo Reply (Type 0)

    Kết quả:
    • Ping thành công 100%
    • RTT (round-trip time) được đo

    👉 Ý nghĩa thực tế:
    • Kiểm tra connectivity
    • Đo latency
    • Phát hiện packet loss

    4.2 Destination Unreachable


    Khi R2 chặn ICMP bằng ACL:
    ip access-list extended NO_ICMP
    deny icmp any host 192.168.12.2
    permit ip any any

    Kết quả:
    • Ping thất bại
    • R1 nhận ICMP Type 3 (Destination Unreachable)

    👉 Đặc biệt:
    • Code 13 → Administratively filtered
      → nghĩa là traffic bị chặn bởi policy (ACL, firewall)

    👉 Insight quan trọng cho security:
    • ICMP có thể leak thông tin về policy nếu không kiểm soát tốt

    4.3 Traceroute – “Giải phẫu đường đi”


    Traceroute sử dụng ICMP theo cách rất thông minh. Cách hoạt động:
    1. Gửi packet với TTL = 1
    2. Router đầu tiên:
      • Giảm TTL → 0
      • Trả về ICMP Type 11 (Time Exceeded)
    3. Tăng TTL lên 2 → router tiếp theo trả về ICMP
    4. Lặp lại đến destination

    👉 Khi đến đích:
    • Nếu dùng UDP (Cisco mặc định):
      • Destination trả về Type 3 Code 3 (Port Unreachable)

    Phân tích kỹ thuật (từ tài liệu)
    • Cisco dùng:
      • UDP port bắt đầu từ 33434
      • TTL tăng dần mỗi hop
    • Router trung gian:
      • Trả ICMP Type 11 (TTL exceeded)
    • Destination:
      • Trả ICMP Type 3 Code 3 (Port unreachable)

    👉 Đây là cách traceroute:
    • Map topology
    • Xác định bottleneck
    • Phân tích path latency

    5. Góc nhìn Security (CISSP / CCIE Security)


    ICMP không chỉ là tool troubleshooting — nó còn là double-edged sword. ⚠️ Rủi ro bảo mật:
    • ICMP scanning → reconnaissance
    • ICMP tunneling → exfiltration data
    • Smurf attack (ICMP amplification)
    • Information leakage (network structure)

    ✅ Best Practices:
    • Không block ICMP hoàn toàn (sẽ phá troubleshooting)
    • Nhưng cần:
      • Filter selective ICMP types
      • Rate-limit ICMP
      • Monitor ICMP anomalies (NetFlow / SIEM)

    👉 Ví dụ:
    • Allow:
      • Echo reply
      • Time exceeded
    • Block:
      • Redirect
      • Unused types

    6. Tổng kết


    ICMP là một trong những giao thức “nhỏ nhưng có võ” trong mạng:
    • Là nền tảng cho:
      • Ping
      • Traceroute
      • Error handling
    • Hoạt động ở Layer 3
    • Cực kỳ quan trọng trong:
      • Troubleshooting
      • Network visibility
      • Security analysis

    👉 Nếu bạn là Network Engineer hoặc SOC Analyst:
    Hiểu ICMP không chỉ giúp debug nhanh hơn, mà còn giúp bạn phát hiện dấu hiệu tấn công tinh vi trong network.
    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