使用netcat时更改端口

使用netcat时更改端口

手册指示使用 -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)端口。这足以使该工具正常工作。

相关内容