在Unix和Windows之间编写文本消息


10

是否可以在同一局域网的两个用户之间发送文本消息,但是第一个运行带有cmd的Windows,第二个运行Linux / Unix?

我不是在寻找即时消息服务。我想在Linux shell中输入类似

write user@192.168.x.x:port message

使Windows用户可以在其cmd窗口中阅读文本message; Windows用户应该可以使用其他命令进行回复。可能吗?

我已经阅读了有关Windows msg命令的信息,但是它不适用于所有版本的OS。还有别的事吗?

我要使用Linux Shell和Windows cmd代替PuTTY。


尽管已集成到终端中,但是这一种即时消息服务。
PavelŠimerda2014年

Answers:


5

在Unix上: nc -l 192.168.1.10 32849

在Windows上: telnet 192.168.1.10 32849

其中32849是防火墙规则中允许的任意端口,而IP是Unix计算机的侦听IP。nc是netcat实用程序。


好点子!在Windows 7 x64上,我需要安装telnet客户端“ Windows功能”。这个想法是要做的,pkgmgr /iu:"TelnetClient"但是结果导致Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format.我看到了日志You cannot service a running 64-bit operating system with a 32-bit versionc:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"重点放在工作上sysnative。它安装了c:\windows\sysnative\telnet.exe
n611x007

感谢JohnMurhy,我不得不使用-pin !nc -l 192.168.1.10 -p 32849
n611x007

我必须在两个命令中使用不同的IP。(另一端的另一台计算机的IP。)
n611x007

在这些新注释之后,我再次进行了测试,不需要使用[Free] BSD nc命令的-p标志。我得到“ wolf%sudo nc -l 10.0.0.1 -p 8888 nc:无法使用-p和-l ”。我也忽略了提及您确实需要超级用户访问权限来绑定到任意端口。我不知道为什么纳克萨需要不同的IP,或者什至有可能这种方法不起作用。这是因为-l标志表示它正在* nix IP和端口组合上本地侦听。它与Windows计算机的IP无关。在这种情况下,Telnet充当客户端。
projectdp

3

来自projectdp答案的想法是:Linux上的netcat在win上提供了一个telnet。但是需要-p和两台机器上的IP地址不同:

  • 在Linux中: netcat -l 10.0.0.2 -p 14415-如果您的Windows位于10.0.0.2上

  • 在Windows中:telnet 10.0.0.1 14415-如果您的Linux在10.0.0.1上

  • 要退出的telnet按^]该装置Ctrl+ ],然后打字q

  • 14415戴维·韦伯David Vereb)那里可以像方便使用的桌子一样选择任意端口。

但是在win7 x64上,我必须首先启用telnet,长话短说:

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

  • 最初尝试中的问题是pkgmgr尝试使用32位dism并抱怨64位。我sysnativeOsman Shener那里得到了这个主意。

  • 它安装到c:\windows\sysnative\telnet.exe。我用放入c:\windows\sysnativePATH环境变量sysdm.cpl

  • 如果您有DeVuan或Linux版Ubuntu, sudo apt-get install netcat-traditional

聊天看起来像:

开发网猫 WIN7远程登录


您好,纳克萨,您的测试让我有些困惑,如何使用Windows主机的IP在Linux上打开监听套接字?你不听 Windows主机IP,你在听的Linux主机的IP和端口。当您从Windows主机使用telnet时,您将充当客户端加入Linux机器的侦听套接字和IP。我将用您的方法进行测试。
projectdp

纳克萨(Naxa),我尝试过,但我不知道您如何成功连接这两台机器。nc应该在本地IP地址和本地端口上侦听。telnet应该连接到远程IP和远程端口...可以在每台计算机上列出ipconfig / ifconfig的输出吗?
projectdp

@projectdp啊,我再次发现了这个。因此,最后我同意您的看法,它甚至不应该起作用,但显然它确实起作用,并且它只是这样做。我想我没有回答,因为我想对此进行测试。不幸的是,我被带走了,没有机器了。我认为它们已被虚拟化,据我所知,它们通常会导致最怪异的网络异常...
n611x007

1

如何NET SEND {name1 | * | /DOMAIN[:name] | /USERS} message在Windows机器上,并echo "message" | smbclient -M name2在Linux中?name1和name2是计算机的netbios名称。


请澄清一下!“ NET SEND”命令通常用于赢取使用“ messenger”传递的消息。是否可以在Bash获胜的情况下使用?
衍射

@diffracteD我没有Windows机器要测试。我以“重获胜”为前提,您是说从linux到Windows?我的第二个例子应该做到这一点
noleti

0

有一个有趣的工具,它使您可以从Linux执行Windows命令winexe

因此,您只需输入以下内容即可将消息从同一台计算机发送到控制台: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

如您所见,noleti的答案要简单得多,但是使用winexe,您还可以在该计算机上打开calc或所需的任何内容。我们一直在使用它通过Linux中的批处理脚本在Windows机器上进行无人值守安装。很酷,省时...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.