2012-10-27 4 views

Répondre

1

La réponse courte est oui. Ci-dessous est la plus longue ...

Je sais que pour le fonctionnement en mode promiscous normal d'une carte sans fil, votre suppose de ne pas être en mesure d'interagir avec le réseau

Je ne sais pas où vous J'ai obtenu cette connaissance mais la déclaration ci-dessus est fausse. Un mode promiscuous ne restreint pas ce que vous pouvez faire et comment vous pouvez interagir avec le réseau. Par défaut, les cartes d'interface réseau essaient simplement de réduire la quantité de données transmises à l'hôte pour une meilleure efficacité. Par exemple, les cartes réseau ne transmettent pas de trame Ethernet à l'hôte si son adresse MAC de destination ne correspond pas à l'adresse du contrôleur d'accès au média de réception. La seule chose que le mode promiscuous fait est simplement dit à l'appareil de transmettre tout ce qu'il reçoit à l'hôte, que ce soit l'image adressée à l'hôte ou non. En d'autres termes, tout ce que vous pouviez faire avec NIC dans un mode de fonctionnement normal, vous pouvez toujours le faire quand il est en mode promiscuous. De plus, NIC ne filtre plus rien pour vous, donc vous pouvez en recevoir plus (aussi longtemps que l'hôte peut gérer le chargement).

mais est-il possible de le faire avec des sockets raw?

Oui, c'est possible. Tant que vous avez suffisamment de privilèges, vous pouvez envoyer et recevoir des trames Ethernet à partir de l'espace utilisateur en utilisant l'API sockets "raw". Le fait qu'un appareil soit en mode de proximité ou non ne fait aucune différence.

Notez également que ces jours-ci les routeurs sont très intelligents et ils ne transmettront pas les paquets à votre hôte même si vous mettez la carte réseau de votre hôte en mode espion. Ainsi, dans le bon réseau, il est peu probable que vous receviez quoi que ce soit qui ne soit pas destiné à votre hôte, et le mode promiscuité ne fera aucune différence.

Si cela vous aide, here est un exemple simple d'échange de paquets personnalisés avec une carte FPGA connectée au PC via Ethernet. Il utilise l'API raw socket et s'exécute dans l'espace utilisateur sous Linux.

+0

Merci, il s'agit en fait d'un programme qui doit être implémenté sur un réseau wifi ou n'importe quel environnement de type hub. Donc, je ne m'inquiète pas à ce sujet comme un problème. –