scapy ipv6扩展头包被丢弃

时间:2013-08-24 10:53:16

标签: python ipv6 scapy

所以我使用scapy与linux,以便在我成功开始3路TCP握手后向服务器发送IPv6 HTTP请求。

如果没有扩展标头(我正在使用ipv6),http请求会成功返回,但是如果有,那么我没有得到任何响应。我怀疑服务器丢弃数据包,因为我将它发送到世界顶级服务器(前1000个支持ipv6的服务器)作为我的论文的一部分,以便看到它们的兼容性。这可能是一个配置错误。

格式为atm:

我创建了一个IPv6数据包/ IPv6ExtHdrRouting()。

长话短说我使用了所有4个可用的扩展标题,我得不到回复,如果我使用没有我得到完整的回复。为什么我的数据包丢失了?

发送的所有数据包都没有任何参数。如果这是问题,您可以向我展示每个扩展标头的示例初始化,以便获得响应吗?

修改

我的代码非常复杂,在运行所有程序之后,我做了类似的事情:

网站[: - 1]是一个网站,即www.google.com

ip是带有扩展头的ipv6地址。

如你所见,3路握手没有扩展头,当我做HTTP请求时,我使用带扩展头的IP。

带有扩展头的ip看起来像这样(没有诸如TCP之类的低级细节):

IPv6(dst=...)/IPv6ExtHdrHopByHop()

or 
IPv6(dst=...)/IPv6ExtHdrHopByHop()/IPv6ExtHdrFragment()


                    destination=getIPv6Addr(site[:-1])
                    ip.dst=destination
                    syn = IPv6(dst=getIPv6Addr(site[:-1]))/TCP(sport=12345,dport=80, flags='S', seq=1000)#flag S is syn packet
                    syn_ack_rcv = sr1(syn,timeout=1)


                    my_ack = syn_ack_rcv.seq + 1
                    ack=IPv6(dst=getIPv6Addr(site[:-1]))/TCP(sport=12345,dport=80, flags='A', seq=1001, ack=my_ack)#flag S is syn packet
                    send(ack)    

                    httpRequest = 'GET / HTTP/1.1\r\nHost:' +site[:-1] +"\r\n\r\n"
                    http=ip/TCP(sport=11235,dport=80,seq=1002, ack=my_ack)/httpRequest
                    answers = sr1(http,timeout=1)

0 个答案:

没有答案