netstat/lsof/ss
pgsql port is visible by lsof
not netstat
or ss
k8s pod port is visible by netstat
not lsof
这种差异主要是因为 netstat 和 lsof 工作原理不同:
netstat 的工作方式:
- 主要通过读取 /proc/net/ 下的网络相关文件
- 显示的是系统网络栈中的连接信息
- 更关注传统的网络连接和套接字
lsof 的工作方式:
- 显示所有打开的文件描述符
- 包括常规文件、目录、网络套接字等
- 能看到更底层的文件描述符信息
对于 Docker 的端口代理(docker-proxy):
- 它使用的是比较底层的端口转发机制
- 可能不会在标准的网络栈中显示
- 但会创建文件描述符来处理连接