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/Web Python Discussion :

Créer une socket pour requêtes arp


Sujet :

Réseau/Web Python

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut Créer une socket pour requêtes arp
    Salut les web pythons,
    je continue mes expériences sur la programmation réseau de bas niveau et je me heurte a un problème: je n'arrive pas a créer une socket exprès pour le protocole ARP qui n'est pas basé sur le protocole IP d'oû tout le problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    socket.socket(family=2, type=1, proto=0, _sock=None)
    et d'après les man de Linux auquel la doc de python renvoie pour la configuration des socket:
    la famille a utiliser serai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AF_PACKET           Interface paquet bas-niveau
    donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    socket.socket(family=socket.AF_PACKET,...)
    pour le type j'hésite entre:
    SOCK_SEQPACKET Dialogue garantissant l'intégrité, pour le transport de
    datagrammes de longueur fixe. Le lecteur doit lire le
    paquet de données complet à chaque appel système
    récupérant l'entrée.

    SOCK_RAW Accès direct aux données réseau.

    SOCK_RDM Transmission fiable de datagrammes, sans garantie de
    l'ordre de délivrance.
    Le quelle choisir ?

    Et ce dont je n'ai aucune idée est le protocole car il n'existe pas de constante IPPROTO_ARP et encore moins d'idée concernant setsockopt().

    Si vous avez une idée comment implémenter une tel socket ou en savez long sur celle-ci et avez l'esprit didactique merci de bien vouloir poster.
    Toujours est-il que je vais continuer mes expériences et je vous dirai si j'arrive a implémenter une tel socket.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  2. #2
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Salut,

    je sais pas si tu cherches l'apprentissage ou le résultats Si c'est le second pense à scapy c'est une librairie réseau très utilisé.

    Sinon pense aussi à scapy, vu qu'ils implémentent tous les protocoles, tu peux aller voir les sources, et quel socket ils utilisent.

  3. #3
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    J'ai visé l'expérience et j'ai réussi grâce a une socket avec les paramètres par défaut a faire une requète ARP auprès du serveur dont j'ai l'adresse IP, seulement celui-ci me répond bien avec un paquet Ethernet/ARP, mais celui-ci répond avec un opcode ARP erroné (> 26) mais une adresse MAC est bien présente dans la trame Ethernet que j'ai extrait, mais si je fait plusieurs requêtes auprès de serveurs différents je reçoit toujours la même adresse MAC comme quand j'utilise la fonction getmacbyip() de scapy qui me renvoie toujours la même adresse peut importe l'IP mis en paramètre.
    Si vous êtes un AS du réseau et si vous savez pourquoi le serveur répond mal a ma requête merci de bien vouloir poster.
    PS: je pense avoir remplis correctement tous les champs des datagrammes Ethernet et ARP.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 242
    Points : 36 699
    Points
    36 699
    Par défaut
    Salut,

    Citation Envoyé par Luke spywoker Voir le message
    Si vous êtes un AS du réseau et si vous savez pourquoi le serveur répond mal a ma requête merci de bien vouloir poster.
    PS: je pense avoir remplis correctement tous les champs des datagrammes Ethernet et ARP.
    Pourquoi ne pas poser la question dans un forum réseau?
    Préparez vous à récupérer les traces des packets échangés via un outil comme wireshark: les informations échangées sont bien plus importantes que votre code.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/09/2011, 03h08
  2. [AC-2003] Créer une macro pour requête
    Par guigui71 dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/12/2010, 14h34
  3. [Débutante pgsql] Créer une invite pour une requête SQL
    Par Darcynette dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 04/06/2008, 15h28
  4. Réponses: 8
    Dernier message: 09/01/2007, 17h30
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 21h22

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