I have been using dotnetwinpcap to use WinPcap in my VB.net program. However I find that I cannot decipher the results into something comparable to what Ethereal gives me in its "Packet Bytes" window.
I've decided to go the route of creating a wrapper DLL for my C# code so that it can access abstracted functions from within the WinPcap DLL. (As most of you know, WinPcap is what NMap for windows ...