PC thường dùng ARP để phẩn giải một địa chỉ MAC không biết khi địa chỉ IP được biết. Khi địa chỉ MAC được cần để một gói có thể được gởi. PC gởi broadcast ARP Request mà chứa địa chỉ IP của PC cần tìm địac chỉ MAC. Nếu có bất kỳ PC nàu dùng địa chỉ IP đó, nó sẽ trả lời địa chỉ MAC tương ứng. Tuy nhiên một ARP Reply có thể được tạo ra mà không cần ARP Request hay còn gọi là (gratuituos ARP), để cho những PC khác trong mạng có thể cập nhật bảng ARP khi có sự thay đổu xảy ra. Lợi dụng điều này kẻ tân cống thực hiện gởi gratuituos ARP với thông tin giả, nó sẽ thay thể địa chỉ MAC của nó với địa chỉ của IP gateway thay vì địa chỉ MAC của gateway, điều này sẽ buộc máy nạn nhân thay đổi lại bảng ARP với thông tin sai, đây là dạng tấn công “ARP spoofing” được xem như man-in-the-middle, gói dữ liệu sẽ đến gateway giả trước khi được chuyến tiếp đến đích.



Tính năng DAI ( Dynamic ARP inspection) có thể ngăn chặn loại tấn công này. DAI làm việc tương tu với DHCP Snooping, tất cà các cổng sẽ phân loại thành tin cậy và không tin cậy. Switch sẽ thực hiện phân tích hợp lệ của ARP Request và Reply trên cổng không tin cập nơi mà cở sở dữ liệu của DHCP Snooping đã xây dựng trước đó, nếu nội dung của gói ARP Re quest hay Reply bao gồm MAC và IP mà khác so với giá trị trong cơ sở dữ liệu được xây dựng trước đó gói sẽ bị loại bỏ. Cổng tin cậy sẽ không thực hiện kiểm tra gói ARP Request và Reply.
Hành động này ngăn chặn sự không hợp lệ hay gói ARP giả mạo được gởi.

1. Cấu hình

Trạng thái bảng ARP trên PC2



Thực hiện ARP spoofingvới ứng dụng Switchsnarf trên PC1
Xác định cổng mà gói ARP giả mạo sẽ được gởi


Chọn Scan Network để tìm PC trên mạng
Chọn PC mà có phần DescriptionSniffable, chọn Start Spoofing



Thực hiện Telnet từ PC2



Bảng ARP trên PC2 bị thay đổi



Dùng Wireshark để thực hiện phân tích nội dung gói



Gói Telnet gởi đến PC1 trước khi đến Router



Trong trường hợp nếu DHCP Snooping đã được cấu hình trước đó, bạn chỉ cần xác định VLAN sử dụng tính năng DAI

SW(config)#ip arp inspection vlan 1

Xác định cổng tin cậy (tất cả các cổng còn lại là không tin cậy)

SW(config)#interface fa0/24

SW(config-if)#ip arp inspection trust

2. Kiểm tra
Chạy lại ứng dụng Switchsnarf trên PC1, thông tin log cho biết gói ARP Reply không hợp lệ bị loại bỏ

00:54:51: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/1, vlan 1.([001b.fc36.ecdd/192.168.1.3/0007.0e9a.0dc0/192.168.1.1/00:54:51 UTC Mon Mar 1 1993])
00:54:51: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/1, vlan 1.([001b.fc36.ecdd/192.168.1.1/001b.fc36.ece4/192.168.1.3/00:54:51 UTC Mon Mar 1 1993])
Trong trường hợp nếu như PC2 khai báo địa chỉ tĩnh, Switch sẽ không có thông tin để kiểm tra, bạn có thể xây dựng thông tin tĩnh để kiểm tra sự giả mạo

SW(config)#arp access-list ARPINSPECT
SW(config-arp-nacl)#permit ip host 192.168.1.3 mac host 001B.FC36.ECE4

SW(config)#ip arp inspection filter ARPINSPECT vlan 1



Mặc định DAI chỉ kiểm sự vi phạm dựa vào nội dung của gói ARP, mà không kiểm tra giá trị của header của gói ARP. Thực hiện câu lệnh sau khi cần kiểm tra thêm giá trị header của gói ARP

SW(config)#ip arp inspection validate ?
dst-mac Validate destination MAC address
ip Validate IP addresses
src-mac Validate source MAC address


  • Src-mac: Kiểm tra đại chỉ MAC nguồn trong header Ethernet với địa chỉ MAC của nguời gởi trong gói ARP Reply
  • Det-mac: Kiểm tra địa chỉ MAC đích trong Ethernet header với địa chỉ MAC đích trong gói ARP Reply
  • IP: Kiểm tra địa chỉ IP của người gởi trong tất cả các gói ARP Request, kiểm tra địa chỉ IP của thiết bị gởi với địa chỉ IP đích trong tất cả gói ARP Reply