1

I'm trying to send IPv6 packets with scapy. I don't really care what higher-level protocol is used, so I simply send:

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

I have a route toward that destination, running ip -6 route show I see:

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

If I send a ping request from the command line, I can see it in tcpdump in the destination device. But if I send the IPv6 packet with scapy, I get these messages, and I don't see anything in 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.

But it works if I use the link-local address of the destination device. I only get one warning message (similar to the first line in the messages above), and I see the packet in tcpdump.

Any idea why this happens, and how can I fix it?

1 Answer 1

0

The sending interface needs to have a global IPv6 address.

Packets with a global destination address must have a global source address as well, otherwise the packet won't be forwarded.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .