我通过端口5001设置了一条从windows10机器到linux机器的ssh隧道。我在linux机器上设置了一个netcat监听器,并通过从本地linux机器向它发送一条消息来验证它是否正确监听。我已经使用Putty (我已经做过一百万次了)通过端口5001设置了一条从Windows机器到linux机器的ssh隧道。当我在windows机器上运行netcat以详细模式发送消息时:
nc -vvv 127.0.0.1 5001 < message.txt连接超时,我收到消息:
kubernetes.docker.internal [127.0.0.1] 5001 (?) open我能想到的唯一与此相关的事情是我最近安装了"Docker Desktop For Windows“。我不知道为什么netcat会通过Docker,但它似乎是一个与Docker相关的问题。任何关于如何解决这个问题的想法都将不胜感激。
如果我禁用hosts文件中与kubernetes/docker相关的所有条目,并重新运行命令,我会得到:
myhost.mydomain.com [127.0.0.1] 5001 (?) open我可以看到5001端口正在我的windows机器上被监听,因为当我执行"netstat -an“时,我可以看到它:
TCP 127.0.0.1:5001 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5001 0.0.0.0:0 LISTENING
TCP [::1]:5001 [::]:0 LISTENING
TCP [::1]:5001 [::]:0 LISTENING发布于 2019-11-13 04:37:22
这不是您问题的确切答案,但我确信它将指导您解决ssh隧道问题。您可以停止ssh隧道并尝试netstat,以了解使用端口5001的服务对于示例I have list / grep localhost的所有连接:
C:\Users\myuser>netstat -ano | findstr "Proto" && netstat -ano | findstr "127.0.0.1"
Proto Local Address Foreign Address State PID
TCP 127.0.0.1:54235 127.0.0.1:62522 ESTABLISHED 11280
TCP 127.0.0.1:54451 127.0.0.1:54452 ESTABLISHED 12300
TCP 127.0.0.1:54452 127.0.0.1:54451 ESTABLISHED 12300
TCP 127.0.0.1:55337 0.0.0.0:0 LISTENING 6976
TCP 127.0.0.1:57147 0.0.0.0:0 LISTENING 13432
TCP 127.0.0.1:62522 0.0.0.0:0 LISTENING 4084
TCP 127.0.0.1:62522 127.0.0.1:54235 ESTABLISHED 4084
UDP 127.0.0.1:1900 *:* 12672
UDP 127.0.0.1:50292 *:* 832
UDP 127.0.0.1:54549 *:* 10680
UDP 127.0.0.1:56491 *:* 12316
UDP 127.0.0.1:57739 *:* 20800
UDP 127.0.0.1:58253 *:* 6976
UDP 127.0.0.1:58950 *:* 3116
UDP 127.0.0.1:60327 *:* 2128
UDP 127.0.0.1:64274 *:* 12672
C:\Users\myuser>
-a Displays all connections and listening ports.
-n Displays addresses and port numbers in numerical form.
-o Displays the owning process ID associated with each connection.然后使用PID,您可以找到导致我使用以下连接的示例的问题的原因
TCP 127.0.0.1:55337 0.0.0.0:0 LISTENING 6976
C:\Users\myuser>tasklist | findstr 6976
com.docker.proxy.exe 6976 Console 1 9,696 K
C:\Users\myuser>https://stackoverflow.com/questions/58825502
复制相似问题