Find Jobs
Hire Freelancers

C# Windows Filtering Platform Wrapper

$30-5000 USD

Closed
Posted over 13 years ago

$30-5000 USD

Paid on delivery
I am looking for someone who has in depth knowledge of both C++ and C# to write a C# library around the Windows Filtering Platform APIs. I currently have a C# library to access the RRAS Packet Filtering APIs which needs to be verified for any potential memory leaks or marshalling errors. This new library must be able to detect which operating system is currently running and call the appropriate Windows APIs (RRAS or WFP) as necessary. ## Deliverables The RRAS Packet Filtering APIs which are used by Windows Server 2003, Windows XP and prior can be found here: <[login to view URL](v=VS.85).aspx>. The Windows Filtering Platform APIs which are used by Windows Server 2008, Windows Vista and later can be found here: <[login to view URL](v=VS.85).aspx>. The class must be named as follows: FilteringController The required functions of the library are as follows: AddFilter(IPAddress ip, Filter filter) RemoveFilter(IPAddress ip, Filter filter) Reset() The AddFilter function must create the appropriate interfaces and/or layers and/or filters as required per the APIs that match the filtering criteria. The RemoveFilter function must delete all appropriate interfaces and/or layers and/or filters as required per the APIs that match the filtering criteria. The Reset function must remove all filters and/or layers and/or interfaces and return the system to a non-filtered state. The class must be disposable. Once the class is disposed, all managed or unmanaged resources must be released and all previously defined filters and/or layers and/or interfaces must be released, returning the system to a non-filtered state. The Filter class must contain the following information: TrafficDirection (enum, In or Out) TrafficProtocol (enum, TCP, UDP or ICMP) SourceIP (IPAddress) SoucePort (UInt16) DestinationIP (IPAddress) DestinationPort (UInt16) Other portions of the RRAS or WFP APIs do not need to be implemented. Only what is required to provide the needed packet filtering functionality. The developper will be required to make changes and adapt as the code is developped and reviewed, although changes will be minor and mostly semantic. The goal of this class is to provide a standardized, managed, interface to be able to drop packets in a specified direction with the specified protocol, source and destination information. This interface will also serve to hide the underlying operating system specific APIs and allow this class to be used within an application in the context of, for example, a firewall and maintain operating system independance and run on any platform which supports running a .NET application.
Project ID: 2973916

About the project

2 proposals
Remote project
Active 13 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
2 freelancers are bidding on average $182 USD for this job
User Avatar
See private message.
$237.15 USD in 14 days
4.8 (107 reviews)
5.5
5.5
User Avatar
See private message.
$127.50 USD in 14 days
5.0 (23 reviews)
4.7
4.7

About the client

Flag of CANADA
Canada
5.0
3
Member since Nov 12, 2007

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.