I am looking for a component usable with Delphi 7 (VCL/.dll/ActiveX etc.) which will provide me with the ability to get process-information (i.e. a process ID) from packets passing in and out of a Windows system, as well as trap and queue both incoming and outgoing traffic. It must be working at Layer 3, since process-specific information is not available at Layer 2.
While it does not need to be open-source (although that's preferable), it would need to have a free license (in that I don't have to pay to use it) or nearly free (as in trivial registration fee), because this is an academic project and I am a student working nights to support myself :)
I have Googled extensively on the subject and found nothing which meets the above criteria, but I'm hoping someone out there knows more than I do.