我正在尝试在不使用的情况下对远程 Linux 机器进行 Poke/ping 操作ssh
。还有其他实用程序可以执行此操作吗?
补充:如果无需提供远程机器的密码就可以进行 poke,那将会非常有帮助。这可能吗?
更新:我了解了write
和wall
工具。有人知道如何使用它们吗?
答案1
knockd
可能是你的答案。
服务器部分:
- 安装
knockd
-->sudo apt-get install knockd
- 编辑配置文件-->
sudo nano /etc/knockd.conf
您也可以使用gedit
或vi
。 编辑后配置文件应如下所示:
[options] LogFile = /var/log/knockd.log Interface = wlan0 [sendMessage] sequence = 1111,2222 seq_timeout = 5 command = /usr/bin/env sh -c "echo 'Hello, World' | wall" tcpflags = syn
其中
Interface
,是监听网络接口,sequence
是端口敲击序列,command
是敲击时要执行的命令。编辑启动文件-->
sudo nano /etc/default/knockd
在此文件中,你只需要更改START_KNOCKD=0
为START_KNOCKD=1
重新加载
knockd
以应用更改sudo /etc/init.d/knockd reload
客户端部分:
只需按照该顺序 telnet 服务器端口,命令就会执行
telnet MYSERVER 1111
telnet MYSERVER 2222
您还可以使用该knock
实用程序:
knock MYSERVER 1111 2222
最后说明
答案2
您可以尝试nc
(netcat)通过网络发送/接收任何消息(文件也行)。
例如,计算机 A 的 IP 地址为 192.168.1.10,而计算机 B 的 IP 地址为 192.168.1.20。
首先在计算机 A 上打开一个端口,计算机 B 将连接到该端口:
$ nc -l 2000
现在计算机 A 将在端口 2000 上监听传入连接,您应该使用“0-1023”以外的任何端口,即众所周知的端口。
现在我们将从计算机B建立到计算机A的2000端口的连接:
$ nc 192.168.1.10 2000
现在计算机将连接起来,您可以从计算机 A 编写任何消息,这些消息将显示在计算机 B 上,反之亦然。