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