Sto cercando di inviare pacchetti IPv6 con scapy. Non mi interessa davvero quale sia il protocollo di livello superiore, quindi invio semplicemente:
send(IPv6(dst="2001:db9:1::4"))
Ho un percorso verso quella destinazione, correndo ip -6 route show
Vedo:
2001:db9:1::4 dev vt0 metric 1024
Se invio una richiesta ping dalla riga di comando, posso vederla in tcpdump nel dispositivo di destinazione. Ma se invio il pacchetto IPv6 con scapy, ottengo questi messaggi e non vedo nulla 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.
Ma funziona se uso l'indirizzo locale di collegamento del dispositivo di destinazione. Ricevo solo un messaggio di avviso (simile alla prima riga nei messaggi sopra) e vedo il pacchetto in tcpdump.
Qualche idea sul perché questo accada, e come posso risolverlo?