Comment voulez-vous bloquer certaines applications d'accéder à internet (C++, Win32)

Je veux avoir une application ou un service qui est en cours d'exécution que, sur certains horaire, pouvez désactiver l'accès à internet pour toutes les applications, à l'exception de celles qui sont spécifiques.

Je suis en train de créer un filtre qui peut être activé ou désactivé dans le contrôle par programmation. Non seulement les adresses IP et les ports, mais je veux être en mesure de bloquer des applications, à l'instar de l'Alarme de Zone et d'autres logiciels de pare-feu permet de bloquer.

Par exemple, iexplore.exe, skype.exe, firefox.exe, aim.exe. Mais encore faut permettre à d'autres applications de se connecter en tant que de besoin.

Il a à travailler sur Vista ainsi que sur XP, mais je sorte de s'attendre à ce que la méthode sera différente sur chacune de ces plates-formes.

Fondamentalement, le filtre est à relier le réseau de communication à l'exécutable qui fait la demande et ensuite permettre ou refuser.

Mise à jour:

Sur Vista au moins, il semble que j'ai envie d'utiliser des filtres dans le ALE couches de la PAM.

Sur XP, je suis toujours à la recherche de la meilleure façon de le faire. Dois-je vraiment besoin de l'écriture de pilotes de périphériques et de traiter avec le noyau de choses? Je ne suis qu'un humble développeur de l'application. Me tuer maintenant.

Mise à jour 2:

Actuellement à la recherche à la PfCreateInterface et liées Pf* API pour les pré-Vista de systèmes.

OriginalL'auteur MarkS | 2009-01-08