2
この質問はthis other oneScapyは
私はscapyでフィールドの値をチェックしたいと関連して、フィールドの実際の値を取得:
def compute(fields):
print fields
print fields[1].name
print fields[1].size
print fields[1].default
return 23
class Foo(Packet):
array=[
BitField("foo",0x0,2),
BitField("foo1",0x0,2),
BitField("bar",0x0,2),
BitField("blub",None,2)
]
def post_build(self, p, pay):
print dir(self.array[1])
res = compute(self.array)
p = struct.pack(">b", res)
return p
if __name__ == "__main__":
interact(mydict=globals(), mybanner="")
コードがentirly動作していないが、しかし、重要な部分があります。出力は次のとおりです。
[<Field().foo>, <Field().foo1>, <Field().bar>, <Field().blub>]
foo1
2
0
さて、私はコマンドライン上の値を変更するときに問題がある:
>>> a=Foo()
>>> a.foo1=0x23
>>> a.show2()
どのように見つけることができます(私の計算方法で)どのような値foo1のが持っていますか?私は、これは本当に難しい問題ではないと思いますが、私はここに欠けているかを把握することはできません:あなたは私の手を与えることができれば/がクールになる:)
コマンドラインから、よろしく