手册指示使用 -p 选项来输入端口。当我尝试使用它时,显示“无连接端口”。我正在连接到本地主机。但是当nc localhost 3000
使用的是而不是时,连接就完成了nc localhost -p 3000
。连接到本地主机时是否有所不同,或者我错误地解释了手册?
答案1
一个连接有两个端点。
nc
绑定到某个本地地址和端口,这是本地端点。本地端口可以是自动分配或者您可以请求特定端口,这就是-p
用途。您可以使用也可以不使用-p
。
nc
尝试连接到某个地址和端口,这是远程端点。由nc host port
您指定远程地址和端口。您必须指定远程端口,否则该工具不知道连接到哪里(例如no port to connect
)。
在nc localhost -p 3000
远程端是 atlocalhost
但这没有任何改变。该工具不关心地址是localhost
或什么,它需要知道一个地址和一个港口连接到。这些都是强制性的。您告诉了它地址,但没有告诉它要连接的端口(因此no port to connect
)。您告诉它要绑定的端口,这是可选的。
您可以nc localhost 3000
准确指定连接到的位置。没有-p
,该工具绑定到某个随机(-ish)端口。这足以使该工具正常工作。