Find Jobs
Hire Freelancers

C# Windows Filtering Platform Wrapper(repost)

$30-5000 USD

Cerrado
Publicado hace alrededor de 13 años

$30-5000 USD

Pagado a la entrega
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.
ID del proyecto: 3090086

Información sobre el proyecto

4 propuestas
Proyecto remoto
Activo hace 13 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
4 freelancers están ofertando un promedio de $2.996 USD por este trabajo
Avatar del usuario
See private message.
$1.062,50 USD en 14 días
5,0 (84 comentarios)
7,7
7,7
Avatar del usuario
See private message.
$10.200 USD en 14 días
4,9 (104 comentarios)
7,0
7,0
Avatar del usuario
See private message.
$425 USD en 14 días
0,0 (3 comentarios)
0,0
0,0
Avatar del usuario
See private message.
$297,50 USD en 14 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de CANADA
Canada
5,0
3
Miembro desde nov 12, 2007

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.