Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calculer le total de données entrantes sur un ordi

Developpement d'un outil de mesure de consummation de données

    10 août 2022 à 19:37:02

    Bonjour,

    Je suis en train de créer un logiciel qui permet de mesurer la consommation de données de l'utilisateur (sa consommation de data internet) de l'ordinateur, mais j'ai un gros doute sur la façon de mesurer ces données, je m'explique :

    Actuellement, je procède de la manière suivante : je lis la taille des entêtes IPs entrantes et ensuite j'ajoute cette taille à une variable qui stocks la consommation en octet

    J'y vois deux problèmes :

    • les valeurs semblent faibles par rapport à mes actions sur internet.
    • la tailles des données étant petite (entre 20 et 60 octets) il y a beaucoup d'entête à traiter.
    Ma question est donc quel est le meilleur moyen pour collecter la consommation internet de l'utilisateur, quel(s) protocole(s) est-il préférable de regarder pour avoir cette information.
    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2022 à 9:46:59

      Bonjour,

      L'entête d'un protocol ne contient pas les données mais des informations nécessaires à l'acheminement et au traitement des données. Les données sont contenues dans ce qui s'appelle une charge utile (payload) souvent placée après l'entête (header). Typiquement, dans un header IP, tu as la taille du header et la taille totale du paquet IP. C'est cette taille totale qui correspond à ce qui est envoyé/reçu sur/d'internet (si ce paquet va/vient bien sur/d'internet... :-°). Tu remarques qu'il faut différencier aussi trafic montant et descendant (upload et download).

      Pour essayer de répondre à ta question:

      • Premier point chaud à determiner: quelles protocoles sont liés à du trafic internet?

      IP est bien sûr le premier protocole à regarder pour déterminer du trafic internet. Dans la pile TCP/IP, il faut aussi prêter attention à d'autres procoles de la couche internet comme IPsec, ICMP et IGMP. Bien penser que ces 4 protocoles ont leur pendant en version 6.

      Ensuite, il y a aussi des procoles de la couche liaisons de données qui peuvent aussi correspondre à du trafic internet (notamment ce qui est point-à-point et ceux qui servent à créer des VPN de couche 2). Et là, c'est déjà un peu plus chaud à surveiller comme trafic.

      • Deuxième point chaud: comment déterminer si le trafic de ces protocoles est bien à destination d'internet?

      C'est très vrai pour IP qui est le protocole de base de nombreuses communications notamment sur réseaux locaux. Il te faut donc analyser l'entête et plus précisément la source ou la destination du paquet (en fonction du type de trafic). C'est à peu près la même pour d'autres protocoles.

      Un moyen d'éviter trop de complications et de cas particuliers est de déterminer la précision avec laquelle tu souhaites afficher la consommation. Et donc de parfois faire des approximations en (par exemple) déterminant que certains protocoles (comme ICMP ou IGMP sans payload) représentent une consommation très faible et insignifiante comparé au reste, et donc que tu peux les ignorer.

      Bref, pas si simple au final de calculer la consommation en trafic internet uniquement. Beaucoup plus simple de calculer la consommation en bande passante totale par contre (vu qu'il suffit de calculer ce qui sort et ce qui rentre en brut).

      EDIT: sur certains OS comme Windows, tu as peut-être déjà des outils de développement fait pour déterminer ce genre de trafic.

      -
      Edité par KoaTao 11 août 2022 à 9:50:00

      • Partager sur Facebook
      • Partager sur Twitter
        15 août 2022 à 11:37:21

        Bonjour

        KoaTao a écrit:

        Bonjour,

        L'entête d'un protocol ne contient pas les données mais des informations nécessaires à l'acheminement et au traitement des données. Les données sont contenues dans ce qui s'appelle une charge utile (payload) souvent placée après l'entête (header). Typiquement, dans un header IP, tu as la taille du header et la taille totale du paquet IP. C'est cette taille totale qui correspond à ce qui est envoyé/reçu sur/d'internet (si ce paquet va/vient bien sur/d'internet... :-°). Tu remarques qu'il faut différencier aussi trafic montant et descendant (upload et download).

        Pour essayer de répondre à ta question:

        • Premier point chaud à determiner: quelles protocoles sont liés à du trafic internet?

        IP est bien sûr le premier protocole à regarder pour déterminer du trafic internet. Dans la pile TCP/IP, il faut aussi prêter attention à d'autres procoles de la couche internet comme IPsec, ICMP et IGMP. Bien penser que ces 4 protocoles ont leur pendant en version 6.

        Ensuite, il y a aussi des procoles de la couche liaisons de données qui peuvent aussi correspondre à du trafic internet (notamment ce qui est point-à-point et ceux qui servent à créer des VPN de couche 2). Et là, c'est déjà un peu plus chaud à surveiller comme trafic.

        • Deuxième point chaud: comment déterminer si le trafic de ces protocoles est bien à destination d'internet?

        C'est très vrai pour IP qui est le protocole de base de nombreuses communications notamment sur réseaux locaux. Il te faut donc analyser l'entête et plus précisément la source ou la destination du paquet (en fonction du type de trafic). C'est à peu près la même pour d'autres protocoles.

        Un moyen d'éviter trop de complications et de cas particuliers est de déterminer la précision avec laquelle tu souhaites afficher la consommation. Et donc de parfois faire des approximations en (par exemple) déterminant que certains protocoles (comme ICMP ou IGMP sans payload) représentent une consommation très faible et insignifiante comparé au reste, et donc que tu peux les ignorer.

        Bref, pas si simple au final de calculer la consommation en trafic internet uniquement. Beaucoup plus simple de calculer la consommation en bande passante totale par contre (vu qu'il suffit de calculer ce qui sort et ce qui rentre en brut).

        EDIT: sur certains OS comme Windows, tu as peut-être déjà des outils de développement fait pour déterminer ce genre de trafic.

        -
        Edité par KoaTao 11 août 2022 à 9:50:00

        Ah, je comprends d'où vient mon erreur maintenant, la taille que je récupère dans le header est lié à lui-même pas au playload.

        Oui, j'avais en tête de déterminer le trafic montant et descendant.

        Effectivement, ça n'a pas l'air si simple que ça ^^, merci pour tes conseils, je vais faire ce que tu m'as dit. C'est vrai, je ne me suis focalisé que sur un seul protocole : IP et je comprends que ce n'est pas le seul à regarder maintenant. Effectivement, le deuxième point est encore plus chaud, mais il y a des solutions. Mais je vois que j'ai un manque de connaissances sur ce sujet, je vais aller réviser :D. Je ne peux pas calculer le total de bandes passantes parce que le but étant de catégoriser ensuite les sources de consommations de données. Dans tous les cas, ton aide est super, elle me donne la bonne direction à prendre et les indications sont claires.

        Merci :D



        • Partager sur Facebook
        • Partager sur Twitter

        Calculer le total de données entrantes sur un ordi

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown