. Giới thiệu chung về giao thức ICMPĐịnh nghĩa: Thuật ngữ ICMP được viết tắt bởi Internetwork Control Message Protocol là một giao thức hoạt động trên layer 2 Internetwork trong mô hình TCPIP hoặc layer 3 Network trong mô hình OSI cho phép kiểm tra và xác định lỗi của Layer 3 Internetwork trong mô hình TCPIP bằng cách định nghĩa ra các loại thông điệp có thể sử dụng để xác định xem mạng hiện tại có thể truyền được gói tin hay không
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN
Thông Tin Quang
Chuyên đề: Giao thức ICMP,ARP,RARP
Giảng viên: Nguyễn Thị Thu Hằng
Các thành viên trong nhóm 4:
1.Ngọ Văn Công 2.Lê Quang Trung 3.Nguyễn Thanh Hiếu 4.Phạm Duy Anh
Trang 2Phân III: Giao thức RARP
Trang 3I Giới thiệu chung về giao thức ICMP
1 Định nghĩa:
Thuật ngữ ICMP được viết tắt bởi Internetwork
Control Message Protocol là một giao thức hoạt động trên layer 2 - Internetwork trong mô hình TCP/IP
hoặc layer 3 - Network trong mô hình OSI cho phép kiểm tra và xác định lỗi của Layer 3 Internetwork
trong mô hình TCP/IP bằng cách định nghĩa ra các loại thông điệp có thể sử dụng để xác định xem mạng hiện tại có thể truyền được gói tin hay không
Trang 4 Trong khi truyền các gói tin Ping, cũng được biết đến như các gói tin ICMP echo requests, và ICMP echo replies ICMP bao gồm rất nhiều các loại thông điệp khác nhau cho những mục
đích đa dạng khác nhau
Trang 53 Một số thông điệp thường gặp và quan trọng của giao thức ICMP
Trang 63.Một số thông điệpthường gặp và
quan trọng của ICMP
Trang 7III.Kết luận
ICMP là một giao thức hoạt động trên layer 2 -
Internetwork trong mô hình TCP/IP hoặc layer 3 -
Network trong mô hình OSI cho phép kiểm tra và xác
định lỗi của Layer 3 Internetwork trong mô hình TCP/IP bằng cách định nghĩa ra các loại thông điệp có thể sử
dụng để xác định xem mạng hiện tại có thể truyền được gói tin hay không Trong thực tế, ICMP cần các thành
phần của mọi gói tin IP để có thể hoạt động được ICMP
sử dụng với một mục đích đơn giản là hỗ trợ cho sự hoạt động của giao thức IP.
Trang 8Phân III: Giao thức RARP Phần II: Giao thức ARP Phần I: Giao thức ICMP
NỘI DUNG CHÍNH
NỘI
DUNG
Trang 9ARP thực hiện điều đó thông qua một tiến trình broadcast gói tin đến tất cả các host trong mạng, gói tin đó chứa địa chỉ IP của host cần giao tiếp Các host trong mạng đều nhận được gói tin đó và chỉ duy nhất host nào có địa chỉ IP trùng với địa chỉ IP trong gói tin mới trả lời lại, còn lại sẽ tự động drop gói tin.
1.1.Chức năng
Trang 10a.NGUYÊN LÝ: ARP là một giao thức hết sức đơn giản, nó đơn thuần
có 4 loại message cơ bản.
An ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ IP này? "
An ARP Reply: máy tính B trả lời máy tính A : "tôi có IP đó, địa chỉ
MAC của tôi là "
An Reverse ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ
MAC này? "
An Reverse ARP Reply: máy tính B trả lời máy tính A: " tôi có MAC
đó, địa chỉ IP của tôi là "
Trang 11Host A gửi một ARP Request và nhận được một ARP Reply từ một host
B có thực trong mạng sau khi tiến trình này hoàn tất, host A,host B sẽ có
MAC như thế nào Tiếp theo, host A sẽ lưu lại sự hiểu biết đó lên bộ nhớ của mình gọi là ARP table ARP table giúp host A không phải thực
hiệnARP Request đến host B một lần nữa.
Trang 12b.MÔ TẢ QUÁ TRÌNH ARP REQUEST VÀ ARP REPLY
Trang 13Trong mạng LAN hiện nay có 4 host: host A, host B, host C, host D.
Host A muốn giao tiếp với host C, đầu tiên sẽ broadcast gói tin ARP Requset Host C nhận thấy đúng IP của mình liền trả lời MAC của mình thông qua gói
tin ARP Reply, các host còn lại sẽ drop gói ARP Request.
Host A nhận được địa chỉ MAC của host C và ghi nhớ vào ARP table.
Trang 14II.NGUYÊN LÝ TẤN CÔNG
Trang 15Giao thức ARP là rất cần thiết và quan trọng trong hệ thống mạng của chúng ta, tuy nhiên nó lại không đề cập đến vấn đề xác thực nào cả Khi
một host nhận được gói tin ARP Reply, nó hoàn toàn tin tưởng và mặc
nhiên sử dụng thông tin đó để sử dụng sau này mà không cần biết thông tin
đó có phải trả lời từ một host mà mình mong muốn hay không ARP không
có cơ chế nào để kiểm tra việc đó cả và trên thực tế một host có thể chấp
nhận gói ARP Reply mà trước đó không cần phải gửi gói tin ARP
Request Lợi dụng điều này, hacker có thể triển khai các phương thức tấn
công như: Man In The Middle, Denial of Service, MAC Flooding
Trang 161.MAN IN THE MIDDLE
hacker ARP Reply host A
• MAC (hacker)
• IP (host B)
hacker ARP Reply host B
MAC(hacker)
IP (host A)
Trang 172.DENIAL OF SERVICE
Cũng vận dụng kỹ thuật trên, hacker tiến hành tấn công bằng cách gởi
gói ARP Reply đến toàn bộ các host trong mạng với nội dung mang theo là địa chỉ
IP của Gateway và địa chỉ MAC không hề tồn tại Như vậy các host trong mạng tin tưởng rằng mình đã biết được MAC của Gateway và khi gửi thông tin
đến Gateway, kết quả là gửi đến một nơi hoàn toàn không tồn tại Đó là điều
hacker mong muốn, toàn bộ các host trong mạng đều không thể đi ra Internet được.
Trang 183.MAC FLOODING
Cách tấn công này cũng dùng kỹ thuật ARP Poisoning mà đối
tượng nhắm đến là Switch Hacker sẽ gửi những gói ARP Reply giả tạo với số lượng khổng lồ nhằm làm Switch xử lý không kịp và trở nên quá tải Khi đó, Switch sẽ không đủ sức thể hiện bản chất Layer2 của mình nữa mà broadcast gói tin ra toàn bộ các port của mình Hacker dễ dàng bắt được toàn bộ thông tin trong mạng của bạn.
Trang 19III CÁCH PHÒNG THỦ
ARP Poisoning là một kiểu tấn công dạng local, nghĩa là hacker thực hiện tấn công từ bên trong mạng của bạn Hậu quả của cách tấn công này là rất lớn, những người quản trị mạng cần nắm bắt rõ về kỹ
thuật tấn công này Sau đây là một số kỹ thuật giúp phòng chống tấn công kiểu ARP Poisoning.
Trang 201.ĐỐI VỚI MỘT MẠNG NHỎ
Ta có thể sử dụng địa chỉ IP tĩnh và ARP table tĩnh, khi đó, bạn sẽ liệt kê bằng
tay IP nào đi với MAC nào Trong Windows có thể sử dụng câu lệnh ipconfig
/all để xem IP và MAC, dùng câu lệnharp -s để thêm vào ARP table Khi mà ép
tĩnh như vậy sẽ ngăn chặn hacker gởi các gói ARP Reply giả tạo đến máy của mình vì khi sử dụng ARP table tĩnh thì nó luôn luôn không thay đổi Chú ý
rằng cách thức này chỉ áp dụng được trong môi trường mạng với quy mô nhỏ, nếu mạng lớn hơn là không thể vì chúng ta phải thêm vào ARP table bằng tay với số lượng quá nhiều
Trang 212.ĐỐI VỚI MỘT MẠNG LỚN
Khi quản trị trong một mạng quy mô lớn, ta có thể sử dụng chức năng Port security Khi mở chức năng Port security lên các port của Switch,
ta có thể quy định port đó chỉ chấp nhận một địa chỉ MAC Như vậy sẽ ngăn chặn việc thay đổi địa chỉ MAC trên máy hacker.
Ngoài ra cũng có thể sử dụng các công cụ, ví dụ như ArpWatch Nó sẽ phát hiện và báo cáo cho bạn các thông tin liên quan đến ARP đang diễn
ra trong mạng Nhờ đó, nếu có hiện tượng tấn công bằng ARP Poisoning thì bạn có thể giải quyết kịp thời.
Trang 22IV Kết luận
ARP là giao thức hết sức đơn giản dùng để định vị
một host trong một segment mạng bằng cách phân giải địa chỉ IP ra địa chỉ MAC và nó là rất cần thiết và quan
trọng trong hệ thống mạng của chúng ta ARP hoạt động
thông qua một tiến trình broadcast gói tin đến tất cả các host trong mạng, gói tin đó chứa địa chỉ IP của host cần giao tiếp.
Trang 23Phân II: Giao thức ARP
Phần III: Giao thức RARP
Phần I: Giao thức ICMP
NỘI DUNG CHÍNH
NỘI
DUNG
Trang 24GIAO THỨC RARP
Giao thức RARP(Reverse Address Resolution Protocol) – Giao thức phân giải ngược lại địa chỉ - Giao thức này sử dụng định dạng
góiARP(AddressResolution Protocol) và không liên quan đến IP, do
đó gói tin này không thể được định tuyến RARP thường sử dụng trên mạng LAN RARP đòi hỏi mộthoặc nhiều máy chủ lưu trữ để duy trì một cơ sở dữ liệu bản đồ của địa chỉ lớpliên kết đến các địa chỉ giao thức tương ứng Media Access Control (MAC) địa chỉ cần thiết để
được cấu hình riêng trên các máy chủ của quản trị viên RARPđược giới hạn chỉ phục vụ các địa chỉ IP
Trang 25LỊCH SỬ
Giao thức RARP là giao thức đầu tiên được tạo ra để giải quyết “Vấn đề Bootstrap” RARP ra đời năm 1984
là biến thểtrực tiếp từ giao thức cấp
thấp ARP(Address Resolution Protocol)một giao thức kết buộc địa chỉ IP với địa chỉ tầng data-link
Trang 26MỤC ĐÍCH
Sử dụng giao thức RARP để tìm địa chỉ logic(IP)(Thực chất là việc ánh xạ cho Host một địa chỉ IP) khi đã biết địachỉ vật lý (MAC) của Host
Trang 27ứng dụng
RARP thường sử dụng trong mạng LAN phạm vi nhỏ(chẳng hạn trong một subnet) nơi mà có những máy trạm khôngđĩa (diskless workstation) vì :
Thông thường các địa chỉ IP của hệ thống thường được
lưutrữ trong một file cấu hình trong các vùng ổ đĩa Khi
hệthống bắt đầu khởi động thì nó xác định IP của nó từ tậptin này Trong trường hợp máy trạm không đĩa , địa chỉ IPkhông thể lưu trữ trong hệ thống đó được Trong trường hợp này RARP có thể được sử dụng để có được địa chỉ IP từ máy
chủ RARP (RARP Server).
Trang 28 RARP sử dụng dụng định dạng giống gói trong giao thứcARP và không liên quan đến IP , do vậy gói tin RARP(RARP packet) không thể được định tuyến do đó nếu việctruyền các gói tin trong 1 subnet khi đó không cần phải sửdụng các bộ định tuyến phức tạp.Ta có hình ảnh của một mạng LAN nhỏ với 2 subnet đểminh họa trường hợp trên :
Trang 29Cấu trúc của RARP
RARP nằm trên lớp thứ hai của mô hình OSI (Data Link)Một gói tin RARP có dạng sau :
Trang 30Trong đó :
-Hardware type : Dạng phần cứng là loại nào ví dụ Ethernet thì cógiá trị
là 1-Protocol type : Dạng phương thúc mạng sử dụng là loại nào , ở đây là IPv4 nên có giá trị là 0x0800
Hardware address length : Kích thước địa chỉ phần cứng Ethernetcó giá trị là 6
Protocol address length : Độ rộng của địa chỉ IPv4 có giá trị là 4- Source hardware address (Sender hardware address ) : Địa chỉ phần cứng của nơi gửi gói tin đi Ví dụ : Ethernet chiếm 6 bytes
Source protocol address ( Sender protocol address) : Địa chỉ củaloại giao thức tại nơi gửi Ví dụ với IP chiếm 4 bytes
Destination hardware address (Target hardware address) : Địachỉ phần cứng của nơi cần gửi gói tin Ví dụ : Ethernet chiếm 6 bytes
Destination protocol address (Target protocol address) : Địa chỉcủa loại giao thức tại nơi gửi gói tin đến Ví dụ : Với IP địa chỉnày chiếm 4 bytes
Opcode : Trạng thái đang hoạt động của gói tin RARP RARPrequest trả
về giá trị 3 , RARP reply trả về giá trị 4
Trang 31 Sau đây là hình ảnh minh họa tính bao đóng của một
gói tin RARP(Encapsulation of RARP packet )
Trang 32Đặc điểm của rarp
• Giao thức này xuất hiện đầu tiên trong việc giải quyếtnhiệm vụ ánh xạ
từ địa chỉ vật lí sang địa chỉ logic.
• Sử dụng trong các hệ thống không có đĩa (DisklessWorkstation).
• Sử dụng nhiều trong các mạng LAN qui mô nhỏ , đặc biệt là trong mạng Ethernet
• Hiện tại RARP không còn sử dụng nữa mà đã thay thế bằng giao thức khác đó là BOOTP và DHCP
• RARP cùng với ARP nằm trên lớp liên kết dữ liệu (DataLink Layer) của
mô hình OSI
Trang 33Hoạt động kĩ thuật của RARP
Hình : RARP Operation
Trang 34 Qúa trình thực hiện RARP được bắt đầu khi một gói tin
muốn gửiđi đến một máy khác , để làm được điều này trước tiên
là gói tin đó phảixác định được địa chỉ IP của mạng mà máy đó đang tồn tại trong đó Như chúng ta đã biết việc gửi gói tin
trong cùng một mạng thông qua Switch là dựa vào địa chỉ MAC tuy nhiên để biết được chúng có cùng trong cùng một mạng hay không thì cần xác định IP của mạng đó ,RARP làm nhiệm vụ này
Khi một máy trong mạng cục bộ gửi yêu cầu xác định địa chỉ IP từcổng của máy chủ ARP (Address Resolution Protocol) thì
chúng sẽ kiểmtra tại các bảng hoặc bộ nhớ đệm (Cache) tại đó Một quản trị mạng(Network Administrator) có trách nhiệm tạo
ra bảng tại cổng định hướngcủa mạng cục bộ này Bảng này sẽ ánh xạ địa chỉ MAC của máy sangđịa chỉ IP tương ứng
Trang 35Quá trình thực hiện của RARP(RARP Transaction)
-Khái niệm RARP Server : Tất cả ánh xạ giữa địa vật lý (MAC) với địa chỉ logic (IP) của các Hosts thì đều được lưu trữ vào tệp cấu hình của một Host nào đó trong mạng Host này được gọi là RARP Server Host này đáp ứng tất cả các yêu cầu của RARP Request Còn tệp cấu hình này nằm trên vùng đĩa cứng của RARP Server -RARP Client : là một hệ thống máy tính không đĩa (Hosts),nơi phát racác yêu cầu để xác định IP của Host với đầu vào là MAC
Trang 36Hoạt động xảy ra hai quá trình chính:
• RARP Client phát đi yêu cầu nằm trong gói RARP với địa chỉ MAC của nó
• RARP Server trả lời lại yêu cầu từ gói tin RARP của RARP
Client gửi tới Khi một hệ thống không đĩa khởi động , nó phát đi một gói yêu cầu RARP với địa chỉ MAC của nó Gói tin này được nhận bởi tất cả cácHosts trong mạng và được gọi là gói Broadcast
Trang 37 Khi RARP Server nhận được gói tin này nó nhìn lên địa chỉ MAC trong tệp cấu hình vàxác định địa chỉ IP tương ứng Sau đó nó gửi địa chỉ IP trong gói trảlời tin RARP (RARP Reply) và chỉ gửi từ một Host đến Host đíchcần tới vì vậy gọi là gói Unicast Hệ thống không đĩa ban đầu
nhậnđược gói tin này và địa chỉ IP
Một gói tin RARP Request thường được được tạo ra trong quá trìnhkhởi động của Host Khi RARP Server nhận được gói RARPRequest , nó thực hiện các bước sau :
Địa chỉ MAC trong gói tin yêu cầu được tìm kiếm trong tệpcấu hình , và được ánh xạ sang địa chỉ IP tương ứng
Nếu việc ánh xạ không tìm thấy thì gói tin sẽ bị loại
Nếu việc ánh được tìm thấy , một gói tin RARP Reply được tạo ra với địa chỉ MAC và IP Sau đó gói này được gửi trả lại Host mà đã đưa
ra gói RARP Request
Lúc này khi Host nhận được RARP Reply , nó nhận được địa chỉIP từ gói tin RARP ban đầu và hoàn tất quá trình khởi động(Boot) , địa chỉ IP được sử dụng để giao tiếp với các Hosts kháctrong mạng cho đến khi nó khởi
động lại
Trang 38 Kích thước của một gói tin RARP là 28 bytes
Hình : Gói tin RARP (request hay reply)
Trang 39Tổng Kết
RARP được sử dụng trên nhiều hệ thống không đĩa để có được địachỉ IP khi khởi động hệ thống và kết nối với mạng RARP là giao thứcđược xây dựng đầu tiên để giải quyết vấn đề này chính vì vậy nó còn rấtnhiều hạn chế trong khi Internet ngày càng phát triển và mở rộng hơn Hiệntại giao thức này không còn thích hợp trong môi trường hiện nay mà đã thaythế bởi những giao thức khác hiện đại hơn và hiệu quả hơn như : BOOTP hay
DHCP Tuy nhiên nền tảng lý thuyết của RARP chính là cơ sở để xây dựng nên các giao thức mới RARP được mô tả trong Internet Engineering Task Force (IETF) xuất bản RFC 903