rtbrick / bngblaster

The BNG Blaster is an open-source network tester for access and routing protocols.
https://rtbrick.github.io/bngblaster/
BSD 3-Clause "New" or "Revised" License
202 stars 32 forks source link

Support for packet-crafting #248

Open SoerenBusse opened 5 months ago

SoerenBusse commented 5 months ago

Is your feature request related to a problem? Please describe. You may use different filters on your BNG to prioritize packets like PPP LCP by looking at the protocol type. Or there might be some rate limiters active to prevent sending a lot of high priority PPP LCP packets. Another scenario could be to verify that your policers even works correctly with some strange ethertype not expected in access networks (like AppleTalk, MPLS, ...), which could be used to do network congestion if the policer only reacts on IPv4/IPv6 family. This feature could also used the other way around to verify that specific/strange packets are forwarded correctly.

We'd like to use the BNGBlaster to simulate this kind of network attack scenarios like sending 1G LCP/IPCP or any other control packets to see if all filters and policies are working correctly.

Describe the solution you'd like

I'd like to be able to do packet-crafting to simulate different network attack scenarios. BNGBlaster should be able to verify whether the crafted packet is received on the other side or is lost.

One solution could be to craft the packet inside of the BNGBlaster config file (like trafgen). Another solution could be to use some external tool like scapy to craft and save the packet as pcap, which can be loaded, sent and verified by BNGBlaster in a flow (like PPP/IPoE ...).