問題發生背景:運維
通常在剛入職須要對本身公司的整個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端口消失
從此若遇到未知的端口可使用上面的方法進行判斷。