我正在尝试使用 nc 来调试一些网络问题(但最终调试 nc 本身)。
我在 ec2 安全组中有相关的端口(面向全世界)开放。当我在 ec2 服务器上运行以下任一命令时:
nc -n -v -v -l <private IP address> -p 4161
Run Code Online (Sandbox Code Playgroud)
或者
nc -n -v -v -l <public IP address> -p 4161
Run Code Online (Sandbox Code Playgroud)
然后从任何其他服务器(在 EC2 上或在我的本地办公网络中):
nc -n -v -v <public IP address> 4161
Run Code Online (Sandbox Code Playgroud)
我在服务器上得到以下信息(然后退出):
listening on [any] 4161 ...
invalid connection to [<private IP address>] from (UNKNOWN) [<remote IP address>] 54002
Run Code Online (Sandbox Code Playgroud)
在客户端(然后也退出):
(UNKNOWN) [<public IP address>] 4161 (?) open
sent 0, rcvd 0
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我怀疑这与 EC2 实例具有公共和私有 IP 地址这一事实有关,但我对如何使其工作感到困惑?
叹
从未失败。一旦我向 serverfault 发布问题,片刻之后我就自己找到了答案......
省略服务器 netcat 的 IP 地址会处理它:
nc -n -v -v -l -p 4161
Run Code Online (Sandbox Code Playgroud)