Solaris 内置了 TCP 连接命令,无需任何 telnet 功能

Solaris 内置了 TCP 连接命令,无需任何 telnet 功能

有时telnet用于测试非 telnet 服务器,例如 HTTP 或 SMTP 服务器,其中 TELNET 协议通常不会妨碍。但是,我认为我在调试 TCP 服务器时遇到过妨碍的情况。我运行

telnet 本地主机 < 数据文件

服务器收到的数据与文件中的数据不同。

是否有我可以使用的 telnet 选项或其他命令?

如果必须单独安装,那我就不要了。不用也行。

答案1

嗯,实际上它被称为netcat并且不是 Solaris 的内置程序。但是如果您使用 bash 或 zsh(或者可能是其他程序),您还有另一种选择:

男子猛击:

Bash handles several filenames specially when they are  used
in redirections, as described in the following table:
     /dev/tcp/host/port
          If host is a valid hostname or  Internet  address,
          and  port  is  an  integer  port number or service
          name, bash attempts to open a  TCP  connection  to
          the corresponding socket.

答案2

我想是吧netcat?有一个包裹这里。但是 Sun 默认不提供此功能。您对软件包有什么不满吗?

答案3

正如 poige 所说:您可以使用 /dev/tcp// 设备。以下是示例:

bash-3.2$ cat </dev/null >/dev/tcp/1.2.3.4/22; echo $?
0
bash-3.2$ cat </dev/null >/dev/tcp/1.2.3.4/1522; echo $?
bash: connect: Connection timed out
bash: /dev/tcp/1.2.3.4/1522: Connection timed out
1

您可能为此编写了一个小型 bash 脚本。TCP 超时后会出现“超时”消息,我通常将其设置为 4 分钟。这很长……

答案4

也许吧tcpdump?但这显然不重要……

相关内容