Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre éclairé Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 693
    Points : 399
    Points
    399

    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 :
    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 :
    AF_PACKET           Interface paquet bas-niveau
    donc:
    Code :
    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...
    Blog: http://3dcyberspace.unblog.fr/
    Site: Sanctuaire cybernétique
    Site: 3dreaming-imaging.net

  2. #2
    Membre expérimenté

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

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

    Informations forums :
    Inscription : novembre 2009
    Messages : 377
    Points : 509
    Points
    509

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

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 693
    Points : 399
    Points
    399

    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...
    Blog: http://3dcyberspace.unblog.fr/
    Site: Sanctuaire cybernétique
    Site: 3dreaming-imaging.net

  4. #4
    Modérateur

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

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 313
    Points : 7 410
    Points
    7 410

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •