技术提示:使用 bash 进行 TCP/IP 访问

当需要从命令行获取网络数据时,我们大多数人默认使用wget, curl, netcat等等,却不知道,或者可能忘记了bash通常通过从/dev/proto/host/port.

重定向来提供我们需要的支持。

  $ cat </dev/tcp/time.nist.gov/13

  55103 09-09-29 17:58:55 50 0 0   0.0 UTC(NIST) *

例如

从 NIST Internet Time Service 服务器读取 Daytime 协议 (RFC-867) 中的时间(文档位于 tf.nist.gov/service/its.htm)。

高级 Bash 脚本指南的第 27 章包含了一些更复杂的例子,涵盖了发送协议请求、获取网页,甚至使用 UDP。

编者注:如果这不适用于您,请务必阅读下面的评论,此选项并非在所有发行版(其中包括某些版本的 Ubuntu)中都启用。