Question Envoyer des frappes en temps réel sur une machine depuis une source externe sans installer de logiciel sur cette machine? Peut-être un dongle USB qui s'enregistre comme clavier?


J'ai quelques systèmes simples qui exécutent un logiciel hérité sur du matériel qui craque. Je veux pouvoir automatiser un grand nombre de tâches en utilisant des scripts de raccourci automatique pour les tâches qui doivent être effectuées manuellement. Je ne veux vraiment pas installer de logiciel sur ces machines, et dans certains cas, je ne peux pas (car elles sont déjà optimisées sur les ressources, ou exécutant des versions de Linux, ou exécutant des versions Windows dépouillées de l'âge de pierre)

J'ai besoin d'une solution permettant de recevoir des frappes sur une machine en temps réel sans pour autant installer n'importe quel logiciel dessus. Cependant, exiger des pilotes ou des logiciels sur la machine qui envoie les touches n'est pas un problème.

C'est le problème que je dois résoudre. Compte tenu de la restriction imposée à la machine réceptrice, je ne peux qu'imaginer qu'une solution pourrait suivre l'intrant via un dongle Bluetooth ou un récepteur USB qui s'enregistre en tant que clavier, mais qui reçoit des frappes provenant d'un autre ordinateur. Si quelqu'un sait si un tel matériel existe, pouvez-vous poster ci-dessous? Ou encore, toute autre solution répondant aux objectifs.


4
2017-07-07 10:45


origine


Qu'en est-il d'un clavier et d'un récepteur Bluetooth? Est-ce que vous évitez cela? Vous devez juste installer un pilote pour l'un de ceux-ci. - Datarecovery.com MK
Pouvez-vous obtenir un clavier Bluetooth qui accepte les frappes externes d'un deuxième appareil? - Some_Guy
J'ai posté une réponse car il y a trop de temps - Datarecovery.com MK
BTW, j'étais au collège pendant l'âge de l'ordinateur (avant bluetooth), et un chercheur avait essentiellement besoin de ce que vous décrivez. Il a construit une plate-forme sur un clavier, avec un piston activé par solénoïde pour chaque touche. Il a ensuite envoyé les instructions de frappe à son appareil depuis un autre ordinateur. Je suppose que ce ne serait pas une solution pratique pour vous. - fixer1234
J'apprécie les commentaires qui me demandent de créer une réponse, mais je voulais préparer une solution sans avoir le temps de créer une bonne réponse. Je suis sûr que vous conviendrez qu'un commentaire vous indiquant (et d'autres qui pourraient être disposés à écrire une réponse plus complète) dans une direction pratique est préférable à rien. Personnellement, je pourrais connecter un module Ethernet et le faire devenir un client d'écho via le réseau plutôt que de série ou de bluetooth, comme le suggèrent d'autres utilisateurs, mais cela devrait résoudre votre problème. - ssnobody


Réponses:


Vous pouvez utiliser un KVM IP distant pour générer des frappes sur une autre machine en temps réel.

Connectez simplement le clavier du KVM (et éventuellement la vidéo et la souris) à l'ordinateur auquel vous voulez envoyer des frappes à distance.

Vous vous connectez ensuite à l'adresse IP sur le KVM via votre navigateur Web ou l'application système native fournie, puis vous envoyez les séquences de touches de votre choix.

Un tel produit est Contrôle à distance du serveur de Tripp Lite, KVM externe sur IP et un autre est le Lantronix Spider KVM

Vous pouvez également reconstruire une version bricolage de l’un de ces modèles en prenant uniquement en charge le clavier (plutôt que le clavier, la vidéo et la souris) à l’aide d’un clavier. Teensy USB Dev Board connecté à un Module Ethernet WIZ712MJ avec le Kit adaptateur Ethernet WIZ812

À ce stade, vous pouvez utiliser les Teensy ethernet et clavier bibliothèques pour écrire un petit programme qui génère un serveur en utilisant Server.begin(), attend une connexion, puis une boucle while infinie avec quelque chose comme le contenu suivant pour créer un serveur d'écho de réseau à sens unique:

if (myclient.available()) {
    Keyboard.print(myclient.read());
}

Vous voudrez probablement étoffer cela avec quelques vérifications d’erreur et autres, mais cela devrait fonctionner comme un squelette.


5
2017-07-20 03:58



Bien que cela semble être une bonne solution, je crains que la connexion à un KVM IP ne soit difficile. La plupart du temps, je suis confronté à un machinet boulonné qui n’a pas de capacité Internet, ni même de connexion réseau. Je veux dire, il y a un port Ethernet sur la machine, mais si c'est bon pour quelque chose? ... - Some_Guy
En outre, je pense que cela ne répond pas tout à fait à la nécessité de ne pas installer de logiciel sur la machine suiveuse - Some_Guy
@Some_Guy: Les périphériques KVM matériels ne nécessitent pas de logiciel sur la machine suiveuse. Ils apparaissent sous forme de périphériques matériels K, V et M. Si vous considérez que vous associez un clavier à une machine en tant que "logiciel d'installation", vos exigences sont impossibles à satisfaire. De plus, comment prévoyez-vous d'envoyer des séquences de touches à la machine en temps réel s'il n'y a pas de connexion réseau? Nous n'avons pas encore assez d'émetteurs-récepteurs de sous-espace ... - qasdfdsaq
Exactement exact. Le leader se connecte au périphérique KVM via le réseau et le périphérique KVM apparaît sous forme de clavier (les versions USB et PS2 sont disponibles) pour le suiveur. Donc son leader --ethernet-> kvm --USB-> suiveur - ssnobody
J'ajouterais qu'en fonction du périphérique KVM, certains ont des clients Java et d'autres des interfaces IPMI. IPMI est quelque peu peu sûr, mais est très largement supporté et facilement scriptable, même à partir d’un téléphone portable. - qasdfdsaq


Voici une solution possible, un assemblage requis.

Vous pouvez utiliser un microcontrôleur pour recevoir des frappes via le réseau et les transférer sur l'ordinateur auquel il est connecté. Une option possible serait Arduino plate-forme et c'est clavier bibliothèque car il peut être plus simple que de faire le matériel et les bibliothèques vous-même. Vous aurez également besoin d'un logiciel de bricolage pour envoyer les frappes et, dans le cas d'Arduino, il peut être écrit dans son environnement IDE (environnement JAVA simplifié). Il existe d'autres plates-formes et la plupart peuvent être réduites dans un environnement de production si vous trouvez que le déploiement est trop important ou trop coûteux (car vous en aurez peut-être besoin de plusieurs).


4
2017-07-16 08:28



C’est une bonne suggestion, mais il me semble que la technologie USB est probablement un peu plus facile (en regardant pjrc.com/teensy/td_keyboard.html), et un peu moins cher. Cependant, je serais ravi de votre avis car je n'ai pas beaucoup d'expérience. - Some_Guy
De plus, pensez-vous qu’il serait possible d’envoyer des frappes en temps réel à partir d’un ordinateur connecté, plutôt que de les pré-programmer? - Some_Guy
@Some_Guy Cela ressemble à une version ardue d'Arduino dont je parlais, donc ça devrait aller. Mais vous devez vous connecter à partir de deux ordinateurs en même temps pour avoir des frappes en temps réel et ce n'est pas possible via un seul port USB. Arduino pleine taille peut supporter des blindages réseau prêts à l'emploi pour séparer les connexions, par exemple envoyer des frappes de touches via le réseau depuis votre ordinateur portable et les transférer à l'ordinateur de réception via USB. - Enis P. Aginić
oui, le plan était de recevoir via le port série et sortir via USB pour le teensy - Some_Guy


C’est loin d’être une solution prête à l’emploi, mais vous pourrez peut-être adapter quelque chose comme le Teensy USB pour accomplir cette mission. J'envisagerais de configurer le Teensy USB pour qu'il apparaisse comme un clavier, puis de charger un programme sur le port USB Teensy

  • reçoit des frappes sur une connexion série connectée à ses broches E / S et
  • envoie ces frappes sur la machine cible via sa connexion USB.

Je l'ai personnellement câblé à une pédale et je l'ai programmé pour envoyer la frappe du clavier lorsque je suis monté sur la pédale, mais ce projet était beaucoup plus simple que ce dont vous auriez besoin.


3
2017-07-15 15:13



À défaut de quelque chose de plus facile, cela semble être une bonne solution (mais j'espère un plus facile). Je regardais auparavant un arduino qui semblait plus difficile, plus cher et plus gros que ça, alors merci! - Some_Guy
Je n'ai pratiquement aucune expérience de l'utilisation des microcontrôleurs (il y a quelques années, j'ai réalisé un projet très simple où mon livre était tenu par un livre tout le temps). Disons que je suis allé avec le teensy (semble très bien). Voulez-vous connecter un clavier directement à la clé USB avec le programme chargé, ou passer par un ordinateur portable avec une interface chargée? De quel type de connecteurs aurais-je besoin? - Some_Guy
Le TeensyUSB est le clavier. Je connecterais ensuite l'ordinateur portable à la TeensyUSB en utilisant une connexion série (souder un DB9 aux broches d'E / S du TeensyUSB, puis brancher l'ordinateur portable sur cette DB9). Ensuite, utilisez un logiciel de terminal (kermit?) Sur l'ordinateur portable pour taper vos caractères sur la connexion série. Ecrire le programme qui s'exécute sur le Teensy USB qui reçoit le sérial et envoie des frappes au clavier ne serait pas trivial, mais ce ne serait pas non plus un projet d'ingénierie majeur. - Mutant Bob
Je pense qu'il existe des solutions Bluetooth qui envoient / reçoivent des données de port série. BlueSoleil est un logiciel commercial qui le fait probablement - manualslib.com/manual/534847/Ivt-Bluesoleil.html?page=49 "Le port série Bluetooth (SPP) fournit un port série virtuel via Bluetooth comme alternative au câble série câblé entre un ordinateur et un périphérique. Tout programme utilisant un port série standard peut utiliser le port série Bluetooth sans aucune modification." bluesoleil.com/bssoftware/BSoftware.aspx  En fait, vous voudrez peut-être parler avec eux et voir ce qu'ils disent de votre projet. - Datarecovery.com MK
Bonjour, je voulais créer une autre prime et la récompenser également, mais il semble que je doive doubler ma prime pour le faire. J'apprécie vraiment cette réponse, alors merci! - Some_Guy


Ce serait un peu étrange qu'un clavier reçoive une entrée. Je pense que je comprends un peu mieux votre angle d’envoi d’une séquence de touches depuis un ordinateur portable. Le récepteur Bluetooth (clé USB) effectue la réception depuis un clavier Bluetooth. Alors oubliez le clavier car vous avez un ordinateur portable à la place. Il pourrait y avoir un récepteur Bluetooth là-bas qui est d'usage général et vous permettra de jumeler et de recevoir des données de clavier d'un autre périphérique Bluetooth. Les données de clavier font partie du profil Bluetooth pour HID («Human Interface Device Profile»), au moins pour cela. Cependant, un récepteur livré avec un clavier Logitech, par exemple, pourrait ne pas recevoir d’autre chose que le clavier Logitech. La recherche d'Amazon pour "bluetooth data receiver usb" amène quelques-uns qui pourraient fonctionner comme Mediastic.

Avez-vous déjà un moyen d'envoyer les données depuis l'ordinateur portable via Bluetooth? Vous avez demandé à recevoir, mais pas à envoyer. Il y a déjà quelques questions intéressantes à ce sujet -


0
2017-07-08 16:07



Eh bien, vous pourriez effectivement être en mesure de recevoir des données Bluetooth de périphériques non-Logitech en utilisant un récepteur Bluetooth Logitech après tout - forums.logitech.com/t5/Keyboards-and-Keyboard-Mice/... - Datarecovery.com MK
La deuxième puce renvoie à github.com/lkundrak/btkbdd/blob/master/btkbdd.pod, qui semble décrire la solution demandée, du moins pour Linux. La dernière puce semble aussi presque être une copie de cette question. +1 - fixer1234


Parfaitement possible. En fait, c'est l'attaque de vecteur exacte derrière la chose appelée BAD USB.

Vous pouvez lire en détail à ce sujet dans ici.

En gros, il s'agit de changer (reprogrammer) la clé USB du périphérique de stockage vers un autre périphérique HUD. Ce n'est pas si facile à faire mais si vous avez le temps et les compétences - oui, c'est possible. Certainement pas facile cependant.

Un appareil BadUSB a peut-être même remplacé le BIOS de l'ordinateur - à nouveau par   émuler un clavier et déverrouiller un fichier caché sur le pouce USB   conduire.


-1
2017-07-15 09:21



Ce n'est pas vraiment une réponse. Je sais qu'il est possible d'usurper les frappes, mais je cherche un appareil qui accepte les frappes en temps réel. - Some_Guy
Ceci n'est pas clairement indiqué dans la question. Cependant, je pense que vous êtes plus susceptible d'utiliser ma solution et de faire en sorte que le périphérique USB exécute des commandes sur l'ordinateur. Ces commandes peuvent être: 1. commande powershell pour télécharger netcat sur ordinateur, 2. exécuter netcat pour se connecter à l'adresse IP désignée du serveur en attente de connexion. 3. netcat lie également le shell local à la connexion 4. La connexion de réception du serveur exécute le script / les commandes spécifiés sur l'ordinateur connecté. C'est le moyen de compléter votre tâche. D'autres solutions impliqueront probablement une sorte d'installation, - mnmnc
En outre, il est beaucoup plus facile de faire en sorte que le périphérique BADUSB télécharge le script sur l'ordinateur et l'exécute localement, même si l'exécution du script est souvent bloquée sur les systèmes Windows 7+. - mnmnc
J'ai réécrit cette question (encore). Qu'est-ce que tu penses? - Some_Guy
Votre commentaire ne traite pas de la portée de cette question. Je dois exécuter des frappes sur une machine externe à partir d'une source externe, sans exécuter de scripts sur cette machine. Je branche dans certains cas des systèmes basés sur DOS. Le but de la question est d’éviter de devoir trouver une solution pour chaque plate-forme. Je veux vraiment quelque chose qui, une fois configuré, est bon pour tout ce qui a les pilotes d’entrée les plus élémentaires, et je peux le saisir à distance. - Some_Guy