Gói tin ICMP
I. Cấu Trúc Gói Tin ICMP
32 bit đầu tiên(4 byte đầu) của một gói tin ICMP là giống nhau cho mỗi loại thông điệp, nội dung các byte
còn lại sẽ lệ thuộc vào trường type và trường code.
Các gói tin ICMP được chia làm hai loại “query message” và “error message”.
II. ICMP và Ping
1. Giới thiệu Ping
Đây là cách đơn giản nhất để xác định một host trên mạng là alive hay không, máy tính nguồn thực hiện
ping sẽ tạo ra một gói tin echo request và mong đợi một gói echo reply được trả lại từ máy đích.
2. Cấu trúc gói ICMP echo
Trong đó trường Identifier sẽ dùng để định danh tiến trình tạo ra và gửi gói ICMP, Sequence Number sẽ
được tăng lên mỗi khi tạo ra echo mới.
2. Tạo ra và bắt gói tin ICMP echo
Mở Ethereal và chọn card mạng lắng nghe
Mở cmd thực hiện lệnh ping
Dừng việc bắt gói tin ở Ethereal để tiến hành phân tích
Trong thanh filter các bạn gõ icmp để ethereal chỉ hiện thị các gói tin dạng icmp tiện cho quá trình
phân tích.
Cấu trúc ICMP được ethereal phân tích như sau
o Gói echo request
o Gói echo reply
3. Bài Tập và Câu hỏi.
Bạn hãy thực hiện lệnh ping đến www.google.com (máy phải nối mạng, nếu không bạn có thể chạy máy ảo
và dùng máy thật ping đến máy ảo đó) và trả lời các câu hỏi sau.
Trong gói tin request và reply xác định ip nguồn và ip đích.
Tại sao gói icmp không có số port của nguồn và đích.
Xác định ICMP type và ICMP code của gói echo request là bao nhiêu? gói echo reply là bao nhiêu?
giá trị optional data của bạn là gì và có bao nhiêu byte? trường Idetifier, Chekcsum, Sequence
number có giá trị bao nhiêu chiếm bao nhiêu byte?
So sánh các giá trị Sequence Number và Identifer của các gói echo request khác nhau.
So sánh các giá trị Sequence Number và Identifer của các gói echo request và gói echo reply tương
ứng.