Internet Control Message Protocol (viết tắt là ICMP), là một giao thức của gói Internet Protocol. Giao thức này được các thiết bị mạng như router dùng để gửi đi các thông báo lỗi chỉ ra một dịch vụ có tồn tại hay không, hoặc một địa chỉ host hay router có tồn tại hay không. ICMP cũng có thể được sử dụng để chuyển tiếp các thông điệp truy vấn.[1] Giao thức này được đánh số 1.[2] ICMP [3] khác với các giao thức vận chuyển như TCP và UDP ở chỗ nó không thường được sử dụng để trao đổi dữ liệu giữa các hệ thống, cũng không thường xuyên được sử dụng bởi các ứng dụng mạng của người dùng cuối (với ngoại lệ của một số công cụ chẩn đoán như ping và traceroute).
Nó tuân theo các nguyên tắc sau đây:
Internet Control Message Protocol có thể được sử dụng cho một tấn công từ chối dịch vụ (DoS) hoặc tấn công từ chối dịch vụ phân tán (DDoS) vào một thiết bị. Ngoài ra, một thiết bị có thể bị lạm dụng bởi một kẻ tấn công như một phần của một cuộc tấn công DDoS tới một thiết bị thứ ba. Các phương pháp tấn công điển hình là tấn công Smurf, tấn công Flooding hoặc Ping of Death. Một cách khác để lợi dụng giao thức ICMP là việc sử dụng nó để truyền dữ liệu trái phép bằng phương pháp kết nối đường hầm ICMP.