Je ne suis pas sûr si cela est possible au niveau de la couche d'application. Un programme peut-il être écrit pour lire et analyser des paquets (peut-être interfacer avec wireshark via son API lua) et bannir les adresses MAC avec un trafic réseau suspect? (Définition du trafic réseau suspect en tant que modèles d'injection de paquets similaires aux attaques connues)écrire un programme pour interdire un utilisateur (par adresse MAC) à partir d'un réseau
Répondre
Vous auriez besoin d'une combinaison libnetfilter_queue & règles iptables. libnetfilter_queue, via une règle Iptable, vous donnerait tous les paquets (dans l'espace utilisateur) qui ont été mis en file d'attente par le filtre de paquets du noyau. Il attendrait alors que vous envoyiez un verdict pour le paquet.
Une fois que vous avez netfilter_queue installé et avez écrit une écoute application userland, exécutez une règle iptables comme
iptable -t mangle -A PREROUTING -i eth0 -j NFQUEUE --queue-num 0
Un mot d'avertissement, cela vous donnera tous les paquets et le noyau alors attendre que vous donnez un verdict ou si aucune application land user n'est en cours d'exécution, il suffit de la supprimer.Vous pouvez définir la règle iptables à différents niveaux de granularité comme src IP, protocole, etc
Une fois que vous avez déterminé qu'une adresse MAC particulière doit être banni, exécutez une règle iptables comme (à partir de votre application utilisateur, vous pouvez utiliser system()
pour exécuter cette règle iptables)
iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
Un exemple de programme sur netfilter_queue est here pour vous aider à démarrer. J'espère que cela aide. Un autre avertissement: Lisez sur iptables ou demandez à serverfault. Il y a plusieurs tables impliquées (entrée, sortie, mangle, prerouting, forward, nat etc.) et je peux me tromper en suggérant une table mangle pour la règle iptable.
- 1. Interdire l'accès à certains ports par l'adresse MAC - C++
- 2. Méthode correcte pour rechercher un utilisateur AD par adresse e-mail à partir de .NET
- 3. Réseau de numérisation pour une adresse MAC spécifique - Android
- 4. Découverte du réseau par programme
- 5. Ajouter par programme un utilisateur local à un groupe local
- 6. Connexion par programme à Quickbooks Online sur un Mac
- 7. Écrire un programme comme netstat
- 8. Recherche par programme un utilisateur dans SharePoint
- 9. C++: comment puis-je écrire un programme pour lire des entiers à partir d'un fichier?
- 10. besoin d'aide pour écrire un programme
- 11. Application Autostart Mac par programme
- 12. Écrire un programme pour gratter des forums
- 13. Adresse IP de l'ordinateur réseau
- 14. Accès par programme à un contrôle à partir d'un DataTemplate
- 15. Découverte d'instances d'un programme sur un réseau
- 16. écrire un simple programme ofx4j
- 17. Ajouter un réseau wifi par programme sur le BlackBerry
- 18. Adresse MAC vers adresse IP sur le même réseau local en C#
- 19. Un moyen fiable pour identifier un ordinateur par son adresse IP
- 20. Comment écrire un programme Java pour envoyer un e-mail
- 21. écrire un fichier btach pour copier des fichiers d'un dossier réseau vers un autre dossier réseau
- 22. C# - Mapper un lecteur réseau à partir du service Web
- 23. Réseau Découverte d'une application pour un réseau pair-à-pair
- 24. Comment calculer un masque de sous-réseau à partir d'une adresse IP?
- 25. Lancer un safari à partir d'une application Mac
- 26. Écrire un programme pour vérifier si un graphe est bipartite
- 27. comment écrire dans un fichier texte par programme C
- 28. Bibliothèque pour écrire un fichier ODF à partir d'un programme C
- 29. Exécutez le programme C# .NET à partir du partage réseau
- 30. Obtenez une adresse MAC à distance via IPv6
Je crois que le routeur peut être programmé pour ignorer certaines adresses IP, mais c'est une question pour ServerFault. –
Je voudrais le faire au niveau de l'application, ne pas modifier le firmware du routeur – Gail
Si c'est votre propre application, il est assez facile d'ignorer les paquets que vous ne voulez pas. Mais je suppose que vous voulez faire quelque chose de plus sophistiqué que cela, comme filtrer tout le trafic arrivant sur votre poste de travail. Pour cela, vous avez besoin d'un pare-feu logiciel. –