Scapy不发送具有全局范围目标地址的IPv6数据包

时间:2017-06-03 17:52:21

标签: linux networking ipv6 scapy

我正在尝试使用scapy发送IPv6数据包。我真的不在乎使用什么更高级别的协议,所以我只是发送:

send(IPv6(dst="2001:db9:1::4"))

我有一条通往该目的地的路线,正在运行ip -6 route show我看到了:

2001:db9:1::4 dev vt0  metric 1024

如果我从命令行发送ping请求,我可以在目标设备的tcpdump中看到它。但是如果我发送带有scapy的IPv6数据包,我会得到这些消息,而且我在tcpdump中看不到任何内容:

WARNING: No route found for IPv6 destination 2001:db9:1::4 (no default route?)
WARNING: No route found for IPv6 destination 2001:db9:1::4 (no default route?)
WARNING: more No route found for IPv6 destination 2001:db9:1::4 (no default route?)
.
Sent 1 packets.

但是如果我使用目标设备的链接本地地址,它就可以工作。我只收到一条警告消息(类似于上面消息中的第一行),我在tcpdump中看到了数据包。

知道为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:0)

发送接口需要具有全局IPv6地址。

具有全局目标地址的数据包也必须具有全局源地址,否则将不会转发数据包。