$ nc localhost -p 1055
nc: missing hostname and port
usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [--apple-delegate-pid pid] [--apple-delegate-uuid uuid]
[-s source_ip_address] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
-p
指定源端口。通常情况下,您不需要指定它。此外,在同一端口上的同一台计算机上的套接字的源和目标不能相同。通常情况下,无需指定源端口。
最后,1024以下的端口只能由root分配。像大多数Linux专业人员一样,除非我确实需要,否则我不会以root身份运行任何东西,因此我将其更改为1055以进行演示。每个终端窗口中都有一个nc,在其中一个中键入消息,另一侧会打印出来。观察:
$ nc -l 1055
hi world
hi yourself, world!
$ nc localhost 1055
hi world
hi yourself, world!
-e
选项是某些 netcat 实现中 exec
的简写。 - jDo-l
的作用),另一方面连接。如果成功,您就建立了一个双向 TCP 连接(假设您没有使用 UDP),主从关系实际上不存在了。Netcat 有许多版本,您的问题很可能是由 -p
标志引起的(通过测试 Dan Farrell 的示例来确认;如果它可以工作,您和您的老师可能正在使用不同版本的 Netcat)。 - jDo服务器:nc -l ${port} > ${file}
本地:nc ${ip} -z ${port} < ${file}