Scapy - 在另外两个层之间插入数据包层

时间:2015-04-23 08:11:42

标签: python sockets networking packet scapy

我正在使用scapy库进行python的一个小型网络项目。我的项目涉及嗅探数据包,并在第3层和第4层之间填充新层。

使用本指南http://www.secdev.org/projects/scapy/doc/build_dissect.html

我能够创建一个新的数据包层。我可以通过做类似的事情轻松地在现有数据包的顶部添加图层,

packet = newlayer()/packet

newlayer()层将放在IP层下面。 但是,我希望将这个新层夹在第3层和第4层之间(而不是在IP之下)。但我似乎无法找到一种简单的方法来实现这一目标。

我知道我可以创建一个新数据包并执行类似的操作,

packet = Ether()/IP()/newlayer()/TCP()

然而,因为,我想将这个图层插入到我已经嗅过的数据包中,我想简单地修改原始数据包,而不是从头开始创建一个新的数据包。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

这是一个示例,说明如何在第1层和第2层之间注入另一个def destroy @link = Links.find(params[:id]) @link.destroy respond_to do |format| format.json { head :no_content } //correct end 标头(将Dot1Q()计为第0层):

Ether()

可能是一种更简单的方法,但我认为上述内容很容易。