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

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 654
    Points : 404
    Points
    404

    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

  2. #2
    Membre éprouvé
    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 : 439
    Points
    439

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

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 654
    Points : 404
    Points
    404

    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

  4. #4
    Expert Confirmé Sénior
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    4 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 4 748
    Points : 7 160
    Points
    7 160

    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
  •