IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Extraction d'en-tête HTTP


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut Extraction d'en-tête HTTP
    Bonjour,

    je souhaites ecrire un programme qui me permette de récupérer les en-têtes HTTP d'un paquet IP.

    J'hésites entre réaliser le programme à l'aide de libpcap ou des libraires netinet et linux/tcp.

    Le but étant de récupérer la taille des documents téléchargés et leurs noms. Le programme devra fonctionner sur Linux prioritairement.

    C'est le premier programme réseau que je vais faire en C donc je ne sais pas tellement comment m'y prendre pour le réaliser c'est pourquoi j'aimerais votre avis sur les bonnes pratiques.

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Tu dois espionner le réseau en temps réel, ou simplement le trafic entrant sur la machine faisant tourner le programme ?

    Sinon, libpcap est le plus portable, mais il te faudra faire des filtres BPF hyper nickels si tu veux pouvoir gérer les connexions faites en dehors du port 80 par défaut.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Je dois l'analyser en temps réel.

    Concernant les filtres BPF, dans mon cas ils ont pour tâche de filtrer chaque couche jusqu'à la couche application ? Est ce dure à mettre en place ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par sebbb59 Voir le message
    Je dois l'analyser en temps réel.
    Analyser quoi ? Le réseau, ou le trafic entrant de ta machine ?

    Citation Envoyé par sebbb59 Voir le message
    Concernant les filtres BPF, dans mon cas ils ont pour tâche de filtrer chaque couche jusqu'à la couche application ? Est ce dure à mettre en place ?
    Il permettent de filtrer les paquets en fonction des informations contenues dans les entêtes, ce qui dans ton cas est plutôt nécessaire si tu veux éviter d'être floodé par des trames inutiles.

    Si tu as déjà fait des filtres pour Wireshark, dans le champ correspondant "Filter" juste sous la barre de menu, alors non, ce n'est pas difficile à mettre en place. Sinon, c'est juste une syntaxe à apprendre, rien d'insurmontable.
    Tu es certain de pouvoir récupérer les trames TCP/IP, et uniquement celles-ci, et un filtre rapide (BPF + code) te permettra d'isoler les trames HTTP des autres (et de rejeter ces dernières). De plus, tu peux ne capturer que le début des trames, donc alléger la taille des données reçues.

    Une fois que tu es certain de n'avoir QUE des entêtes HTTP dans tes trames, tu n'as plus qu'à rechercher les champs adéquats pour avoir les noms / tailles de documents.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Espionner les coms sur un réseau switché ca devient dure
    Je peux me contenter d'écouter le traffic entrant sur mon poste (executant le programme).

    Pour les filtres BPF si c'est du wireshark je devrais m'en sortir.

    Et donc pour les librairies nécessaires à l'appli je dois me tourner vers libpcap.

    Si c'est bien résumé reste plus qu'à coder

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par sebbb59 Voir le message
    Espionner les coms sur un réseau switché ca devient dure
    Pas si tu possèdes un port de monitoring sur le switch principal, c'est en général là que l'on connecte les outils d'analyse réseau.

    Citation Envoyé par sebbb59 Voir le message
    Je peux me contenter d'écouter le traffic entrant sur mon poste (executant le programme).
    Ce qui ne change pas grand-chose à l'affaire, SAUF que dans ce cas, ton code a moins besoin d'être optimisé (il doit l'être malgré tout, mais "moins"). Sniffer en temps réel un réseau gigabit, par contre, ça va te demander de peaufiner ton code aux petits oignons...

    Citation Envoyé par sebbb59 Voir le message
    Pour les filtres BPF si c'est du wireshark je devrais m'en sortir.
    La syntaxe est différente, mais pas le principe : quand tu règles un filtre Wireshark, tu actives (entre autres) des filtres BPF si je me souviens bien.

    Citation Envoyé par sebbb59 Voir le message
    Et donc pour les librairies nécessaires à l'appli je dois me tourner vers libpcap.
    Cela me semble le plus simple et le plus portable... Attention toutefois : sous Linux, tu risques de devoir modifier ton kernel pour ajouter le support PF_RING afin d'avoir des performances décentes. Ce n'est par contre pas nécessaire sous Windows, car WinPCAP gère les buffers beaucoup, beaucoup mieux que la version de base Linux.

    Citation Envoyé par sebbb59 Voir le message
    Si c'est bien résumé reste plus qu'à coder
    "Yapuka"... Bon courage !
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Merci pour tous ces bons conseils.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/05/2009, 11h33
  2. En-tête HTTP
    Par holdboy dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 12/03/2009, 18h37
  3. En têtes http
    Par gattous dans le forum Apache
    Réponses: 4
    Dernier message: 31/01/2008, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo