为什么绑定pdst和目标ip地址绑定一个广播mac地址而不是目标mac地址
Why binding pdst with the target ip address and binding a broadcast mac address instead of the target mac address
在'The Black Hat Python'本书第53页restore_target。
为什么我们指定网关的 ip 地址而不指定其 mac 地址?我的意思是,如果我们要广播我们的 ARP 数据包,那么为什么要给出特定 IP 地址的 pdst 值而不是像 hwdst 这样的广播 IP 地址? ?
send(ARP(op=2, psrc=gateway_ip, pdst=target_ip, hwdst="ff:ff:ff:ff:ff:ff",hwsrc=gateway_mac),count=5)
您在此处发送的内容称为 免费 ARP。
这是一种特殊的数据包,由目的地 Mac 是 ff:ff:ff:ff:ff:ff
.
的事实定义
看看:https://www.practicalnetworking.net/series/arp/gratuitous-arp/
不同的是它是一个应答包,即使没有请求包。是 "gratuitous"。在你的例子中,你正在发送一个数据包映射 psrc
到 hwsrc
,发送给所有人:路由器正在向所有人通告他的 MAC。
在这种情况下,pdst
没有什么意义,但按照惯例应该设置为与psrc
相同的地址。我不知道为什么你的例子不一样。
在'The Black Hat Python'本书第53页restore_target。 为什么我们指定网关的 ip 地址而不指定其 mac 地址?我的意思是,如果我们要广播我们的 ARP 数据包,那么为什么要给出特定 IP 地址的 pdst 值而不是像 hwdst 这样的广播 IP 地址? ?
send(ARP(op=2, psrc=gateway_ip, pdst=target_ip, hwdst="ff:ff:ff:ff:ff:ff",hwsrc=gateway_mac),count=5)
您在此处发送的内容称为 免费 ARP。
这是一种特殊的数据包,由目的地 Mac 是 ff:ff:ff:ff:ff:ff
.
看看:https://www.practicalnetworking.net/series/arp/gratuitous-arp/
不同的是它是一个应答包,即使没有请求包。是 "gratuitous"。在你的例子中,你正在发送一个数据包映射 psrc
到 hwsrc
,发送给所有人:路由器正在向所有人通告他的 MAC。
在这种情况下,pdst
没有什么意义,但按照惯例应该设置为与psrc
相同的地址。我不知道为什么你的例子不一样。