一种验证网络端口连通性的轻量级方法
如果您已安装 Linux 命令 netcat
建立两个终端会话。
-
在第一个终端会话中,从 Linux 命令行/提示符运行
$ nc -l -p 5000
并启动一个在主机上监听 5000 端口的进程。如果能够建立连接,您的终端窗口将换到下一行并等待来自另一个 nc 命令的消息。
如果该端口已经被其他 Linux 进程占用,您将收到错误信息。
nc: Address already in use
-
在第二个终端会话中,从 Linux 命令行/提示符运行
$ nc -v <hostname> 5000
将 <hostname> 替换为第一个终端会话所在机器的内部 IP 地址或主机名。此命令将尝试连接该 <hostname> 的 5000 端口。如果连接成功,您的终端窗口会显示如下信息并换到下一行
Connection to <hostname> 5000 port [tcp/*] succeeded!
此时如果输入文本,例如 Hello,回车后您应当在第一个终端窗口看到相同的文本。只要在第一个终端窗口看到该文本,即表明连通性已成功验证/建立。
如果连接不成功,您可能会收到类似以下的错误信息
nc: getaddrinfo: Temporary failure in name resolution nc: connection refused
如果 netcat 未安装,可以运行
` echo > "/dev/tcp/<hostname/<port>") >/dev/null 2>&1 && echo "CAN CONNECT" || echo "CANNOT CONNECT"`
将 <hostname> 替换为机器的主机名,将 <port> 替换为要连接的端口。例如
` echo > "/dev/tcp/production.neo4j.com/5001") >/dev/null 2>&1 && echo "CAN CONNECT" || echo "CANNOT CONNECT"`
如果能够建立连接,则会看到 CAN CONNECT;如果不能,则会看到 CANNOT CONNECT
上述命令能够工作,需要保证 <hostname> 和 <port> 已打开并处于 LISTEN 状态。通常在 Neo4j 启动后会满足此条件。
此页面有帮助吗?