p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre chevronné
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 838
    Points : 605
    Points
    605

    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: Sanctuaire cybernétique
    Site: open-source-projects.net
    Site: 3dreaming-imaging.net
    FUN is HARD WORK !!!

  2. #2
    Membre expérimenté

    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 : 565
    Points
    565

    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 chevronné
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 838
    Points : 605
    Points
    605

    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: Sanctuaire cybernétique
    Site: open-source-projects.net
    Site: 3dreaming-imaging.net
    FUN is HARD WORK !!!

  4. #4
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    6 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 6 678
    Points : 10 286
    Points
    10 286

    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

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/09/2011, 02h08
  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, 13h34
  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, 14h28
  4. Réponses: 8
    Dernier message: 09/01/2007, 16h30
  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, 20h22

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