NetFilter SDK
It is a framework for transparent filtering the data packets transmitted
via network on Windows. This is a high performance proxy-less solution,
compatible with antiviruses/firewalls/other network filters. It perfectly
suits for developing the content filters, basic application level
firewalls, traffic analyzers/shapers, other software that requires
viewing and modifying TCP/UDP traffic on Windows.
Key features:
- The solution allows filtering incoming/outgoing TCP connections
and UDP datagrams in user mode application. It is possible to
filter the specified subset of connections/datagrams, restricted
by filtering rules. The outgoing TCP connections can be redirected
to different address.
- The filtering is fully transparent, because the driver allows
viewing and changing TCP/UDP data without redirecting the traffic
to proxy and modifying the addresses. There are no conflicts with
antiviruses, firewalls and other filters.
- The filtering driver operates on transport level, in front
of TCP/IP stack. In effect it automatically supports all kinds
of TCP/IP capable network adapters: Ethernet, Dial-up/DSL/Cable
modems, wireless adapters including Wi-Fi and Bluetooth, virtual
adapters like loopback or VPN.
- Both IPv6 and IPv4 are supported.
- The process context (as process identifier) is available for
all network activity.
- The driver user level interface (API) is easy in use, but powerful.
There is no need to deal with the packet headers (like in NDIS
level packet filters) or complicated WinSock interfaces.
- There are no problems with the high-speed connections, because
the driver operates on transport level, between the applications
and TCP/IP stack. It is possible to control the speed of data
transmission.
- The driver works similarly on all 32-bit and 64-bit Windows
operating systems starting from Windows NT. It is possible to
use 32-bit API for working with 64-bit driver.
System requirements:
Windows NT/2000/XP/2003/Vista/2008/7, x86/x64.
ProtocolFilters
ProtocolFilters is a library that classifies data packets provided
on input, detects high-level protocols and allows filtering the classified
objects. It is designed to work with NetFilter SDK API, but also can
be used for parsing and filtering the network packets obtained from
other sources. The library has a simple API, which can be used from
C/C++/.NET/Delphi code.
Key features:
- The library supports filtering outgoing HTTP, POP3, SMTP, SSL
and raw data.
- The protocol is detected automatically by analyzing the first
packets. Unsupported protocols are bypassed automatically. It
is possible to allow the library to classify all outgoing network
traffic and filter only classified protocols.
- The library detects HTTPS proxies, including chained requests.
- HTTP filter decodes the transmitted requests and responses,
and allows filtering plain de-chunked and uncompressed HTTP data.
It is possible to bypass the filtering or block some request or
response by analyzing the initial bytes of transmitted content.
- SSL filter decodes SSL v2/3 and TLS by generating a local certificate
for each domain.
- The filters for POP3 and SMTP protocols allow filtering the
incoming and outgoing mail messages.
- It is possible to filter the unclassified content as raw buffers.
- The filtering chain from protocol filters is created dynamically
for each new connection. It is possible to apply different chains
of filters with different filtering flags for the connections,
after analyzing connection properties: process identifier, name
and owner, local and remote addresses/ports.
|