Comment créer un simple c# http moniteur/bloqueur?
Je lisais à cette question (Comment créer un simple proxy en C#?) qui est près de mes souhaits.
Simplement je veux développer une application en c# qui, par exemple, les moniteurs de Firefox, IE, etc et les journaux tous les navigué pages. En fonction de la page visitée, je veux bloquer le site (comme un filtre parental).
Des extraits de Code/échantillons sont bonnes, mais si vous pouvez juste me dire quelque direction que les classes à utiliser, je vous en seront reconnaissants. 🙂
OriginalL'auteur Click Ok | 2009-05-29
Vous devez vous connecter pour publier un commentaire.
Je vais répondre approprié pour un parent: ala "Contrôle Parental"
Vous pouvez commencer avec un serveur proxy lorsque les enfants sont à moins de 10 ans. Après cela, ils vont trouver comment contourner le proxy (ou à l'exécution de leurs propres clients des applications qui permettent de contourner le proxy). Dans les premières années de l'adolescence, vous pouvez utiliser les sockets raw.
Ce Type de programme dans Visual Studio (C#).
Remarque que c'est juste un extrait de“”, manque d'adéquation de la conception et de la vérification d'erreur. [Merci de ne pas utiliser "tel quel" - vous n'avez demande juste de démarrer] Changement de l'adresse IP de votre machine. Exécutez le programme en tant QU'Administrateur (utilisez “runas” sur la ligne de commande, ou cliquez-droit “Exécuter en tant qu'Administrateur”). Seuls les administrateurs peuvent créer et utiliser des sockets bruts sur les versions modernes de windows. Asseyez-vous et regarder le spectacle.
Tout le trafic réseau est livré à votre code (qui s'affiche sur l'écran, ce qui ne sera pas agréable à regarder, avec ce programme).
Votre prochaine étape est de créer des filtres de protocole. Se renseigner sur les divers internet protocoles d'application (en supposant que vous ne connaissez pas déjà), de modifier le programme pour examiner les paquets. Regardez pour le protocole HTTP, et d'enregistrer les données appropriées (comme les requêtes GET).
Personnellement, j'ai configurer des filtres pour l'AIM (AOL Instant Messenger), HTTP, MSN messenger (Windows Live Messenger), de la POP et SMTP. Aujourd'hui, HTTP obtient à peu près tout depuis que les enfants préfèrent le facebook mur pour BUT de nos jours.
Que les enfants atteignent leur début au milieu des années d'adolescence, vous aurez envie de revenir sur la surveillance. Certains disent que c'est de permettre aux enfants de grandir, mais la vraie raison est que “vous ne voulez pas le savoir”. J'ai reculé à recueillir les Url des requêtes get, et le nom d'utilisateur/mots de passe (pour les situations d'urgence) qui sont en texte clair (de la pop, de l'authentification basique, etc.).
Je ne sais pas ce qui se passe à la fin de l'adolescence; je ne peux pas l'image que les choses sont bien pire, mais je me suis dit que "je n'ai rien vu encore".
Comme quelqu'un l'a dit précédemment, cela ne fonctionne que lorsqu'il est exécuté sur la machine cible (j'ai d'exécuter une copie sur toutes les machines de la maison). Sinon, pour la simple surveillance vérifier votre routeur - mine a quelques belles fonctionnalités de journalisation.
Mon dernier commentaire, c'est que cette application devrait être écrit en C/C++ à l'encontre de l'API Win32 directement, et installé comme un service qui s'exécute avec les droits d'administration sur la machine. Je ne pense pas que ce type de code est approprié pour le c#. Vous pouvez joindre une INTERFACE en C# pour la surveillance et le contrôle. Vous devez concevoir le code de manière à avoir zéro, un effet notable sur le système.
Console.WriteLine(ex);
- il ha a pas de sens. Soitex.Message
(ou quelque chose comme ça) ou n'utilisez pas de bloc try-catch. Exception du message est écrit à la sortie automatiquement.Créer un ssh sécurisé-tunnel avec Proxifier Portable et Mastic pour un proxy externe et tout ce travail a été en vain 😛 Néanmoins, +1 que j'ai trouvé cette réponse très intéressante et cela fera un bon début pour un nouveau projet de la mine.
Merci beaucoup pour ce post. Veuillez pourrions-nous obtenir plus de renseignements sur la création de certains filtres de protocole. Que dois-je rechercher? Je suis en train de google "http filtre de protocole c#", mais je ne suis pas tout à fait sûr de quoi faire sur l'ensemble des caractères aléatoires que ce code est écrit à la console.
Comment puis-je faire une application telle que l'utilisation de c++ ? Je ne pouvais rien trouvé
OriginalL'auteur Bill
Votre approche dépendra de si oui ou non vous êtes à l'installation de cette application sur la même case que vous utilisez pour naviguer ou sur un autre serveur proxy.
Si vous faites cela sur un serveur distinct, il sera plus facile de l'accomplir en C# /code managé, vous serez tout simplement écrit en C# serveur proxy pc client aura point. Système.Net.Sockets de l'espace de noms TcpListener et TcpClient sera votre ami.
Si, toutefois, vous êtes l'installation de ce sur la même machine, puis jetez un oeil WinPcap et et SharpPCap et peut-être Fiddler pour quelques idées.
Espère que ça aide.
OriginalL'auteur sbeskur