J'écris un programme qui renifle le trafic avec libpcap seulement pour retirer des paquets pour les modifier et les réinjecter dans le réseau avec une socket raw. Je sais que pour le fonctionnement en mode promiscous normal d'une carte sans fil, vous ne supposez pas être en mesure d'interagir avec le réseau, mais est-il possible de le faire avec des sockets raw?Est-il possible d'injecter sur une socket raw tout en reniflant en mode promiscous?
Répondre
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.
- 1. Mode Promiscuous Raw Socket ne reniflant pas ce que j'écris
- 2. Reniflant les paquets 802.3 eth avec socket raw
- 3. Socket Raw en Java
- 4. Raw Socket Receive Buffer
- 5. recv avec raw socket
- 6. Strange RAW Socket sur Mac OS X
- 7. ioctl FIOREAD sur socket raw sous Linux
- 8. récepteur de paquets de raw socket en C, sortie étrange
- 9. recv/envoyer sur une socket raw avant SSL wrap(), Python
- 10. en utilisant linux raw socket avec l'interface vconfig
- 11. marquage d'un paquet pour l'envoi sur une socket raw
- 12. Envoi de multidiffusion avec RAW Socket en C sous Linux
- 13. API C et obtenir raw socket
- 14. En utilisant ntop() au lieu de NTOA() sur une socket raw ancien tutoriel
- 15. reçoivent de raw socket n'a pas
- 16. RAW socket send: perte de paquets
- 17. Comment réinitialiser une socket en mode blocage (après l'avoir réglée en mode non bloquant)?
- 18. tout en acceptant la connexion socket
- 19. RAW Socket envoyer ne fonctionne pas
- 20. Comment publier un fichier avec telnet ou une socket raw?
- 21. Raw Sockets sur Android
- 22. Reniflant le trafic LPT
- 23. J'ai voulu héberger le programme Raw socket en JAVA sur openshift
- 24. Socket qui écoute tout
- 25. Serveur multi-threaded socket - possible en PHP?
- 26. Ouvrir une socket raw sous Linux sans setcap cap_net_raw
- 27. permission en mode utilisateur refusée de se lier au socket
- 28. Mode avion en mode Android sur BlackBerry
- 29. Convertir RAW en JPEG (libjpeg.net)
- 30. L'interface raw loop on loopback est-elle possible?
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. –