Scrivi messaggi di testo tra Unix e Windows


10

È possibile inviare messaggi di testo tra due utenti della stessa LAN, ma il primo con Windows con cmd e il secondo con Linux / Unix?

Non sto cercando un servizio di messaggistica istantanea. Vorrei digitare qualcosa di simile nella shell Linux

write user@192.168.x.x:port message

in modo che l'utente di Windows possa leggere nella sua finestra cmd il testo message; quindi l'utente di Windows dovrebbe essere in grado di rispondere con un altro comando. È possibile?

Ho letto del msgcomando di Windows ma non funziona in tutte le versioni del sistema operativo. C'è niente altro?

Invece di PuTTY, vorrei usare la shell Linux e il cmd di Windows.


È una specie di servizio di messaggistica istantanea, sebbene integrato nel terminale.
Pavel Šimerda,

Risposte:


5

Su Unix: nc -l 192.168.1.10 32849

Su Windows: telnet 192.168.1.10 32849

Dove 32849 è una porta arbitraria consentita nelle regole del firewall e l'IP è l'IP di ascolto della macchina Unix. ncè l'utilità netcat.


Grande idea! su windows7 x64 avevo bisogno di installare il client telnet "funzionalità windows". l'idea era di fare, pkgmgr /iu:"TelnetClient"ma ciò ha comportato Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format., dopo aver registrato il log ho visto You cannot service a running 64-bit operating system with a 32-bit version. Ha funzionato con c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"enfasi su sysnative. È installato c:\windows\sysnative\telnet.exe.
n611x007

Ho dovuto usare -pcome in nc -l 192.168.1.10 -p 32849, grazie a JohnMurhy !
n611x007,

Ho dovuto usare IP diversi nei due comandi. (IP dell'altra macchina su ciascun lato.)
n611x007

Ho provato di nuovo dopo questi nuovi commenti, non ho bisogno del flag -p usando il comando [Free] BSD nc. Ottengo "lupo% sudo nc -l 10.0.0.1 -p 8888 nc: impossibile usare -p e -l ". Ho anche dimenticato di menzionare che hai bisogno di un accesso da superutente per collegarti a porte arbitrarie. Non so perché naxa abbia bisogno di IP diversi o anche come sia possibile che funzioni, non dovrebbe funzionare. Questo perché il flag -l indica che è in ascolto locale sulla combinazione IP * e porta * nix. Non ha nulla a che fare con l'IP della macchina Windows. Telnet agisce come client in questo scenario.
projectdp,

3

L'idea da projectdp risposta s': netcat su linux serve un telnet sulla vittoria . Necessari -pe indirizzi IP diversi sui due computer:

  • In Linux: netcat -l 10.0.0.2 -p 14415- se Windows è su 10.0.0.2

  • In Windows: telnet 10.0.0.1 14415- se il tuo Linux è su 10.0.0.1

  • Per uscire da telnet premere ^]che significa Ctrl+ ]e quindi digitare q.

  • Scegliere la tua porta arbitraria come 14415una comoda tabella è su David Vereb .

Tuttavia su win7 x64 ho dovuto abilitare prima telnet, per farla breve:

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

  • Il problema nel tentativo originale era che pkgmgrcercava di usare 32 bit disme piagnucolava per 64 bit. Ho avuto l' sysnativeidea di Osman Shener .

  • Si installa su c:\windows\sysnative\telnet.exe. Ho inserito c:\windows\sysnativela variabile d'ambiente PATH con sysdm.cpl.

  • Se hai DeVuan o Ubuntu per Linux, sudo apt-get install netcat-traditional

La chat sembrava:

devuan-netcat win7-telnet


Ciao naxa, sono un po 'confuso dal tuo test qui, come puoi aprire un socket di ascolto su Linux usando l'IP dell'host di Windows? Non sta ascoltando per i padroni di casa finestre IP, che si sta ascoltando sul l'host Linux IP e la porta. Quando si utilizza telnet dall'host di Windows, ci si comporta come un client che unisce il socket di ascolto e l'IP della macchina linux. Dovrò provarlo con il tuo metodo.
projectdp,

Naxa, ho provato e non so come stai collegando con successo queste due macchine. nc dovrebbe essere in ascolto sull'indirizzo IP locale e sulla porta locale. telnet dovrebbe essere connesso all'ip remoto e alla porta remota ... puoi elencare l'output del tuo ipconfig / ifconfig su ogni macchina?
projectdp,

@projectdp ah L'ho trovato di nuovo. Quindi alla fine sono d'accordo con te che non avrebbe nemmeno dovuto funzionare, ma a quanto pare ha funzionato e ha fatto solo così. Penso di non aver risposto perché volevo provare questo. Purtroppo mi sono lasciato trasportare e non ho più le macchine. Penso che siano stati virtualizzati che so essere in grado di causare le anomalie di rete più strane in generale ...
n611x007,

1

Che ne dici NET SEND {name1 | * | /DOMAIN[:name] | /USERS} messagesul computer Windows e echo "message" | smbclient -M name2sulla scatola di Linux? nome1 e nome2 sono i nomi netbios delle macchine.


per favore chiarisci un po '! Il comando 'NET SEND' viene generalmente utilizzato per vincere per vincere il passaggio dei messaggi utilizzando 'messenger'. È possibile utilizzare anche in caso di Bash per vincere anche ??
diffrattato il

@diffracteD Non ho un computer Windows da testare. Presumo con "Bash per vincere", intendi da Linux a Windows? Il mio secondo esempio dovrebbe fare esattamente questo
noleti,

0

C'è uno strumento interessante che ti permette di eseguire i comandi di Windows da Linux, il nome è winexe.

Quindi puoi inviare un messaggio dallo stesso computer alla console semplicemente digitando: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

Come puoi vedere, la risposta di noleti è molto più semplice, ma con winexe puoi anche aprire un calc o quello che vuoi in quella macchina. Lo stiamo usando per eseguire installazioni automatiche su macchine Windows da uno script batch in Linux. Abbastanza bello e risparmiando tempo ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.