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 :

Windows Xp SP3 : quelle est la couche réseau la plus basse accessible ?


Sujet :

Réseau C

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut Windows Xp SP3 : quelle est la couche réseau la plus basse accessible ?
    Bonjour,

    Je voudrais faire un forgeur de paquet et un sniffeur. J'avais testé une solution avec la lib winpcap mais les performances ne sont pas terribles. Je voudrais donc savoir qu'elle lib je dois utiliser pour pouvoir etre au niveau le plus possible.

    Il y a des lib plus bas niveau que winsock2 en mode IPPROTO_RAW (avec ce mode je suis obligé d'utiliser la couche IP non ?) ?
    Peut-on vraiment forger n'importe quel paquet ou il y a des limitations ?

    Merci d'avance,

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Dans ce tuto :http://melem.developpez.com/tutoriel...s/raw-sockets/

    Il est dit :
    Et enfin, sachez que certaines version de Windows n'acceptent pas l'envoi de paquets TCP via raw sockets (Windows XP SP2/SP3, Windows Vista, Windows 7). La raison de cette limitation est que la plupart des attaques utilisées sur Internet sont basées sur l'exploitation de ce protocole ... D'autre part, toujours dans ces versions, l'adresse source d'un paquet encapsulant UDP doit être une adresse existante sur le réseau, cela afin de limiter la possibilité de falsification d'adresse. Si vous voulez donc programmer les sockets bruts sans aucune limitation, vous devriez utiliser une version antérieure à Windows XP SP2 ou une édition "Serveur" (sauf Windows Server 2008 R2). Par exemple : Windows XP sans service pack, Windows Server 2003, Windows Server 2008.
    ça veut donc dire qu'on ne peut pas forger des paquets UDP avec une adresse MAC source inconnue avec windows Xp SP2+. Ce qui est bizarre, c'est qu'avec la lib winpcap, j'ai réussi à le faire : comment se fait-il que ça soit possible alors ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    WinPcap est constitué :

    de pilotes pour Windows 95/98/Me et la famille Windows NT (Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, etc.) qui utilisent NDIS pour lire les paquets directement à partir de la carte réseau ;
    l'implémentation d’une librairie de bas niveau pour ces systèmes d’exploitation afin de pouvoir communiquer avec ces pilotes ;
    un port de libpcap qui utilise l’interface offerte par la librairie de bas niveau implémentée.
    Donc a priori, winpcap permet de s'affranchir des fonctions de windows...

  4. #4
    Membre du Club
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    82
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 82
    Points : 57
    Points
    57
    Par défaut
    salut a toi , dis moi , as tu trouvé un tutoriel permettant d'utiliser la lib winpcap en C toujours sous xp SP1/SP3 . car je souhaite aussi forgé des packets a partir de la couche physique .

    merci .

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    salut,

    Le mieux que j'ai trouvé, c'est tout simplement les fichiers d'exemples qui sont fournis avec la lib.
    Aussi regarde si le code source de wireshark est dispo (pour la réception).

    Pour ce qui est des performances, a priori c'est normal qu'elles soient dégradées car pour pouvoir modifier les adresses MAC, le driver de wincap a besoin de faire plein d'appels systèmes : http://www.winpcap.org/docs/docs_41b...roup__NPF.html
    => donc je pense que même si je faisais le driver moi même j'aurais les même perf : je vais donc chercher plutôt comment utiliser au mieux la lib...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Avant Windows 2000 (Win95/98/98SE/NT4.0), on ne pouvait utiliser des raw sockets qu'avec les protocoles ICMP/IGMP (avec en plus avec certaines autres limitations).

    Les raw sockets ont été disponibles à partir de Windows 2000, puis XP en a continué le support.

    C'est le patch de sécurité MS05-019

    http://support.microsoft.com/kb/897656

    applicable à partir de XP SP1 qui a cassé l'utilisation des raw sockets à cause d'un effet de bord sur ICF (Internet Connection Firewall). Le support des raw sockets dans XP peut être réactivé :

    - XP SP0 sans MS05-19 -> rien à faire,
    - XP SP1 avec MS05-19 -> activer ICF,
    - XP SP2 sans MS05-19 -> rien à faire hormis si on veut déveloper des programmes de type TCP port scan auquel cas il faut importer un autre TCPIP.SYS (parce que MS05-019 modifie certaines valeurs de MaxICMP route et de MTU),
    - XP SP2 avec MS05-019 est inutilisable pour faire du TCP raw socket avec ou sans ICF réactivé.

    A partir de XP SP2, on ne peut utiliser des raw sockets qu'avec ICMP/IGMP/UDP à la condition de n'utiliser que sa propre adresse IP.

    WinPcap fournit un driver qui permet de contourner le stack TCP/IP de Windows (c'est un "third party packet driver"), et surtout intègre la librairie Unix libpcap.

    Steph
    Dernière modification par Invité ; 23/07/2012 à 18h12. Motif: Clarifications sur Winpcap

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Merci pour ta réponse

    Citation Envoyé par IP_Steph Voir le message
    Parce que WinPcap n'utilise pas les Winsocks.
    Comment fait-on pour envoyer des paquets sans utiliser les Winsocks ? c'est compliqué ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    J'ai édité mon précédent message, en précisant plus clairement les limitations des raw sockets selon les versions de Windows. Et surtout, ça n'est pas lié aux Winsocks...

    Et encore une fois, c'est le driver de WinPcap qui a été écrit de manière à contourner le stack de Windows.

    je pense que même si je faisais le driver moi même j'aurais les même perf
    C'est bien possible

    Steph

  9. #9
    Membre du Club
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    82
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 82
    Points : 57
    Points
    57
    Par défaut
    - XP SP1 avec MS05-19 -> activer ICF,



    ce qui veut dire qu'en activant ce patch/clé , on peux forger les packets depuis la couche physique mac ?

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par IP_Steph Voir le message
    C'est bien possible
    Ouai je ne pense pas que ça soit des bricolos du dimanche qui aient fait le driver ...

Discussions similaires

  1. quelle est la distribution LINUX la plus sécurisée
    Par linux-inside dans le forum Distributions
    Réponses: 10
    Dernier message: 31/08/2011, 14h08
  2. Réponses: 6
    Dernier message: 01/07/2011, 14h28
  3. Réponses: 0
    Dernier message: 28/06/2011, 23h18
  4. Réponses: 14
    Dernier message: 13/08/2010, 10h14
  5. Quelle est la ditribution linux la plus proche de windows?
    Par padodanle51 dans le forum Distributions
    Réponses: 9
    Dernier message: 17/08/2006, 10h43

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