Raj Kumar
Raj Kumar

Reputation: 7106

Filter TCP Packets in C#

I am writing an application where all the request to the internet should go from it like in firewall. so that i can block the request for a particular website. In my case the program will be running on the same machine. I have tried the promiscous method but using that we can only capture all the packets comming and going from the machine,

Upvotes: 1

Views: 2097

Answers (2)

Gerald
Gerald

Reputation: 23479

The easiest way to do it is probably to write a Layered Service Provider (LSP). There is an example in the Microsoft SDK on developing LSPs as well. Not as secure as a driver type firewall setup, but a lot easier to implement.

There's "probably" a way to do it with C#, but I have never tried it. Something to look into. If not then just create a native DLL with C/C++ that implements the LSP then have it communicate with your app.

Upvotes: 3

Adam Davis
Adam Davis

Reputation: 93555

You have to insert your code in the TCP/IP stack, which, if I understand correctly, requires a windows driver.

C# cannot compile native windows drivers, so you'll need to use a library or DLL to implement at least part of your functionality. Look for solutions using C++.

-Adam

Upvotes: 1

Related Questions