Aidez-moi à démarrer (manipulation du trafic)

Mon objective principal est de créer un programme avancé pour manipuler les paquets acheminés dans mon réseau via le routeur. Laissez mon programme avoir un contrôle total sur le routeur. Définissez les vitesses de téléchargement / téléchargement sur mes entrées, appliquez l’effet à certains périphériques de mon réseau. Bloquer le trafic de téléchargement ou de téléchargement. Définissez le deuxième délai pour la vitesse de téléchargement ou de téléchargement. Spécifiez% de paquets de perte et la liste continue.

Le problème est que je ne sais pas par où commencer. Je connais la plupart des langues au niveau le plus élémentaire. Je voudrais créer ce programme en C, C ++ ou C # mais je ne le sais pas encore. Que dois-je savoir avant de créer ce programme? Winsock ou quelque chose? API Winpcap?

Cet objective est ma motivation à apprendre la programmation à l’extrême et j’attends vraiment cela avec impatience.

Merci d’avance!

Hmmm je suppose que vous voudriez regarder pcap (?): Pcap

Check-out:

http://beej.us/guide/bgnet/html/multi/index.html

Guide de Beej sur la programmation réseau à l’aide de sockets Internet

Tout ce que vous pourriez avoir besoin de savoir sur la programmation des sockets pour la capture et la manipulation.

Si j’étais vous, je l’écrirais en C, j’écris un projet similaire en C ++ pour le moment et c’est trop tard pour arrêter et recommencer.

J’espère que cela pourra aider.

N’oubliez pas que vous avez besoin d’un routeur que vous pouvez reprogrammer ou que vous devez utiliser votre PC comme routeur pour ce faire.

Dans les deux cas, vous voulez voir comment les IPTABLES sont implémentés.

Je n’ai jamais vu Desktop Windows utilisé comme routeur uniquement Windows Server, même si cela rest possible. libpcap est pour la capture de paquets, mais pas l’interception telle que je la comprends. Des programmes comme Wireshark l’utilisent pour surveiller les copies de paquets, mais pas pour les modifier. Si vous voulez essayer, j’ai l’impression qu’il y a beaucoup plus de documentation et d’outils pour faire quelque chose comme ça avec NetFilter / IPTables sous Linux. Vous pouvez même installer quelque chose comme OpenWRT sur un routeur compatible et obtenir un petit routeur Linux bon marché, même si Desktop Linux aidera probablement pour le développement. La bibliothèque NetFilter QUEUE peut être utilisée avec certaines règles de pare-feu IPTables pour redirect des paquets spécifiques (ou la totalité) vers un programme utilisateur normal. Ce programme peut alors lire le paquet et le modifier ou même demander sa suppression.

http://www.netfilter.org/projects/libnetfilter_queue/

Si vous souhaitez manipuler le trafic réseau sur une machine Windows (comme vous l’avez mentionné), vous aurez besoin de logiciels supplémentaires. Ce système d’exploitation ne vous donnera pas le contrôle total sur lui-même, ce qui est correct pour certaines raisons.

Je pense que ce que vous voulez faire devrait être fait avec winpcap ou win10pcap si vous utilisez Win10. Ces packages contiennent un pilote Windows et la bibliothèque de l’espace utilisateur libpcap.