-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Description
Brief description
Cannot send an IPv6 packet on a specific interface using iface
argument of send
Environment
- Scapy version: 2.4.4
- Python version: 3.8.5
- Operating System: Manjaro (up-to-date)
How to reproduce
Install vmware, vmnet1
should be up. enp42s0
is the default interface. Fire up wireshark and sniff on enp42s0
.
Actual result
>>> send(IPv6(dst="fe80::2d85:c733:b1:eaf9"), iface="enp42s0")
WARNING: Mac address to reach destination not found. Using broadcast.
.
Sent 1 packets.
Works, wireshark reports an IPv6 packet.
>>> send(IPv6(dst="fe80::2d85:c733:b1:eaf9"), iface="vmnet1")
WARNING: Mac address to reach destination not found. Using broadcast.
.
Sent 1 packets.
Doesn't work, the packet is actually sent to enp42s0
, we can see it in wireshark.
Expected result
The packet should be sent to vmnet1
.
Related resources
If you remove enp42s0
and try again, it works, and the packet is sent to vmnet1
correctly and appears in wireshark.
>>> conf.route6.remove_ipv6_iface("enp42s0")
>>> send(IPv6(dst="fe80::2d85:c733:b1:eaf9"), iface="vmnet1")
WARNING: The conf.iface interface (enp42s0) does not support IPv6! Using vmnet1 instead for routing!
WARNING: The conf.iface interface (enp42s0) does not support IPv6! Using vmnet1 instead for routing!
WARNING: more The conf.iface interface (enp42s0) does not support IPv6! Using vmnet1 instead for routing!
WARNING: Mac address to reach destination not found. Using broadcast.
.
Sent 1 packets.
It seems that the packet is always sent to the default route6, even when iface
is specified. Is it a bug or am I doing something wrong 🤔 ?
I can't find a way to create a default scapy internal route6...
Thanks 👍