Introduction to the ICMP Protocol

Internet Control Message Protocol, là 1 giao thức rất phổ biến và hỗ trợ cho sự hoạt động của giao thức IP. Vì giao thức IP được thiết kế để được hoàn toàn đáng tin cậy, nên ICMP sẽ được sử dụng để cung cấp thông tin phản hồi về các vấn đề đã tồn tại trong môi trường truyền thông.
ICMP là 1 trong những giao thức hữu ích nhất được cung cấp để khắc phục các vấn đề sự cố mạng như phân giải DNS, định tuyến, kết nối... Tuy nhiên bạn nên thận trọng vì bạn có thể phải dành ra nửa ngày chỉ để cố gắng tìm ra lý do tại sao bạn lại không nhận được 1 "ping trả lời" (thuật ngữ chính xác là 'echo reply') từ 1 máy chủ Web trong khi thực tế thì tường lửa của nó được cấu hình không trả lời 'pings' vì lý do an ninh. Điều này thường dẫn đến việc hầu hết các kỹ sư có kết luận không chính xác rằng các máy chủ từ xa có thể bị down.

Note
Một vài năm trước đây đã có 1 chương trình được phát hành, và hiện tại vẫn đang còn được chia sẻ trên Internet, gọi là Click. Click được thiết kế để chạy trên nền tảng Windows và chức năng của nó là để chống lại những người dùng mIRC. Chương trình sẽ sử dụng các thông điệp khác nhau có sẵn trong giao thức ICMP để gửi thông báo lỗi đặc biệt cho người dùng mIRC, làm cho những người dùng từ xa nghĩ rằng họ mất kết nối với IRC Server, và do đó ngắt kết nối chương trình tới máy chủ. Sự kì diệu không phải ở chỗ là những gì chương trình có thể làm, mà chính là làm thế nào để chương trình đó có thể làm như vậy. Đây là nơi mà 1 chuyên viên mạng thực sự sẽ có thể xác định và sửa chữa các điểm yếu an ninh mạng.

The Protocol
ICMP được định nghĩa trong RFC 792. Nhìn vào vị trí của nó trong mô hình OSI ta có thể thấy rằng nó nằm ở lớp mạng (lớp 3) cùng với giao thức IP. Không có cổng nào được sử dụng với ICMP, bời vì vị trí mà giao thức nằm trong mô hình OSI. Cổng chỉ được sử dụng cho các giao thức làm việc từ lớp phiên (Session) trở lên:


Giao thức ICMP sử dụng các thông điệp khác nhau để xác định mục đích của 1 gói tin ICMP, ví dụ, 1 'echo' là 1 trong những loại thông điệp ICMP.
Chúng ta sẽ bắt đầu với 1 ví dụ trực quan: 1 gói tin có chứa ICMP Header và thông tin, để giúp bạn hiểu rõ hơn về những gì mà chúng ta sắp bàn luận:


Cấu trúc khá đơn giản, nhưng nội dung của ICMP Header sẽ thay đổi tùy thuộc vào thông điệp mà nó chứa. Ví dụ, thông tin tiêu đề cho 1 thông điệp 'echo' là khác với thông điệp 'destination unreachable'.
Chú ý: Nếu bạn đang chạy 1 chương trình sniffer trên mạng LAN và bắt 1 gói 'ping' để xem nó như thế nào, bạn sẽ nhận được nhiều hơn những gì mà tôi vừa đề cập ở đây. Sẽ có 1 Extra Header, Data Link Header sẽ không được đề cập đến ở đây bởi vì Header đó sẽ thay đổi (hoặc nhiều khả năng được loại bỏ) khi gói dữ liệu chuyển từ mạng LAN ra Internet, nhưng 2 Header mà bạn nhìn thấy trong hình trên chắc chắn vẫn sẽ được giữ lại cho đến khi gói tin đến đích.
Bây giờ chúng ta sẽ đi vào phân tích một vài thông điệp ICMP!
Bảng dưới đây cho thấy tất cả các thông điệp ICMP mà giao thức hỗ trợ. Những thông điệp mà được tô màu xanh lá cây sẽ là những thông điệp mà chúng ta sẽ đi vào phân tích ở trong những bài tiếp theo.


Lược dịch từ bài gốc: Click Here




Không có nhận xét nào:

Đăng nhận xét