问题发生背景:
一般在刚入职需要对自己公司的整个IT环境要有一个大致了解,在1-2个月后需要对开启的端口有一个清晰的认识,这个端口是做什么用的,是否是非法开启的端口,自己要心中有数否则被未知的木马通过某个陌生的端口给黑掉就尴尬了。因此作为运维人员需要对公司的每台机器开放的端口有一个清晰的认识,同时要具备面对陌生的端口怎么去判断这个端口对应怎样的服务,该服务是否非法等的能力。
需要使用的命令:
ss -tnl 显示所有tcp已被监听的端口
lsof -i:端口 显示所有打开该端口的进程
工作实例:
某天通过ss -tnl发现有不认识的正在被监听的端口
对于49994端口我不知道它是干嘛的,于是使用lsof -i命令查看该端口都打开了哪些进程
这里发现该端口对应的是rpc.statd命令。
(如果提示没有该命令记得yum install -y lsof)
如果大家不认识rpc.statd,一个很简单的方法就是baidu
通过baidu可以知道该命令是nfslock服务的一个进程,如果想将该端口关闭只需要关闭nfslock服务即可
service nfslock stop
再执行ss -tnl发现49994端口消失
今后若遇到未知的端口可以使用上面的方法进行判断。