Among filtering out packets based on their content like in the previous example, another possible usage of the filter event in SmartInspect would be to cancel packets which exceed a certain maximum packet size. This can be useful to reduce bandwidth or to keep log files small. An example implementation looks like:
using Gurock.SmartInspect; public class PacketSizeFilter { private int fMaximum; public PacketSizeFilter(int maximum) { this.fMaximum = maximum; } public void Run(object sender, FilterEventArgs args) { if (args.Packet.Size > this.fMaximum) { args.Cancel = true; } } } public class Program { static void Main(string[] args) { // … // Only allow packets with a maximum size of 1KB PacketSizeFilter filter = new PacketSizeFilter(1024); SiAuto.Si.Filter += new FilterEventHandler(filter.Run); // … } }
The Run method of the PacketSizeFilter class is the actual event handler for the Filter event and filters out every packet which exceeds a certain, user-defined packet size limit. In this case, every packet which is bigger than 1024 bytes will be canceled.

Recent Comments