猿问

scapy “TypeError: 'IP' 对象不可调用”

在我的 Scapy 脚本中出现错误,我找不到原因。


#!/usr/bin/python

from scapy.all import *

from settings import *


#Create  Layer-2 Frame. 

l2 = Ether( dst=dst, src=src, type=2048) #dst and src from settings

pkt = IP(dst=dst)/ICMP(type=8)/Raw(load=("X"*10000))

#Create some big pings:

for i in range(10000,10020):

    frags = fragment(pkt) #create Fragments    

    for fragment in frags:

        sendp(l2/fragment, iface=iface)

    print("i: " + str(i))

Scapy 发送一个完整的数据包,之后,我变成了错误消息:


类型错误:“IP”对象不可调用


有人可以告诉我如何解决这个问题吗?


不负相思意
浏览 201回答 2
2回答

忽然笑

您正在fragment使用for循环变量覆盖该函数,因此fragment在外循环的下一次迭代中成为不可调用的对象。您应该将fragment变量重命名为其他名称:for frag in frags:     sendp(l2/frag, iface=iface)
随时随地看视频慕课网APP

相关分类

Python
我要回答