【发布时间】:2021-10-28 19:34:32
【问题描述】:
我有一个 python 文件,它声明要通过修改有效负载并将它们发回的系统发送的数据包集。脚本从 python 文件导入数据包,发送和接收它们,并且需要能够预测修改后的数据包返回时的样子。
我的问题是,如何从从文件读取的数据包列表中生成具有修改有效负载的数据包?
输入文件定义具有可变长度标头的数据包,例如:
payload_len = 50
pkts = (Ether()/IP()/Raw(payload_len*b'\x00'), \
Ether()/IP()/TCP()/Raw(payload_len*b'\x00'), \
Ether()/IP()/UDP()/Raw(payload_len*b'\x00')
修改数据包的系统会在有效负载中放置一个四字节的已知标签(例如0xdeadbeef)。它可以将该标签放在有效负载的开头或结尾。
所以脚本需要对列表中的每个数据包执行以下操作:
from packet_list import *
predict = pkts
predict[0].payload[0] = b'\xde'
predict[0].payload[1] = b'\xad'
predict[0].payload[2] = b'\xbe'
predict[0].payload[3] = b'\xef'
或
predict[2].payload[payload_len-4] = b'\xde'
predict[2].payload[payload_len-3] = b'\xad'
predict[2].payload[payload_len-2] = b'\xbe'
predict[2].payload[payload_len-1] = b'\xef'
【问题讨论】: