Gar*_*son 25 networking linux nagios netstat opsview
我在打开网络端口时遇到了奇怪的情况。我的主要问题是,为什么没有与开放 TCP 端口关联的程序:
netstat -ln --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN -
Run Code Online (Sandbox Code Playgroud)
对于我的特定情况,应该有一个 nrpe 守护程序(opsview 安装)侦听端口 5666,但没有运行 nrpe 守护程序。如果我尝试启动它,它会立即退出。
lsof -i :5666也不显示任何输出。我的系统上没有运行 (x)inetd。
更新
是的,我以 root 身份运行这些命令。Telnet 可以,但从来没有任何响应。
经过进一步调查,我发现了一个内核错误dmesg:这是一个运行较旧内核的 EC2 实例(实际上是其中几个)(2.6.16 显然不稳定)。停止崩溃的修复方法是升级内核。
看起来内核崩溃的方式导致进程消失并保持端口打开。
Kyl*_*ndt 28
您是否以 root 或 sudo 身份运行 netstat 和 lsof?注意最后一列:
netstat -ln --program
tcp 0 0 192.168.21.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
sudo netstat -ln --program
tcp 0 0 192.168.21.1:53 0.0.0.0:* LISTEN 2566/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2566/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3125/sshd
Run Code Online (Sandbox Code Playgroud)
从 netstat 联机帮助页:
您还需要超级用户权限才能查看有关您不拥有的套接字的信息。
你怎么知道没有人跑?如果端口正在使用中,它会立即退出并显示“正在使用的套接字”错误。当你 telnet 到端口时会发生什么?
telnet localhost 5666
Run Code Online (Sandbox Code Playgroud)