我通过 SSH 连接到虚拟机并寻找/proc/<pid>/net/tcp
我的 zsh shell。我看到这条线
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
...
3: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 19127 1 0000000000000000 100 0 0 10 0
除非我误解了这句话的意思,否则 zsh 正在侦听端口 22。我知道 zsh 进程是运行 sshd 的进程的后代,但 sshd 在分叉后不会关闭侦听套接字吗?
答案1
为什么 zsh 监听端口 22?
它不是。相反,您错误地解释了显示的信息:
/proc/pid/net/
显示有关进程所在的完整命名空间的网络信息,即不仅是特定进程保持打开状态的连接。您可能想改用lsof -n -p pid
。