我一直试图用Linux来改进我的方式,首先,放弃netstat用于ss.我在ss手册页中查找了我最喜欢的netstat命令行标志,并且非常高兴地发现netstat -lnp与ss -lnp的命令大致相同.或者我认为……
# ss -lnp | grep 1812
没什么,但是
# netstat -lnp | grep 1812
udp 0 0 0.0.0.0:1812 0.0.0.0:* 11103/radiusd
确实.这一事实使得特定的故障排除变得更加困难.
现在我试图理解我应该如何使用ss来验证守护进程正在监听.
有人可以解释一下吗?
编辑:
# ss --version
ss utility, iproute2-ss090324
# ss -aunp | grep radi
UNCONN 0 0 *:50482 *:* users:(("radiusd",11103,11))
UNCONN 0 0 127.0.0.1:18120 *:* users:(("radiusd",11103,9))
UNCONN 0 0 *:1812 *:* users:(("radiusd",11103,6))
UNCONN 0 0 *:1813 *:* users:(("radiusd",11103,7))
UNCONN 0 0 *:1814 *:* users:(("radiusd",11103,10))
# ss -lnp | grep radi
#
解决方法:
最新版本的ss也应该以这种方式显示UDP侦听器.您可以使用ss -unlp将UDP限制为UDP.
我已经尝试了最近的Debian版本,其中ss –version报告ss实用程序,iproute2-ss140804,这确实有效.
在具有ss实用程序的Red Hat 5系统上,iproute2-ss061002没有.你可以使用ss -aunp获得更多信息,尽管它也显示了连接的端口.
你也可以尝试:
ss -apu state unconnected 'sport = :1812'