使用python scapy模块为ip报文插入mpls头部

本文介绍如何利用Python的scapy库处理带有MPLS头部的攻击包,通过修改pcap文件内容,将IP类型转换为MPLS/IP,以满足项目需求,避免使用不支持MPLS的仪表和搭建复杂环境。
摘要由CSDN通过智能技术生成

        因项目需要需要回访带mpls头部的攻击包,使用仪表不支持mpls+strike,搭环境又太麻烦,直接使用scapy模块来修改

from scapy.all import *
import re
class MPLS(Packet):
    name = "MPLS"
    fields_desc = [
        BitField("label", 100, 20),
        BitField("experimental", 0, 3),
        BitField("stack", 1, 1),
        BitField("ttl", 255, 8)
    ]
filename="50537.pcap"
pkts=rdpcap(filename)
pktsmpls=[]
for pkt in pkts:
    pktstr = pkt.command()
    pktstr = re.sub('type=2048\)/IP', 'type=34887)/IP', pktstr)
    pktstr = re.sub("/IP","/MPLS()/IP",pktstr)
    pktstr = re.sub('chksum=\d+,', '', pktstr)
    pktmpls = eval(pktstr)
    pktsmpls.append(pktmpls)
wrpcap(f"mpls-{filename}",pktsmpls)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值