不使用 ssh 是否可以 ping 远程 Linux 机器?

不使用 ssh 是否可以 ping 远程 Linux 机器?

我正在尝试在不使用的情况下对远程 Linux 机器进行 Poke/ping 操作ssh。还有其他实用程序可以执行此操作吗?

补充:如果无需提供远程机器的密码就可以进行 poke,那将会非常有帮助。这可能吗?


更新:我了解了writewall工具。有人知道如何使用它们吗?

答案1

knockd可能是你的答案。

服务器部分:


  1. 安装knockd-->sudo apt-get install knockd
  2. 编辑配置文件-->sudo nano /etc/knockd.conf您也可以使用geditvi
  3. 编辑后配置文件应如下所示:

    [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是敲击时要执行的命令。

  4. 编辑启动文件-->sudo nano /etc/default/knockd
    在此文件中,你只需要更改START_KNOCKD=0START_KNOCKD=1

  5. 重新加载knockd以应用更改sudo /etc/init.d/knockd reload

客户端部分:


只需按照该顺序 telnet 服务器端口,命令就会执行

telnet MYSERVER 1111
telnet MYSERVER 2222

您还可以使用该knock实用程序:

knock MYSERVER 1111 2222

最后说明


  • 您还可以查看指定区域中的连接Logfile(例如/var/log/knockd.log
  • 您可以使用更复杂的端口组合(即5555,5050,3333,3030
  • 您可以在以下位置阅读完整文档开发者网页
  • 您可以阅读关于Ubuntu 社区

答案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 上,反之亦然。

相关内容