1
python(v2.7)でscapy(v2.3.3)にPTPv2レイヤーを追加したいと思います。私はファイル/scapy/layers/inet.pyにPTPエントリを持つptpv2クラスを追加しました(PTPはレイヤ4にあるため)。私はまた、ptpv2層を上層にバインドしました。私のケースではイーサネットです。 scapyコマンド "LS()" を作成しptpv2層が一覧表示され、[OK]を、成功を入力してscapyにPTPv2レイヤーを追加する
bind_layers(Ethernet,ptpv2)
。しかし、Pythonコマンドを通じて層にアクセスすることにより、
はfor packet in PcapReader('/media/sf_SharedFolder/test.pcap'):
if packet[ptpv2].sequenceId == anything:
# do sth
次のエラーが発生します。
File "/usr/lib/python2.7/dist-packages/scapy/packet.py", line 817, in __getitem__
raise IndexError("Layer [%s] not found" % lname)
IndexError: Layer [ptpv2] not found
Wiresharkのファイルは、レイヤーのフレームを持っている - >イーサネット - > PTP、ので、私の結合コマンドは右である必要があります。
エラーの原因を特定できません。
Pls、help me!
Thxを
クリス
"conf.debug_dissector = True"を追加しました。次のエラーが発生します。getfieldのファイル "/usr/lib/python2.7/dist-packages/scapy/fields.py" 75行目、 return s [self.sz:]、self.m2i(pkt、struct。 struct.error:unpackには、長さ2の文字列引数が必要です。 – crappidy
"conf.debug_dissector = True"によって、より多くのエラー情報しか表示されません。まだエラーがあります。私は別のトピックに私の質問を編集しなかった、私は詳細について私の質問を編集しました。 – crappidy
さて、私は新しい質問をします。 – crappidy