Alberto,
This is something I dealt with in the past :-).
NDIS is a wrapper library. The personal firewalls could be developed by
using NDIS and Tdi/AFD combinations. There are actually two parts, one
being bad things try to pump out stuff from your PC, and the other being
bad things trying to sneak in to your PC.
If you really want to do for yourself, it is really a long project.
Note that, using a router ( 192.168.x.x ) addressing, and the machines are
usually logged in as non-admin takes away attacks. First how would we know
that being the case ?. Ethreal with winpcap ( open src ) will let you
figure that out. It is a traffic sniffer, and firewall is traffic sniffer
As for the architectural side, best thing to do is use an NDIS
intermediate driver model, because ndis 6.0 plus is, IMHO, much better
architecture (chimney and tcp offload with other things ) and some new
firewalling api might be there ( I’m not sure ).
TDI side is used for stopping bad program to access internet and do things
( you know it 
At a minimum, a TDI filter and an NDIS intermediate driver combination
could be of some help.
There are plenty of liturature about firewalls, and also some on intrusion
detection and antivirus, that could help to solidify your architectural
steps.
In case you need more information(s), I would be able to provide some
insight, but why would you try to do this ?
-pro
Hi, guys,
Ever since I configured my router to do effective reporting (like sending
me automatic emails with a list of web accesses) I’ve been amazed at the
amount of stuff that goes on behind my back. That made me tune up my
ZoneAlarm, and wow, it’s mind boggling how much Internet access goes on
behind my back, even from programs I should supposedly trust and which at
least in principle have no business going on-line.
And the Sony CD episode gives me the jitters.
Well, I want to stop that, and being the kernel dev I am, I want to write
myself a filter driver, to capture information in the terms I want it to
be captured. I know enough about writing communications software, but I
don’t have much experience with NDIS itself. Does any of you have any
words of wisdom, or some starting point source code I should look at ?
Thanks for any information!
Alberto.