MÔN MẠNG NÂNG CAO
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tìm hiểu về ARP

+3
LePhuocDuc
Ha Quang Hai
Admin
7 posters

Go down

Tìm hiểu về ARP Empty Tìm hiểu về ARP

Bài gửi by Admin Fri Sep 14, 2018 1:05 pm

Tìm hiểu về ARP

Mạng LAN nhỏ hoạt động dựa trên hai lớp một và hai trong mô hình OSI ( lớp physical và datalink). Nhưng các giao thức liên mạng ( internet-work ) lại dựa trên địa chỉ lớp ba (lớp network). Việc phân giải địa chỉ giữa lớp datalink và lớp network nhằm giúp cho việc truyền dữ liệu được liên tục qua mạng.
Có hai phương pháp phân giải địa chỉ là : map trực tiếp và phân giải động. Việc map trực tiếp gặp nhiều khó khăn do địa chỉ MAC (lớp datalink) là địa chỉ 48 bit trong khi địa chỉ IP là 32 bit. Bên cạnh đó các nhà phát triển muốn tạo ra một cơ chế linh hoạt trong sử dụng. Chính vì vậy họ phát triển ARP ( Address Resolution Protocol ). Giao thức này được định nghĩa trong RFC 826

ARP là gì ?

- ARP là phương thức phân giải địa chỉ động giữa địa chỉ lớp network và địa chỉ lớp datalink. Quá trình thực hiện bằng cách: một thiết bị IP trong mạng gửi một gói tin broadcast đến toàn mạng yêu cầu thiết bị khác gửi trả lại địa chỉ phần cứng ( địa chỉ lớp datalink ) của mình.

- Ban đầu ARP chỉ được sử dụng trong mạng Ethernet để phân giải địa chỉ IP và địa chỉ MAC. Nhưng ngày nay ARP đã được ứng dụng rộng rãi và dùng trong các công nghệ khác dựa trên lớp hai.

2. Cơ chế hoạt động

· Quá trình thực hiện ARP được bắt đầu khi một thiết bị nguồn trong mọt mạng IP có nhu cầu gửi một gói tin IP. Trước hết thiết bị đó phải xác định xem địa chỉ IP đích của gói tin có phải nằm cùng trong mạng nội bộ của mình hay không. Nếu đúng vậy thì thiết bị sẽ gửi trực tiếp gói tin đến thiết bị đích. Nếu địa chỉ IP đích nằm trên mạng khác, thì thiết bị sẽ gửi gói tin đến một trong các router nằm cùng trên mạng nội bộ để router này làm nhiệm vụ forward gói tin. Cả hai trường hợp ta đều thấy được là thiết bị phải gói tin IP đến một thiết bị IP khác trên cùng mạng nội bộ. Ta biết rằng việc gửi gói tin trong cùng mạng thông qua Switch là dựa vào địa chỉ MAC hay địa chỉ phần cứng của thiết bị. Sau khi gói tin đựoc đóng gói thì mới bắt đầu được chuyển qua quá trình phân giải địa chỉ ARP và được chuyển đi

· ARP về cơ bản là một quá trình 2 chiều request/response giữa các thiết bị trong cùng mạng nội bộ. Thiết bị nguồn request bằng cách gửi một bản tin broadcast trên toàn mạng. Thiết bị đích response bằng một bản tin unicast đến thiết bị nguồn

Các loại bản tin ARP

Có hai dạng bản tin trong ARP : một được gửi từ nguồn đến đích, và một được gửi từ đích tới nguồn.

· Request : Khởi tạo quá trình, gói tin được gửi từ thiết bị nguồn tới thiết bị đích
· Reply : Là quá trình đáp trả gói tin ARP request, được gửi từ máy đích đến máy nguồn

Có 4 loại địa chỉ trong một bản tin ARP :

1. Sender Hardware Address : địa chỉ lớp hai của thiết bị gửi bản tin
2. Sender Protocol Address : Địa chỉ lớp ba ( hay địa chỉ logic ) của thiết bị gửi bản tin
3. Target Hardware Address : Địa chỉ lớp hai ( địa chỉ phần cứng ) của thiết bị đích của bản tin
4. Target Protocol Address : Địa chỉ lớp ba ( hay địa chỉ logic ) của thiết bị đích của bản tin

Các bước hoạt động của ARP :

1. Source Device Checks Cache : Trong bước này, thiết bị sẽ kiểm tra cache ( bộ đệm ) của mình. Nếu đã có địa chỉ IP đích tương ứng với MAC nào đó rồi thì lập tức chuyển lên bước 9
2. Source Device Generates ARP Request Message : Bắt đầu khởi tạo gói tin ARP Request với các trường địa chỉ như trên
3. Source Device Broadcasts ARP Request Message : Thiết bị nguồn quảng bá gói tin ARP Request trên toàn mạng
4. Local Devices Process ARP Request Message : Các thiết bị trong mạng đều nhận được gói tin ARP Request. Gói tin được xử lý bằng cách các thiết bị đều nhìn vào trường địa chỉ Target Protocol Address. Nếu trùng với địa chỉ của mình thì tiếp tục xử lý, nếu không thì hủy gói tin
5. Destination Device Generates ARP Reply Message : Thiết bị với IP trùng với IP trong trường Target Protocol Address sẽ bắt đầu quá trình khởi tạo gói tin ARP Reply bằng cách lấy các trường Sender Hardware Address và Sender Protocol Address trong gói tin ARP nhận được đưa vào làm Target trong gói tin gửi đi. Đồng thời thiết bị sẽ lấy địa chỉ datalink của mình để đưa vào trường Sender Hardware Address
6. Destination Device Updates ARP Cache : Thiết bị đích ( thiết bị khởi tạo gói tin ARP Reply ) đồng thời cập nhật bảng ánh xạ địa chỉ IP và MAC của thiết bị nguồn vào bảng ARP cache của mình để giảm bớt thời gian xử lý cho các lần sau
7. Destination Device Sends ARP Reply Message : Thiết bị đích bắt đầu gửi gói tin Reply đã được khởi tạo đến thiết bị nguồn. Gói tin reply là gói tin gửi unicast
8. Source Device Processes ARP Reply Message : Thiết bị nguồn nhận được gói tin reply và xử lý bằng cách lưu trường Sender Hardware Address trong gói reply như địa chỉ phần cứng của thiết bị đích
9. Source Device Updates ARP Cache : Thiết bị nguồn update vào ARP cache của mình giá trị tương ứng giữa địa chỉ network và địa chỉ datalink của thiết bị đích. Lần sau sẽ không còn cần tới request

3. ARP Caching

ARP là một giao thức phân giải địa chỉ động. Quá trình gửi gói tin Request và Reply sẽ tiêu tốn băng thông mạng. Chính vì vậy càng hạn chế tối đa việc gửi gói tin Request và Reply sẽ càng góp phần làm tăng khả năng họat động của mạng.Từ đó sinh ra nhu cầu của ARP Caching

Static and Dynamic ARP Cache Entries

ARP Cache có dạng giống như một bảng tương ứng giữa địa chỉ hardware và địa chỉ IP. Có hai cách đưa các thành phần tương ứng vào bảng ARP :
· Static ARP Cache Entries: Đây là cách mà các thành phần tương ứng trong bảng ARP được đưa vào lần lượt bởi người quản trị. Công việc được tiến hành một cách thủ công
· Dynamic ARP Cache Entries: Đây là quá trình mà các thành phần địa chỉ hardware/IP được đưa vào ARP cache một cách hoàn toàn tự động bằng phần mềm sau khi đã hoàn tất quá trình phân giải địa chỉ. Chúng được lưu trong cache trong một khoảng thời gian và sau đó sẽ được xóa đi

Dynamic Cache được sử dụng rộng rãi hơn vì tất cả các quá trình diễn ra tự động và không cần đến sự tương tác của người quản trị. Tuy nhiên static cache vẫn có phạm vi ứng dụng nhất định của nó. Đó là trường hợp mà các workstation nên có static ARP entry đến router và file server nằm trong mạng. Điều này sẽ hạn chế việc gửi các gói tin để thực hiện quá trình phân giải địa chỉ.

Tuy nhiên ngoài hạn chế của việc phải nhập bằng tay, static cache còn thêm hạn chế nữa là khi địa chỉ IP của các thiết bị trong mạng thay đổi thì sẽ dẫn đến việc phải thay đổi ARP cache

Quá trình xóa thông tin trong cache

Ta xét trường hợp bảng cache của một thiết bị A, trong đó có chứa thông tin về thiết bị B trong mạng. Nếu các thông tin trong cache được lưu mãi mãi, sẽ có một số vấn đề như sau xảy ra :
· Địa chỉ phần cứng thiết vị đựoc thay đổi : Đây là trường hợp khi thiết bị B được thay đổi card mạng hay thiết bị giao tiếp, làm thay đổi địa chỉ MAC của thiết bị. Điều này làm cho các thông tin trong cache của A không còn đúng nữa
· Địa chỉ IP của thiết bị được thay đổi : Người quản trị hay nhà cung cấp thay đổi địa chỉ IP của B, cũng làm cho thông tin trong cache của A bị sai lệch
· Thiết bị được rút ra khỏi mạng : Khi B được rút ra khỏi mạng nhưng A không được biết, và gây lãng phí về tài nguyên của A để lưu thông tin không cần thiết và tốn thời gian để tìm kiếm.

Để tránh được những vấn đề này, các thông tin trong dynamic cache sẽ được tự động xóa sau một khoảng thời gian nhất định. Quá trình này được thực hiện một cách hoàn toàn tự động khi sử dụng ARP với khoảng thời gian thường là 10 hoặc 20 phút. Sau một khoảng thời gian nhất định được lưu trong cache , thông tin sẽ được xóa đi. Lần sử dụng sau, thông tin sẽ được update trở lại

4. Proxy ARP

ARP được thiết kế cho các thiết bị nằm trong nội mạng, có tính chất local. Tuy nhiên nếu hai thiết bị A và B bị chia cắt bởi 1 router thì chúng sẽ được coi như là không local với nhau nữa. Khi A muốn gửi thông tin đến B, A sẽ không gửi trực tiếp được đến B theo địa chỉ lớp hai, mà phải gửi qua router và được coi là cách nhau 2 hop ở lớp ba.

Vì sao cần phải có Proxy ARP ?

Khác với các trường hợp thông thường, nhiều trường hợp hai thiết bị A và B nằm trên 2 segment vật lý khác nhau nhưng được kết nối qua một router và cùng nằm trong một mạng IP hay một IP subnet. Lúc này A và B sẽ coi nhau có quan hệ local.

Giả sử ta có tình huống A muốn gửi thông tin cho B. A nghĩ B trong cùng nội mạng và tìm trong bảng ARP cache. A không lưu địa chỉ MAC của B và bắt đầu tiến hành quá trình phân giải địa chỉ. A broadcast gói ARP request trong nội mạng để tìm địa chỉ MAC của B. Sẽ có vấn đề xảy ra : B không cùng nằm trong mạng và sẽ không nhận được gói tin broadcast cũng như router kết nối sẽ không forward gói broadcasr từ A qua B ( router không truyền các gói broadcast ở lớp datalink )

VÌ vậy B không bao giờ nhận được request từ A cũng như A sẽ không bao giờ có được địa chỉ MAC của B

Hoạt động của Proxy ARP

Giải pháp cho tình huống này được gọi là ARP proxying hay Proxy ARP. Trong công nghệ này, router nằm giữa 2 mạng local sẽ được cấu hình để đáp ứng các gói tin broadcast gửi từ A thay cho B. Router sẽ không gửi cho A địa chỉ MAC của B, vì dù thế nào A và B cũng nằm trên hai mạng khác nhau và không thể gửi trực tiếp đến nhau được. Thay vào đó router sẽ gửi cho A các địa chỉ MAC cảu chính router. A sau đó sẽ gửi thông các gói tin cho router, và router sẽ forward sang cho B. Quá trình cũng hoàn toàn diễn ra tương tự khi B muốn gửi thông tin cho A, hay cho bất cứ thiết bị nào mà đích đến của gói tin là một thiết bị ở một mạng khác.


Trong ví dụ, một router kết nối hai mạng LAN cùng trong một mạng IP hoặc subnet với nhau. Router sẽ không truyền các gói tin ARP broadcast nhưng được cấu hình để hoạt động như một ARP proxy. Hai thiết bị A và D có nhu cầu gửi các gói tin IP cho nhau, chính vì vậy chúng broadcast các gói ARP request. Router sẽ đáp ứng lại các gói tin request từ A như thể là D ( router không truyền gói request đến D ). Tương tự, router cũng sẽ dùng địa chỉ của mình để gửi trả các gói tin từ D gửi cho A.

Ưu điểm và nhược điểm của Proxying

Ưu điểm dễ nhận thấy của Proxy ARP là các router hoạt động nhưng các thiết bị không hề cảm nhận được sự hoạt động của nó. Các hoạt động gửi nhận giữa hai thiết bị thuộc hai LAN khác nhau vẫn diễn ra bình thường

Tuy nhiên nó vẫn có những mặt trái và những điểm hạn chế của mình :

· Thứ nhất, nó làm tăng độ phức tạp của mạng
· Thứ hai, nếu nhiều hơn một router kết nối tới hai LAN cùng nằm trong một mạng IP, nhiều vấn đề có thể phát sinh
· Thứ ba, công nghệ này cũng tạo nên những mối nguy cơ tiềm ẩn về an ninh và bảo mật, khi các router được cấu hình proxy, tạo nguy cơ về giả mạo địa chỉ

Do vậy, giải pháp tốt nhất là thiết kế lại topo mạng để chỉ một router kết nối tới hai LAN nằm trong một mạng IP.

Admin
Admin

Tổng số bài gửi : 91
Join date : 07/09/2018

https://mnc42cntt.forumvi.com

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by Ha Quang Hai Fri Sep 14, 2018 2:08 pm

CÁC LỖ HỔNG VÀ GIAO THỨC LIÊN QUAN TỚI ARP
1.Lỗ hổng bảo mật ARP​

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​.

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.​

Man in middle
Man in middle là một trong những kiểu tấn công mạng thường thấy nhất, có thể hiểu kiểu tấn công này là kẻ đứng giữa nghe trộm thông tin. Đây là một hình thức tấn công mạng có xuất xứ lâu đời nhất (nó còn được biết đến với cái tên ARP Poison Routing) tấn công này cho phép hacker có thể nghe trộm tất cả các lưu lượng mạng giữa các máy tính nạn nhân. Nó là một trong những hình thức tấn công đơn giản nhưng cực kì hiệu quả

Giả sử hacker muốn theo dõi host A gởi thông tin gì cho host B. ​

Đầu tiên, hacker sẽ gởi gói ARP Reply đến host A với nội dung là địa chỉ MAC của hacker và địa chỉ IP của hostB.
Tiếp theo, hacker sẽ gửi gói ARP Reply tới host B với nội dung là MAC của máy hacker và IP của host A.
Như vậy, cả hai host A và host B đều tiếp nhận gói ARP Reply đó và lưu vào trong ARP table của mình.
Đến lúc này, khi host A muốn gửi thông tin đến host B, nó liền tra vào ARP table thấy đã có sẵn thông tin về địa chỉ MAC của host B nên sẽ lấy thông tin đó ra sử dụng, nhưng thực chất địa chỉ MAC đó là của hacker. Đồng thời máy tính của hacker sẽ mở chức năng gọi là IP Forwading giúp chuyển tải nội dung mà host A gửi qua host B.
Host A và host B giao tiếp bình thường và không có cảm giác bị qua máy trung gian là máy của hacker. ​

ARP Poison Routing

Công cụ phổ biến nhất để thực hiện cuộc tấn công này là Cain & Abel, ettercap …

Denial of service
Denial of service hay còn gọi là tấn công từ chối dịch vụ. 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.


ARP tấn công từ chối dịch vụ

Các công cụ phổ biến để thực hiện tấn công: ettercap, arpspoof, nemesis

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.


ARP Mac Flooding

2.Cách phòng chống tấn công mạng kiểu ARP

Đối với 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ệnh arp -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.

Đối với 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.​

Ha Quang Hai

Tổng số bài gửi : 17
Join date : 07/09/2018
Age : 26

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by LePhuocDuc Fri Sep 14, 2018 2:08 pm

1/ ARP (Address Resolution Protocol)
Đầu tiên ta sẽ tìm hiểu cách ánh xạ giữa địa chỉ IP và địa chỉ MAC tương ứng. Mỗi network adapter (thường gọi là interface hay card mạng) có một địa chỉ MAC duy nhất và vĩnh viễn, còn gọi là địa chỉ vật lí, tương ứng với một hoặc nhiều địa chỉ IP gán cho interface đó. Đây là địa chỉ giao tiếp trong tầng Datalink của mô hình OSI. Để hiểu tại sao cần ARP và nó làm việc như thế nào, ta xét một ví dụ, khi bạn gõ dòng lệnh sau trong môi trường Linux (trong Windows cũng tương tự):
Code:
% ftp khangves
Nghĩa là bạn muốn dùng chương trình “ftp” để kết nối đến một host có tên “khangves” để thực hiện việc truyền nhận file (sử dụng giao thức FTP), các bước sau sẽ diễn ra trong “hậu trường”:

1.Chương trình ứng dụng, trong trường hợp này là FTP client, gọi hàm gethostbyname để chuyển (convert) từ hostname “khangves” sang địa chỉ IP 32 bit. Hàm này được gọi là một resolver (bộ phân giải) trong Domain Name System (DNS), ta sẽ nói sau về cái này.

2.Khi có được IP của host “khangves” rồi, FTP client yêu cầu thiết lập một cầu nối TCP với địa chỉ IP đó bằng cách gửi một gói IP datagram đến địa chỉ IP vừa xác định.

3.Nếu địa chỉ IP cần gửi đến có cùng NetID với IP của máy local (nghĩa là thằng mình cần gửi nằm trong một mạng với mình) thì gói tin IP đó có thể được gửi trực tiếp đến nó. Còn nếu thấy NetID của IP đích lạ hoắc thì chức năng định tuyến của IP sẽ xác định địa chỉ IP của thằng router trong mạng của mình (chính là cái Default Gateway khi bạn cấu hình IP address) và gửi gói tin IP đến đó. Đến lượt router sẽ dựa vào bảng định tuyến của mình để quyết định chuyển tiếp gói tin đi đâu. Đó là công việc của tầng IP.

4.Trong cả hai trường hợp trên, để gửi cho bất kỳ host nào (trực tiếp đến máy kia hay là gửi đến router), ta gọi chung là destination host, thì đến tầng Datalink sẽ phải xác định địa chỉ MAC của destination host. Cụ thể là host gửi gói tin phải convert từ địa chỉ IP 32 bit sang địa chỉ MAC 48 bit, từ địa chỉ logical sang địa chỉ physical. Đây là chức năng của ARP – Address Resolution Protocol.

5.Giao thức ARP sẽ gửi một Ethernet frame gọi là một ARP request đến tất cả các host trong mạng. Kiểu gởi này gọi là broadcast. Frame này mang theo địa chỉ IP của destination host và đến gõ cửa từng card mạng: “Nếu ấy có địa chỉ IP là cái này thì làm ơn trả lời cho tớ địa chỉ MAC của ấy!”

6.Mọi interface trong mạng đều nhận được gói tin đó, nếu một interface không phải là destination host thì không có gì xảy ra, chỉ đơn giản là nó quăng gói tin request đó đi. Còn nếu tầng Datalink của destination host nhận được frame ARP request, và nhận ra là sender đang yêu cầu đ/c MAC của mình, nó lập tức đáp lại bằng một ARP reply. Gói reply này chứa địa chỉ IP và địa chỉ MAC tương ứng của nó.

7.Gói ARP reply được máy của bạn (đang yêu cầu dịch vụ) nhận được, và lấy MAC của destination host ra, nhét vào frame (giống như ghi địa chỉ) và lúc này có thể gửi cái IP datagram đi.

8.Cuối cùng, IP datagram được gửi đến destination host.
Qua ví dụ trên các bạn đã hình dung được ARP làm việc như thế nào rồi phải không. Tóm lại, ta chỉ cần nhớ: trong bộ giao thức TCP/IP, giao thức ARP (Address Resolution Protocol) được dùng để phân giải địa chỉ IP thành MAC cho các gói tin gửi ra ngoài. Nó phân giải bằng cách gửi các gói tin broadcast đến tất cả các host để hỏi địa chỉ MAC ứng với IP muốn gửi đến. Như vậy cứ mỗi lần một host muốn liên lạc đến một IP nào là tất cả các máy trên mạng phải nhận một gói tin broadcast để request MAC, mặc dù hầu như tất cả đều vứt đi, chỉ có một host đúng với IP của nó mới reply lại. Nếu việc này xảy ra thường xuyên thì quả là một sự phí phạm băng thông trên mạng, do đó sinh ra cái gọi là ARP cache.

2/ ARP Cache:
Giống như mọi cái cache khác trong máy tính, ARP cache được dùng để trữ lại những thông tin ARP đã tìm được để lần sau dùng lại. Nó lưu những địa chỉ IP và địa chỉ MAC tương ứng (tạm gọi là entry ) đã broadcast tìm được để hạn chế lần sau broadcast lại. Để giữ cho thông tin không bị lạc hậu (chẳng hạn có host đổi IP), các entry lưu trong ARP cache được tồn tại trong một chu kì ngắn, thường là từ 2 đến 20 phút. Quá trình hoạt động của ARP chỉ thay đổi một chút là trước khi gửi broadcast để biết MAC của một máy, host sẽ kiểm tra ARP cache, nếu chưa có trong đó mới gửi broadcast.
Trong Windows và Linux đều có một công cụ là arp để xem và quản lí nội dung của arp cache. Ví dụ bạn có thể dùng lệnh arp để thêm thủ công các địa chỉ MAC của các máy bạn thường tiếp xúc, nhờ đó tiết kiệm được thời gian và băng thông trong quá trình kết nối. Các địa chỉ mà bạn nhập thủ công vào là những dữ liệu tĩnh (static entry), nghĩa là nó không bị xóa sau mỗi chu kì như đối với các dynamic entry tìm được từ broadcast.
Nhưng vì được lưu trong bộ nhớ nên khi restart máy thì nó cũng bị xóa luôn.
Do ARP dựa trên broadcast nên nó chỉ hoạt động trên cùng một mạng (cùng một NetID) vì muốn sang mạng khác phải đi ngang các router, mà đi ngang router sẽ bị loại hết các gói broadcast. Lúc này lại sinh ra vấn để Proxy ARP, khi đó router nối hai mạng A và B sẽ chịu trách nhiệm trả lời ARP cho các ARP request nếu host trong A hỏi host trong B và ngược lại. Có một câu hỏi là có khi nào một máy tự gửi ARP để hỏi IP của nó không? Có, đó là lúc bật máy lên. Khi đó host sẽ gửi ARP request để biết IP của chính mình (giống kiểu hỏi “Ấy có biết mình tên gì không?”). Lúc đó lại sinh ra cái gọi là Gratuitous ARP. Ngoài ra cái này còn một số đặc tính nữa, nhưng chúng ta tạm khoan không đào sâu hơn.
- Để xem bảng arp cache, bạn gõ lệnh sau: arp –a cho cả Windows và Linux. Ngoài ra còn có các tùy chọn khác như –d để delete một entry… Xem thêm các tùy chọn bằng cách gõ “arp -?” trong Windows và “man arp” trong Linux.
- Để minh hoạ cho hoạt động của ARP, bạn dùng các công cụ để bắt các gói tin đi qua card mạng của mình sẽ thấy rõ gói ARP request được gửi broadcast (gửi đến MAC đích ff:ff:ff:ff:ff:ff) như thế nào, gói reply được gửi unicast (gửi đến 1 MAC xác định) như thế nào. Các công cụ bắt và phân tích gói tin thường dùng như Network Monitor, Ethereal trên Windows, hay tcpdump trên Linux.
-Ngoài ra các bạn có thể xem thêm về cách đổi địa chỉ MAC bằng việc search từ Google nhé.

3/ Tóm tắt:
-Ta phải tìm hiểu ARP khi nghiên cứu về phân giải tên máy tính vì dù đặt tên kiểu gì thì cuối cùng cũng phải phân giải về được địa chỉ MAC mới lưu thông được trên mạng.
-ARP là protcol cơ bản trong hầu hết mọi mạng TCP/IP, nhưng thông thường nó làm việc “âm thầm” ở hạ tầng mà chẳng ai thèm chú ý.
-Proxy ARP và Gratuitous ARP là các dạng ARP đặc biệt.
-Broadcast và ARP cache là cơ sở hoạt động của ARP và ta dùng lệnh arp để kiểm tra và quản lí arp cache.

LePhuocDuc

Tổng số bài gửi : 34
Join date : 07/09/2018

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by Trần Thị Thu Sương Fri Sep 14, 2018 2:15 pm

Giao thức ARP

Đầu tiên chúng ta sẽ tìm hiểu làm thế nào để các máy tính trong một mạng LAN có thể gửi một gói tin đến đúng máy đích mong muốn. Ta đã biết mỗi một máy tính có một card mạng và sở hữu một địa chỉ MAC cố định và duy nhất. Và các card mạng trong một mạng LAN sẽ liên lạc với nhau thông qua địa chỉ này tại tầng Data-link của mô hình OSI.

Bên cạnh đó khi một máy tính được kết nối vào mạng LAN nó cũng được cấp phép một địa chỉ mang tính chất quy ước là IP, sử dụng ở tầng Network của mô hình OSI. Chúng ta hoàn toàn có thể tự thay đổi địa chỉ này theo ý muốn của mình. Bạn có thể hình dung địa chỉ MAC giống như địa chỉ nhà của mình dùng để nhận thư từ bưu phẩm, còn địa chỉ IP giống như tên của mình dùng để xưng hô khi giao tiếp với những người khác vậy.

Vấn đề đặt ra là làm sao để một máy tính A có thể biết được địa chỉ MAC của một máy tính B có địa chỉ IP là 192.168.1.120 để gửi gói tin cho nó? Ta phải có một cơ chế để chuyển đổi các dạng địa chỉ này qua lại với nhau. Từ đó ta có giao thức phân giải địa chỉ: Address Resolution Protocol (ARP). Dưới đây là cấu trúc gói tin sử dụng trong giao thức ARP.

Tìm hiểu về ARP 210


Ý nghĩa các trường trong header gói tin ARP:

Hardware Type:

xác định kiểu bộ giao tiếp phần cứng máy gửi cần biết
với giá trị 1 cho Ethernet
Protocol Type:

Xác định kiểu giao thức địa chỉ cấp cao máy gửi cung cấp
Có giá trị 080016 cho giao thức IP
HLEN: độ dài địa chỉ vật lý (bit)

PLEN: độ dài địa chỉ logic (bit)

1: là một ARP request.
2: là một ARP reply.
3: là một RARP request.
4: là một RARP reply.
Sender HA (sender hardware address): địa chỉ MAC của máy gửi

Sender Protocol Address: địa chỉ IP máy gửi

Target HA (target hardware address): địa chỉ MAC của máy nhận

Target Protocol Address: địa chỉ IP máy nhận

Vậy cơ chế hoạt động của ARP ra sao?

Tìm hiểu về ARP 310


Thử tưởng tượng bạn bước vào một phòng học và biết được rằng có một bạn gái tên Lina đang ở trong đó. Bạn muốn đến ngồi cạnh để trò chuyện nhưng lại không biết bạn ấy ngồi ở đâu. Khi ấy giải pháp đơn giản chúng ta sẽ thực hiện là đứng lên nói cho tất cả mọi người cùng nghe: "xin cho hỏi bạn Lina đang ngồi ở vị trí nào ạ?" Sau khi bạn Lina nghe thấy như vậy sẽ giơ tay cho biết vị trí bạn ấy đang ngồi. Sau khi đã biết vị trí của Lina bạn sẽ lại gần bạn ấy và cuộc trò chuyện bắt đầu.

Trong môi trường mạng LAN cũng như vậy. Và đây là cách hoạt động của ARP.

Bước 1: Thiết bị A sẽ kiểm tra cache của mình (giống như quyển sổ danh bạ nơi lưu trữ tham chiếu giữa địa chỉ IP và địa chỉ MAC). Nếu đã có địa chỉ MAC của IP 192.168.1.120 thì lập tức chuyển sang bước 9.
Bước 2: Bắt đầu khởi tạo gói tin ARP Request. Nó sẽ gửi một gói tin broadcast đến toàn bộ các máy khác trong mạng với địa chỉ MAC và IP máy gửi là địa chỉ của chính nó, địa chỉ IP máy nhận là 192.168.1.120, và địa chỉ MAC máy nhận là ff:ff:ff:ff:ff:ff.
Bước 3: Thiết bị A phân phát gói tin ARP Request trên toàn mạng. Khi switch nhận được gói tin broadcast nó sẽ chuyển gói tin này tới tất cả các máy trong mạng LAN đó.
Bước 4: Các thiết bị trong mạng đều nhận được gói tin ARP Request. Máy tính kiểm tra trường địa chỉ Target Protocol Address. Nếu trùng với địa chỉ của mình thì tiếp tục xử lý, nếu không thì hủy gói tin.
Bước 5: Thiết bị B có IP trùng với IP trong trường Target Protocol Address sẽ bắt đầu quá trình khởi tạo gói tin ARP Reply bằng cách:
lấy các trường Sender Hardware Address và Sender Protocol Address trong gói tin ARP nhận được đưa vào làm Target trong gói tin gửi đi.
Đồng thời thiết bị sẽ lấy địa chỉ MAC của mình để đưa vào trường Sender Hardware Address
Bước 6: Thiết bị B đồng thời cập nhật bảng ánh xạ địa chỉ IP và MAC của thiết bị nguồn vào bảng ARP cache của mình để giảm bớt thời gian xử lý cho các lần sau (hoạt động cập nhật danh bạ).
Bước 7: Thiết bị B bắt đầu gửi gói tin Reply đã được khởi tạo đến thiết bị A.
Bước 8: Thiết bị A nhận được gói tin reply và xử lý bằng cách lưu trường Sender Hardware Address trong gói reply vào địa chỉ phần cứng của thiết bị B.
Bước 9: Thiết bị A update vào ARP cache của mình giá trị tương ứng giữa địa chỉ IP (địa chỉ network) và địa chỉ MAC (địac chỉ datalink) của thiết bị B. Lần sau sẽ không còn cần tới request.
Như vậy máy A đã biết được địa chỉ MAC của máy B, tương tự như việc chúng ta đã biết địa chỉ cụ thể của ai đó. Và khi A cần gửi một gói tin cho B thì sẽ điền địa chỉ này vào trường Target Hardware Address. Gói tin sẽ được gửi thằng đến B mà không cần gửi đến các máy khác trong mạng LAN nữa.

Giao thức RARP

Định Nghĩa : Giao thức RARP (Reverse Address ResolutionProtocol) hay còn gọi là giao thức phân giải địa chỉ ngược là một giao thức được sử dụng bởi một máy chủ yêu cầu giao thức Internet(IPv4) dùng để xác định địa chỉ IP (địa chỉ logic) từ địa chỉ MAC của thiết bị.

Mục Đích : Sử dụng giao thức RARP để tìm địa chỉ IP (Thực chất là việc ánh xạ cho Host một địa chỉ IP) khi đã biết địa chỉ vật lý (MAC) của Host.

Qúa trình thực hiện RARP được bắt đầu khi một máy muốn gửi đi một gói tin đến một máy khác, để làm được điều này trước tiên là máy đó phải xác định được địa chỉ IP của mình trong mạng. 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ểm tra 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ướng củ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.

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 đượ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 ra các yêu cầu để xác định IP của Host với đầu vào là địa chỉ MAC.

Hoạt động:

Khi một hệ thống không đĩa khởi động, nó phát đi một gói tin Broadcast 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ác Hosts trong mạng. 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 đích cầ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à có được địa chỉ IP.

Một gói tin RARP Request thường được được tạo ra trong quá trình khở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ệp cấ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 của máy nguồn. 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ác trong mạng cho đến khi nó khởi động lại.

Một số đặc điểm của giao thức RARP: - Giao thức này xuất hiện đầu tiên trong việc giải quyết nhiệ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. Chúng ta sẽ cùng tìm hiểu những giao thức này trong bài viết sau. - RARP cùng với ARP nằm trên lớp DataLink Layer của mô hình OSI .


Trần Thị Thu Sương

Tổng số bài gửi : 45
Join date : 07/09/2018

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by Trần Thị Thu Sương Fri Sep 14, 2018 2:22 pm

ICMP lý thuyết và ứng dụng

Giao thức IP hoạt động tại lớp Network được sử dụng bởi IP cho nhiều dịch vụ khác nhau. Bản tin ICMP được mang trực tiếp trong gói tin IP với trường Protocol Number bằng 1.

Có rất nhiều trường hợp khiến cho gói tin IP bị loại bỏ: Đường truyền có sự cố, trường Time-to-Live hết hạn, không phân mảnh được gói tin kích thước lớn hơn MTU cho phép....Khi một gói tin cần loại bỏ, bản tin ICMP được sử dụng để thông báo về địa chỉ gửi gói tin. Tuy nhiên, không phi trường hợp nào ICMP cũng cần phải báo lỗi. Sau đây là một số trường hợp mà khi xảy ra sự cố, ICMP không cần báo lỗi:

- Định tuyến hay chuyển giao gói tin ICMP.
- Phát quang bá hay phát theo nhóm gói tin IP.
- Các phân đoạn gói tin khác với phân đoạn đầu tiên.
- Bản tin có địa chỉ nguồn không xác định một host duy nhất (ví dụ: 127.0.0.1, 0.0.0.0).

Định dạng của bản tin ICMP như sau :

Bản tin ICMP được mang trong phần dữ liệu của gói tin IP. Mặcdù mỗi bản tin ICMP có dạng riêng của nó, nhưng chúng đều bắt đầu với ba trường sau:

TYPE (8bit): là một số nguyên 8bit để xác định thông điệp.
CODE (8bit):cung cấp thêm thông tin về kiểu thông điệp.
CHECKSUM(16bit) : ICMP sử dụng thuật gii checksum như IP, nhưng ICMP checksum chỉ tính đến thông điệp ICMP.

Hơn nữa, các thông điệp ICMP thông báo lỗi luôn luôn bao gồm phần đầu và 64bit đầu tiên của packet gây nên lỗi. Lý do có thêm phần đầu này cùng với phần đầu packet là để cho phép nơi nhận xác định chính xác hơn những giao thức nào và chương trình ứng dụng có trách nhiệm đối với packet.

Trường TYPE của ICMP xác định ý nghĩa của thông điệp cũng như định dạng của nó.Các kiểu bao gồm:
- 0: Echo reply
- 3: Destination unreachable
- 4: Source quench
- 5: Redirect
- 8: Echo
- 9: Router advertisement
- 10: Router solicitation
- 11: Time exceeded
- 12: Parameter problem
- 13: Timestamp request
- 14: Timestamp reply
- 15: Information request (obsolete)
- 16: Information reply (obsolete)
- 17: Address mask request
- 18: Address mask reply
- 30: Traceroute
- 31: Datagram conversion error
- 32: Mobile host redirect
- 33: Ipv6 Where-Are-You
- 34: Ipv6 I-Am-Here
- 35: Mobile registration request
- 36: Mobile registration reply
- 37: Domain name request
- 38: Domain name reply
- 39: SKIP
- 40: Photuris.

Trần Thị Thu Sương

Tổng số bài gửi : 45
Join date : 07/09/2018

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by QuachQuangVinh Fri Sep 14, 2018 2:22 pm

Cấu hình ARP tĩnh cho máy tính

_ Windows XP/2003: Start > Run > CMD, gõ arp -s ip_của_computer mac_của_computer

_ WIndows Vista/2008 thì phức tạp hơn 1 chút: Start > Run > CMD, gõ netsh -c “interface ipv4″ rồi nhấn Enter

Dòng lệnh đó sẽ đưa ta vào cấu hình cạc mạng, gõ tiếp set neighbors “tên_card mạng” “ip_của_computer” “mac_của_computer” (gõ arp -a lại để xem kết quả).

QuachQuangVinh

Tổng số bài gửi : 41
Join date : 07/09/2018
Age : 26

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by NguyenDoanHung Fri Sep 14, 2018 2:27 pm

*Nguyên tắc hoạt động của ARP trong môi trường hệ thống mạng:

*Hoạt động của ARP trong một môi trường phức tạp hơn đó là hai hệ thống mạng gắn với nhau thông qua một Router C. Máy A thuộc mạng A muốn gửi gói tin đến máy B thuộc mạng B. Do các broadcast không thể truyền qua Router nên khi đó máy A sẽ xem Router C như một cầu nối hay một trung gian (Agent) để truyền dữ liệu. Trước đó, máy A sẽ biết được địa chỉ IP của Router C (địa chỉ Gateway) và biết được rằng để truyền gói tin tới B phải đi qua C. Tất cả các thông tin như vậy sẽ được chứa trong một bảng gọi là bảng định tuyến (routing table). Bảng định tuyến theo cơ chế này được lưu giữ trong mỗi máy. Bảng định tuyến chứa thông tin về các Gateway để truy cập vào một hệ thống mạng nào đó. Ví dụ trong trường hợp trên trong bảng sẽ chỉ ra rằng để đi tới LAN B phải qua port X của Router C. Bảng định tuyến sẽ có chứa địa chỉ IP của port X. Quá trình truyền dữ liệu theo từng bước sau :

· Máy A gửi một ARP request (broadcast) để tìm địa chỉ MAC của port X.

· Router C trả lời, cung cấp cho máy A địa chỉ MAC của port X.

· Máy A truyền gói tin đến port X của Router.

· Router nhận được gói tin từ máy A, chuyển gói tin ra port Y của Router. Trong gói tin có chứa địa chỉ IP của máy B. Router sẽ gửi ARP request để tìm địa chỉ MAC của máy B.

· Máy B sẽ trả lời cho Router biết địa chỉ MAC của mình. Sau khi nhận được địa chỉ MAC của máy B, Router C gửi gói tin của A đến B.

Trên thực tế ngoài dạng bảng định tuyến này người ta còn dùng phương pháp proxyARP, trong đó có một thiết bị đảm nhận nhiệm vụ phân giải địa chỉ cho tất cả các thiết bị khác.Theo đó các máy trạm không cần giữ bảng định tuyến nữa Router C sẽ có nhiệm vụ thực hiện, trả lời tất cả các ARP request của tất cả các máy .


NguyenDoanHung

Tổng số bài gửi : 39
Join date : 07/09/2018
Age : 25

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by SuNgocAnhKhoa Fri Sep 14, 2018 2:36 pm

Cấu trúc bản tin ARP
Kích thước bản tin ARP là 28 byte, được đóng gói trong frame Ethernet II nên trong mô hình OSI, ARP được coi như là giao thức lớp 3 cấp thấp.
Cấu trúc bản tin ARP được mô tả như hình sau:
Tìm hiểu về ARP 687474703a2f2f696d6775722e636f6d2f5a6d4b6f3570552e6a7067
A.Hardware type:

- Xác định kiểu bộ giao tiếp phần cứng cần biết.

- Xác định với kiểu Ethernet giá trị 1.

B.Protocol type:

- Xác định kiểu giao thức cấp cao (layer 3) máy gửi sử dụng để giao tiếp.

- Giao thức dành cho IP có giá trị 0x0800.

C.Hardware address length: Xác định độ dài địa chỉ vật lý (tính theo đơn vị byte). Địa chỉ MAC nên giá trị của nó sẽ là 6.

D.Protocol address length: Xác định độ dài địa chỉ logic được sử dụng ở tầng trên (layer 3). Tùy thuộc vào IP sử dụng mà có giá trị khác nhau, hiện tại IPv4 được sử dụng rộng rãi nên trường này sẽ có giá trị là 4 (byte).

E.Operation code: Xác định loại bản tin ARP mà máy gửi gửi. Có một số giá trị phổ biến:

- 1 : bản tin ARP request.

- 2 : bản tin ARP rely.

- 3 : bản tin RARP request.

- 4 : bản tin RARP reply.

F.Sender hardware address (SHA): Xác định địa chỉ MAC máy gửi.

- Trong bản tin ARP request: trường này xác định địa chỉ MAC của host gửi request.

- Trong bản tin ARP reply: trường này xác định địa chỉ MAC của máy host mà máy gửi bên trên muốn tìm kiếm.

G.Sender protocol address (SPA): Xác định địa chỉ IP máy gửi.

H.Target hardware address (THA): Xác định địa chỉ MAC máy nhận mà máy gửi cần tìm.

-Trong bản tin ARP request: Trường này chưa được xác định (nên sẽ để giá trị là: 00:00:00:00:00:00)

- Trong bản tin ARP reply: Trường này sẽ điền địa chỉ của máy gửi bản tin ARP request.

K.Target protocol address (PTA): Xác định địa chỉ IP máy gửi (máy cần tìm).

SuNgocAnhKhoa

Tổng số bài gửi : 34
Join date : 07/09/2018
Age : 32
Đến từ : Ninh Thuận

Về Đầu Trang Go down

Tìm hiểu về ARP Empty Re: Tìm hiểu về ARP

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết