怎么可能netstat -a | grep 8081
显示这个:
localhost.8081 *.* 0 0 49152 0 LISTEN
*.8081 *.* 0 0 49152 0 LISTEN
我不太明白这意味着第二个条目。
UPDATE_1:我检查过两个不同的进程正在侦听 8081...我曾经认为这是不可能的。一个进程是 Jboss,其 8081 端口用于服务浏览器请求,另一个进程是 Gitblit GO(它可以在 JAR 中嵌入服务器),其 8081 端口用于关闭。
答案1
我做了以下实验来说明我上面的评论。我使用netcat
命令实现了两个简单的TCP服务器。我的secnario与你的有点不同,因为我明确绑定到公共IP而不是*:8081
# Terminal 1
$ nc -kl 127.0.0.1 24482
在单独的终端中:
# Terminal 2
$ nc -kl <public_ip> 24482
从本地主机上的另一个终端:
# Terminal 3
$ telnet localhost 24482
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
hi
^]
telnet> q
Connection closed.
之后,我hi
在 1 号航站楼看到了。
接下来,从远程节点:
# Terminal 4 (on remote node)
$ telnet <public_ip> 24482
Trying <public_ip>...
Connected to <public_ip>.
Escape character is '^]'.
ho
^]
telnet> q
Connection closed.
之后,我ho
在 2 号航站楼看到了。
我怀疑这是您会看到的行为,尽管我没有可用于测试它的 Solaris 环境。