回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>大家好,我是新来的,所以请友好。</p>
<p>我最近一直在使用scapy向选定的支持ipv6的服务器发送和接收ipv6数据包。代码的要点如下:</p>
<pre><code>text = line[:-1]
#destination=getIPv6Addr(line[:-1])
destination="2607:f1c0:1000:60e0:7992:97f7:61b2:2814"
source="2001:630:d0:f105:5cfe:e988:421a:a7b7"
syn = IPv6(dst=destination,src=source) / TCP(sport=555,dport=80,flags="S")#flag S is syn packet
syn.show()
syn_ack = sr1(syn,timeout=11)
</code></pre>
<p>当我执行代码时,这就是我得到的:</p>
<pre><code>Begin emission:
Finished to send 1 packets.
.................WARNING: No route found for IPv6 destination :: (no default route?)
WARNING: No route found for IPv6 destination 2607:f1c0:1000:60e0:7992:97f7:61b2:2814 (no default route?)
............................................................................................................
Received 1322 packets, got 0 answers, remaining 1 packets
</code></pre>
<p>据我所知,数据包已发送,但从未得到响应(0个答案)。这让我想到用wireshark来嗅数据包。</p>
<p>与过滤器一起使用时:</p>
<pre><code>ip6 net 2607:f1c0:1000:60e0:7992:97f7:61b2:2814
</code></pre>
<p>我一开始就意识到包裹从来没有寄过!有人知道为什么会发生这样的事吗?这里有什么好消息吗?</p>
<p>问候
马提诺斯</p>
<p>编辑:</p>
<p>经过仔细查看评论,我意识到路线列表不应该是空的。没有发送数据包的路由。我不知道怎么加!请帮忙我是这么做的:</p>
<p>我试着从我的设备上获取所有的接口。这是我得到的:</p>
<pre><code>{'flags': 33, 'link_addr': b0:90:20:52:41:53, 'type': 6, 'name': 'eth0', 'mtu': 1500L}
{'flags': 33, 'link_addr': b0:90:20:52:41:53, 'type': 6, 'name': 'eth1', 'mtu': 1500L}
{'flags': 33, 'link_addr': 00:50:56:a0:1e:df, 'type': 6, 'name': 'eth2', 'mtu': 1500L}
{'flags': 33, 'link_addr': 00:50:56:a0:1e:df, 'type': 6, 'name': 'eth3', 'mtu': 1500L}
{'flags': 33, 'link_addr': b0:90:20:52:41:53, 'type': 6, 'name': 'eth4', 'mtu': 1500L}
{'flags': 33, 'link_addr': b0:90:20:52:41:53, 'type': 6, 'name': 'eth5', 'mtu': 1500L}
{'flags': 32, 'link_addr': 00:50:56:a0:00:6c, 'type': 6, 'name': 'eth6', 'mtu': 0L}
{'flags': 32, 'link_addr': 00:50:56:a0:01:0e, 'type': 6, 'name': 'eth7', 'mtu': 0L}
{'flags': 32, 'link_addr': 00:50:56:a0:6e:61, 'type': 6, 'name': 'eth8', 'mtu': 0L}
{'addr': 152.78.61.39/24, 'mtu': 1500L, 'flags': 33, 'link_addr': 00:50:56:a0:1e:df, 'type': 6, 'name': 'eth9'}
{'flags': 33, 'link_addr': b0:90:20:52:41:53, 'type': 6, 'name': 'eth10', 'mtu': 1500L}
{'flags': 33, 'link_addr': b0:90:20:52:41:53, 'type': 6, 'name': 'eth11', 'mtu': 1500L}
{'flags': 33, 'type': 23, 'name': 'ppp0', 'mtu': 1494L}
{'flags': 33, 'link_addr': 20:41:53:59:4e:ff, 'type': 23, 'name': 'ppp1', 'mtu': 3256L}
{'addr': 127.0.0.1/8, 'flags': 3, 'type': 24, 'name': 'lo0', 'mtu': 1500L}
{'flags': 33, 'type': 131, 'name': 'tun0', 'mtu': 4091L}
{'flags': 32, 'type': 131, 'name': 'tun1', 'mtu': 1480L}
{'flags': 33, 'type': 131, 'name': 'tun2', 'mtu': 1460L}
{'flags': 33, 'type': 131, 'name': 'tun3', 'mtu': 1464L}
{'flags': 32, 'type': 131, 'name': 'tun4', 'mtu': 1280L}
{'flags': 32, 'type': 131, 'name': 'tun5', 'mtu': 1280L}
{'flags': 33, 'type': 131, 'name': 'tun6', 'mtu': 1472L}
{'flags': 32, 'type': 131, 'name': 'tun7', 'mtu': 1280L}
</code></pre>
<p>如你所见,没有任何地方有ipv6地址。如果没有列出ipv6地址,我应该如何发送ipv6数据包?在extend中,这里是来自cmd的ipconfig:</p>
<pre><code> Ethernet adapter Local Area Connection 4:
Connection-specific DNS Suffix . : ecs.soton.ac.uk
IPv6 Address. . . . . . . . . . . : 2001:630:d0:f105:5cfe:e988:421a:a7b7
Temporary IPv6 Address. . . . . . : 2001:630:d0:f105:e8bc:7c26:9a40:31b8
Link-local IPv6 Address . . . . . : fe80::5cfe:e988:421a:a7b7%17
IPv4 Address. . . . . . . . . . . : 152.78.61.39
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::210:18ff:fee5:5bfa%17
152.78.61.254
Tunnel adapter 6TO4 Adapter:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2001:0:5ef5:79fd:142e:398d:67b1:c2d8
Link-local IPv6 Address . . . . . : fe80::142e:398d:67b1:c2d8%13
Default Gateway . . . . . . . . . :
Tunnel adapter isatap.ecs.soton.ac.uk:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : ecs.soton.ac.uk
</code></pre>
<p>这是在虚拟机上运行的,但我认为这不重要。</p>
<p>请有人帮我这很重要!如何配置scapy以了解如何发送ipv6数据包。为什么在上面的接口列表中看不到ipv6地址?</p>