Écrire des messages texte entre Unix et Windows


10

Est-il possible d'envoyer des messages texte entre deux utilisateurs du même réseau local, mais le premier exécutant Windows avec cmd et le second exécutant Linux / Unix?

Je ne recherche pas de service de messagerie instantanée. Je voudrais taper dans le shell Linux quelque chose comme

write user@192.168.x.x:port message

pour que l'utilisateur Windows puisse lire dans sa fenêtre cmd le texte message; alors l'utilisateur Windows devrait pouvoir répondre avec une autre commande. C'est possible?

J'ai lu sur la msgcommande Windows mais elle ne fonctionne pas dans toutes les versions du système d'exploitation. Y a-t-il autre chose?

Au lieu de PuTTY, je voudrais utiliser le shell Linux et la cmd Windows.


C'est en quelque sorte un service de messagerie instantanée, bien intégré dans le terminal.
Pavel Šimerda

Réponses:


5

Sous Unix: nc -l 192.168.1.10 32849

Sous Windows: telnet 192.168.1.10 32849

Où 32849 est un port arbitraire autorisé dans les règles de pare-feu et l'IP est l'IP d'écoute de la machine Unix. ncest l'utilitaire netcat.


Bonne idée! sur windows7 x64, j'avais besoin d'installer la "fonctionnalité windows" du client telnet. l'idée était de le faire pkgmgr /iu:"TelnetClient"mais cela a abouti Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format., après avoir enregistré, je l'ai vu You cannot service a running 64-bit operating system with a 32-bit version. Je l'ai fait travailler en c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"mettant l'accent sur sysnative. Il a installé c:\windows\sysnative\telnet.exe.
n611x007

J'ai dû utiliser -pcomme dans nc -l 192.168.1.10 -p 32849, grâce à JohnMurhy !
n611x007

J'ai dû utiliser une IP différente dans les deux commandes. (IP de l'autre machine de chaque côté.)
n611x007

J'ai testé à nouveau après ces nouveaux commentaires, je n'ai pas besoin du drapeau -p en utilisant la commande [Free] BSD nc. J'obtiens "wolf% sudo nc -l 10.0.0.1 -p 8888 nc: ne peut pas utiliser -p et -l ". J'ai également négligé de mentionner que vous avez besoin d'un accès superutilisateur pour vous lier à des ports arbitraires. Je ne sais pas pourquoi naxa a besoin d'IP différentes ou même comment il est possible que cela fonctionne, cela ne devrait pas fonctionner. En effet, l'indicateur -l signifie qu'il écoute localement sur la combinaison IP * nix et port. Cela n'a rien à voir avec l'IP de la machine Windows. Telnet agit en tant que client dans ce scénario.
projectdp

3

L'idée de la réponse de projectdp : netcat sur linux sert un telnet sur win . Besoin -pet adresses IP différentes sur les deux machines cependant:

  • Sous Linux: netcat -l 10.0.0.2 -p 14415- si vos fenêtres sont sur 10.0.0.2

  • Sous Windows: telnet 10.0.0.1 14415- si votre Linux est sur 10.0.0.1

  • Pour quitter telnet, appuyez sur ^]ce qui signifie Ctrl+ ], puis tapez q.

  • Pour choisir votre port arbitraire comme 14415une table pratique, c'est chez David Vereb .

Cependant, sur win7 x64, je devais d'abord activer telnet, pour faire court:

  • c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"

  • Le problème lors de la tentative d'origine était qu'il pkgmgrtentait d'utiliser 32 bits dismet pleurnichait pour 64 bits. J'ai l' sysnativeidée d' Osman Shener .

  • Il s'installe sur c:\windows\sysnative\telnet.exe. J'ai mis c:\windows\sysnativela variable d'environnement PATH avec sysdm.cpl.

  • Si vous avez DeVuan ou Ubuntu pour Linux, sudo apt-get install netcat-traditional

Le chat ressemblait à:

devuan-netcat win7-telnet


Bonjour naxa, je suis un peu confus par votre test ici, comment pouvez-vous ouvrir une socket d'écoute sur linux en utilisant l'IP de l'hôte Windows? Vous n'êtes pas à l' écoute pour les hôtes Windows IP, vous écoutez sur les hôtes Linux IP et le port. Lorsque vous utilisez telnet à partir de l'hôte Windows, vous agissez en tant que client rejoignant le socket d'écoute et l'adresse IP de la machine Linux. Je vais devoir le tester avec ta méthode.
projectdp

Naxa, j'ai essayé et je ne sais pas comment vous réussissez à connecter ces deux machines. nc doit écouter l'adresse IP locale et le port local. telnet devrait se connecter à l'ip distant et au port distant ... pouvez-vous lister la sortie de votre ipconfig / ifconfig sur chaque machine?
projectdp

@projectdp ah je l'ai trouvé à nouveau. Donc, au final, je suis d'accord avec vous, cela n'aurait même pas dû fonctionner, mais apparemment, cela a fonctionné et cela n'a fait que ça. Je pense que je n'ai pas répondu parce que je voulais tester cela. Malheureusement je me suis emporté et je n'ai plus de machines. Je pense qu'ils ont été virtualisés, ce que je sais pour être en mesure de provoquer les anomalies de réseau les plus étranges en général ...
n611x007

1

Que diriez-vous NET SEND {name1 | * | /DOMAIN[:name] | /USERS} messagede la machine Windows et echo "message" | smbclient -M name2de la boîte Linux? nom1 et nom2 sont les noms netbios des machines.


veuillez clarifier un peu! La commande 'NET SEND' est généralement utilisée pour que le message gagnant pour gagner passe à l'aide de 'messenger'. Est-il possible d'utiliser en cas de Bash pour gagner aussi ??
diffracteD

@diffracteD Je n'ai pas de machine Windows à tester. Je suppose qu'avec "Bash to win", tu veux dire de Linux à Windows? Mon deuxième exemple devrait faire exactement cela
noleti

0

Il existe un outil intéressant qui vous permet d'exécuter des commandes Windows à partir de Linux, le nom est winexe.

Vous pouvez donc envoyer un message de la même machine à la console en tapant simplement: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

Comme vous pouvez le voir, la réponse de noleti est beaucoup plus simple, mais avec winexe, vous pouvez également ouvrir un calc ou tout ce que vous voulez dans cette machine. Nous l'avons utilisé pour effectuer des installations sans assistance sur des machines Windows à partir d'un script batch sous Linux. Assez cool et gain de temps ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.