Je développe un programme statistique réseau en C ++ pour Linux. p>
Je voudrais accéder à des informations statistiques sur la connexion réseau actuelle. P>
E.g.: P>
Donc, j'ai essayé d'accomplir mon objectif en utilisant DE / PROC, nous pouvons trouver beaucoup d'informations, mais il y a des informations manquantes dont j'ai besoin. Je pense à développer une application de promiscuité simple C ++, utilisant LibPCap, qui capture le trafic réseau dont j'ai besoin et commence à prendre les mesures que je veux. p>
Le con est que je pense que cela va être intensif de la CPU, au moins plus encore nécessaire ...
Des pensées à ce sujet? p>
4 Réponses :
Beaucoup d'informations sont disponibles dans les "fichiers" dans / proc / net code>. p>
/ proc / net / netstat code> serait un bon endroit pour commencer. p>
Toutes ces informations sont diffusées dans les fichiers / PROC / NET CODE> (mis à jour par noyau). Le fichier le plus important est
/ proc / net / netstat code>. Dans
/ PROC / NET / DEV CODE> Il existe des statistiques de périphérique. Vous pouvez ouvrir et analyser. P>
AFAIK, il est possible de récupérer des informations de statistiques par programme via le Interface RTnetLink . Voir par exemple Ce courrier pour des exemples P>
Vous pouvez accéder aux statistiques de réseau / sys / classe / net / nom_of_device / statistiques code>. p>
Gardez à l'esprit que les systèmes n'ont généralement pas une seule connexion réseau «actuelle». Vous devrez également proposer une définition de la "connexion réseau actuelle" afin que vous sachiez quelle interface vous voulez réellement regarder