私はパケットの特定のレイヤーから特定のフィールドを選択する必要があるpythonスクリプトを書いています。 packet.show()
は生成します。Scapyがパケットのすべてのフィールドを表示していない
###[ Padding ]###
load = '\x00\x00\x00\x00\x00\x00'
None
###[ Ethernet ]###
dst = 00:0e:8c:f5:12:af
src = 28:63:36:4b:c1:f0
type = 0x800
###[ IP ]###
version = 4L
ihl = 5L
tos = 0x0
len = 167
id = 52667
flags =
frag = 0L
ttl = 30
proto = tcp
chksum = 0x487c
src = 192.168.2.100
dst = 192.168.2.101
\options \
###[ TCP ]###
sport = 49898
dport = iso_tsap
seq = 4514968
ack = 11714804
dataofs = 5L
reserved = 0L
flags = PA
window = 8192
chksum = 0x8bdf
urgptr = 0
options = []
###[ TPKT ]###
vrsn = 3
reserved = 0
length = 127
###[ ISO8073 Data ]###
li = 2
code = 0xfL
roa = 0x0L
tpdu_no = 128
###[ S7CommPacketRequest ]###
unknown = 0x32
type = 1
reserved = 0
seq_no = 401
param_length= 110
data_length= 0
\param \
|###[ Raw ]###
| load = '\x04\t\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00\x02\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00Q\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00P\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00S\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00U\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00R\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00T\x12\n\x10\x01\x00\x01\x00\x01\x84\x00\x00\x01\x12\n\x10\x08\x00\x01\x00\x01\x84\x00\x00\x10'
事は、私がScapyによって(例えば、イーサネットレイヤでのWiresharkに示すオペコード)を把握していないイーサネットレイヤから特定のデータを必要とするということである
Wireshark capture of packet at Ethernet layer
ん誰もそのようなフィールドにアクセスする方法を知っていますか? (表示させるには)