Dans le filtrage par adresses, le firewall ne vérifie que les adresses IP des requêtes extérieures en les comparant avec une base de données de permission. Ce filtrage à l'avantage d'être très rapide mais il reste vulnérable à certaines attaques comme le snoofing. Il suffit ainsi qu'un pirate fasse passer l'adresse IP de sa machine pour une reconnue par le firewall pour qu'il puisse accéder à votre ordinateur.
Par un filtrage par applications, le firewall vérifie que la présence de chaque paquet est légitime en surveillant l'activité de toutes les applications. Les attaques extérieures ne peuvent alors plus accéder à l'architecture du réseau local. L'inconvénient de cette méthode est qu'elle nécessite beaucoup de ressources systèmes.
Dans le filtrage par paquets, le firewall soumet chaque paquet de données reçu a des critères bien précis. En fonction du paquet et des critères, le firewall peut jeter le paquet, le faire suivre ou le renvoyer à son expéditeur avec un message. Les critères peuvent inclure l'adresse IP source et de destination, le numéro de port source et de destination et le protocole utilisé. L'avantage de ce filtrage par paquet est qu'il n'a pratiquement aucun impact sur les performances du réseau.
C'est ce filtrage que l'on retrouve dans la majorité des firewalls commerciaux.
En plus de sa fonction de protection, le firewall trace les différentes attaques subies et les enregistre dans des journaux. Cela permet ainsi de retrouver facilement les auteurs de l'agression.