I'm going to implement a sniffer in C# and got some questions:

- as far as i know the .net library classes only support packets until the network layer (raw sockets). I need to dig down to the link layer. Does the .net library support this or do i need to find a thirdparty component ?

- I need to make it possible for others to write plugins e.g support for the icmp protocol. I've never tried this before and would like some info/guidelines on this.

Thanks.