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
Vous devez vous connecter pour publier un commentaire.
Vous pouvez changer à la fois Vista et XP stratégies de pare-feu de façon dynamique à l'aide de la INetFwAuthorizedApplications interface du Pare-feu Windows API.
Aussi voir ce question.
OriginalL'auteur Max Caceres
Vous aurez à écrire un pilote de périphérique qui filtre le trafic basé sur le fichier exécutable demandant le trafic.
OriginalL'auteur Paul Whitehurst
en limitant son accès à internet à l'aide de pare-feu. aller de réglage du pare-feu avancé de l'onglet (win 7)
et faire
OriginalL'auteur 2001
Je ne suis pas sûr, mais je pense que vous auriez besoin de le faire en obtenant le programme à exécuter en tant qu'utilisateur disposant des autorisations limitées, la question est, pouvez-vous faire un compte d'utilisateur qui s'arrête de telles choses?
Une seule application peut être exécutée en tant qu'un autre utilisateur de l'utilisateur actuellement connecté.
... qui est, si vous savez les programmes que vous parlez, vous pouvez mettre les fichiers exécutables quelque part où l'utilisateur normal n'a pas accès à eux, et ensuite fournir l'accès à chaque verrouillé application uniquement via un raccourci qui fonctionne comme l'utilisateur verrouillé.
J'apprécie les suggestions. Mais je ne peux pas déplacer les applications autour de la création de raccourcis, etc.... "mon application" sera installé sur les machines où il ne sait même pas quelles applications seront tente d'accéder à internet. Firefox pourrait être en place, avec l'accès à maintenant, mais à 8 heures du soir, il n'y a plus accès. Prochaine requête http bloqué.
OriginalL'auteur Jesse Pepper
Vous aurez besoin de rediriger tous (ou du moins beaucoup) les appels à l'API WinSock fonctions de l'exécution d'un programme à vos propres fonctions de remplacement. Que signifie entrer dans la mémoire de chaque programme en cours d'exécution et le détournement de ces fonctions, qui est un... intéressant... exercice. 🙂
Qui pourrait être assez d'un pointeur pour vous aider, ou au moins de suggérer quelques questions plus précises à poser.
OriginalL'auteur Head Geek
Pourriez-vous déplacer de côté (c'est à dire renommer) le système DLL winsock et le remplacer par votre propre ?
La vôtre doit fournir la même API, mais vérifier que le nom de processus de demandes entrantes... retourner un code d'erreur pour les applications bloquées et transférer les appels de permis apps sur le réel DLL.
Pour ne pas mentionner, si c'était une bonne façon de le faire, alors comment empêcher une autre application à partir de l'installation de leur version de winsock et essentiellement la désactivation de la mine.
OriginalL'auteur timday