Protowalls
Protowalls sole purpose is to run as a system friendly background task (aka using little ressources) that blocks IP addresses. You might be saying that a firewall could do this as well and you are right, of course. But, many firewalls tend to have problems and use lots of system ressources if you add many IP addresses to them.
In Protowall, all the work is done by the driver that filters each packet, extracts the IP header and then compares the address with the ones in the table, then either discards or permits the packet to pass.

