Bon, je suis en train de créer un utilitaire pour surveiller l'activité du système de fichiers, du registre et du réseau (pour ce qui est du processus, seule l'activité des processus sélectionnés). J'ai accompli la partie d'activité de système de fichiers et de registre en développant un conducteur de minifilter. Cependant, je suis incertain quant à la façon dont je devrais le faire pour le réseau. Ce que je veux faire ressemble beaucoup à ce que fait TCPView de sysinternal, cependant je veux seulement surveiller les connexions ESTABLISHED par les processus sélectionnés. Voici ce que je veux obtenir en temps réel pour chaque connexion:Quelle technologie/API/technique utiliser pour la surveillance du réseau?
-protocol (TCP ou UDP)
Port -source
IP et le port -remote
- montant [en option] des octets transférés sur une connexion particulière à partir du moment où la surveillance a commencé
Que dois-je utiliser? J'ai entendu parler des LSP, mais en lisant un peu plus loin, je me suis rendu compte qu'il est TRÈS difficile d'écrire des LSP fonctionnant correctement, sans parler du fait qu'il n'y a pratiquement pas de matériel disponible pour apprendre à partir de zéro. Aussi qu'ils deviennent obsolètes. Le problème est que je n'ai que 2 à 3 semaines de temps pour apprendre + écrire ce module. En raison de la limite de temps, je ne veux certainement pas opter pour quelque chose comme le PAM, à moins qu'il y ait un très bon tutoriel à ce sujet, et je ne parle pas de la documentation MSDN. Je ne sais pas si cela pourrait être "facilement" fait en utilisant NDIS
De toute façon, alors que dois-je faire, où devrais-je concentrer mes efforts. Devrais-je prendre le risque d'en apprendre davantage sur les fournisseurs de services linguistiques ou NDIS accomplirait-il la tâche ou quelque chose d'autre? Je suis un peu désemparé en ce moment. Aidez-moi ici!
Je veux aussi processID/processus pour chaque connexion. Aussi, je ne veux pas surveiller le «trafic réseau», je veux juste obtenir les points de terminaison TCP et UDP en temps réel, tout comme TCPView, sauf pour les connexions ESTABLISHED. – user1831704