ลูกค้าบางรายในซับเน็ตได้แคช IP ที่มีที่อยู่ MAC เก่าฉันต้องการให้พวกเขาอัปเดตค่าใหม่โดยทำการออกอากาศ ARP เป็นไปได้หรือไม่ที่ Linux
ลูกค้าบางรายในซับเน็ตได้แคช IP ที่มีที่อยู่ MAC เก่าฉันต้องการให้พวกเขาอัปเดตค่าใหม่โดยทำการออกอากาศ ARP เป็นไปได้หรือไม่ที่ Linux
คำตอบ:
ใช่มันเรียกว่า "ARP ที่ไม่พึงประสงค์" หรือ "Gratuitous ARP" ตรวจสอบmanpage เพื่อดูรายละเอียดเพิ่มเติม แต่ไวยากรณ์มีลักษณะดังนี้:
arping -U 192.168.1.101
หากคุณปลอมแปลงที่อยู่คุณอาจต้องเรียกใช้สิ่งนี้ก่อน:
echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind
ในที่สุดเนื่องจากความสามารถในการปลอมแปลงการส่งแพ็คเก็ต ARP ที่ไม่พึงประสงค์บางครั้งถือเป็นกิจกรรม "ศัตรู" และอาจถูกละเว้นหรืออาจนำไปสู่การถูกบล็อกโดยไฟร์วอลล์ของบุคคลที่สามบางราย
สิ่งที่คุณกำลังมองหาเรียกว่า " Gratuitous ARP " และสามารถทำได้โดยใช้ "arping" หากที่อยู่ IP ของคุณคือ 10.0.0.1 บน eth0 คุณจะต้องใช้คำสั่งนี้:
arping -A -I eth0 10.0.0.1
คุณสามารถตรวจสอบ ARP ที่ถูกส่งโดยใช้ "tcpdump" ในขณะที่ "arping" กำลังทำงานในกรณีนี้ฉันกำลังดู "wlan0":
laptop:~$ sudo tcpdump -lni wlan0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:14:11.219936 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:12.220119 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:13.220288 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
laptop:~$
มันไม่จำเป็น เช่นเดียวกับใน: เมื่อคุณเปลี่ยน IP คอมพิวเตอร์ควรทำโดยอัตโนมัติ หาก clietns เป็น hardcoded การออกอากาศจะไม่เปลี่ยนการแทนที่แบบแทนที่
ฉันทำมันเป็นเวลาประมาณ 20 ปีแล้วและในทุกครั้งที่ฉันไม่เคยมีสิ่งนี้เกิดขึ้นโดยไม่มีอุปกรณ์ผิดพลาด
arping -S ip.to.update -i ethX destination.host
ภายใต้เดเบียนคำสั่งสำหรับฉันคือ ตัวอย่าง:arping -S 10.0.0.2 -i eth0 10.0.0.1