Sulley Fuzzing Framework を使用して BACNet デバイスをファジングしようとしています。
フレームワークを理解するために、このかなり単純な例を書きましたが、うまくいきません。
from sulley import *
s_initialize("Test")
s_static(0x10, "Something")
s_byte(0x00, "SomeByte")
sess = sessions.session(proto="UDP")
sess.connect(sulley.s_get("Test"))
target = sessions.target("192.168.1.3", 0xBAC0)
target.netmon = None
target.procmon = None
target.vmcontrol = None
sess.add_target(target)
sess.fuzz()
しかし、それを実行すると、次の出力が得られます
pydev debugger: starting (pid: 3356)
[2015-11-09 09:40:54,351] [INFO] -> current fuzz path: -> Test
[2015-11-09 09:40:54,352] [INFO] -> fuzzed 0 of 112 total cases
[2015-11-09 09:40:54,354] [INFO] -> fuzzing 1 of 112
[2015-11-09 09:40:54,354] [INFO] -> xmitting: [1.1]
[2015-11-09 09:40:54,355] [CRITICAL] -> failed transmitting fuzz node
Exception caught: TypeError("cannot concatenate 'str' and 'int' objects",)
Restarting target and trying again
[2015-11-09 09:40:54,355] [ERROR] -> no vmcontrol or procmon channel available ... sleeping for 300 seconds
netmon, procmon, vmcontrol
に設定したことが問題かもしれないと思いますが、None
それらを省略するだけで同じ出力が得られます。とにかく後でファジングしたいデバイスにそれらを使用できないため、これらのモニターを作成していません。パケットを送信して、何が起こるかを確認したいだけです。では、これらのモニターなしで Sulley を使用することは不可能ですか、それとも私のコードに何か問題がありますか?