Alors ... tu sais arp? Le protocole que votre ordinateur utilise pour trouver les adresses MAC des autres ordinateurs de votre réseau? Ouais. que.
J'ai pensé que ce serait une excellente idée de le détourner pour créer une application de chat :)
Construit en deux jours parce que j'étais malade et que je n'avais rien de mieux à faire.
(Je jure que je pourrais en fait avoir une utilisation pour cela! Ce n'est peut-être pas entièrement inutile! ... et d'autres mensonges que je me dis)
Oui
Vous pouvez envoyer des messages des dizaines de milliers de caractères car j'ai mis en œuvre un protocole de transport généralisable (naïf) en plus de l'ARP. Il y a aussi un peu de compression.
Si vous le vouliez, vous pourriez probablement se séparer de la partie de réseautage et l'utiliser au lieu de l'UDP. Veuillez ne pas faire cela.
Non seulement les notifications de jointure et laissent une chose, mais j'ai construit un système complet de découverte de présence et de battement de cœur pour voir une liste mise à jour d'autres utilisateurs en ligne. Ironiquement, une partie de cela sert un objectif similaire à l'ARP lui-même.
Pour plus d'informations sur la façon dont tout cela fonctionne techniquement, consultez le petit article que j'ai écrit.
Si vous souhaitez réellement l'installer pour une raison quelconque, vous pouvez l'obtenir à partir de la page des versions.
Sur Windows, vous avez probablement besoin de NPCAP. Assurez-vous de vérifier "Installer NPCAP en mode compatible API WinPCAP" dans l'installateur!
Sur Linux, vous devrez peut-être donner des privilèges de réseau Arpchat:
sudo setcap CAP_NET_RAW+ep /path/to/arpchatEnsuite, exécutez le binaire dans un terminal. Vous savez que cela fonctionne correctement si vous pouvez voir vos propres messages lorsque vous les envoyez. Si vous ne voyez pas vos messages, essayez de sélectionner une interface ou un protocole différent!
Vous avez des problèmes? ça craint vraiment. Vous pouvez faire un problème s'il vous plaît.
Vous ne voulez pas vraiment construire cela. Quoi qu'il en soit, il est testé sur la dernière rouille instable.
Sur Windows, téléchargez le pack du développeur WinPCAP et définissez la variable Environment LIB dans le dossier WpdPack/Lib/x64/ .
cargo build