Linux查(chá)看端口狀(zhuàng)態(tài)及關閉端口方法
前提:首先你必須知(zhī)道,端口不是獨(dú)立存在的,它是依附(fù)於進程的。某個進程開啟(qǐ),那麽它對(duì)應的端口就開啟了,進程(chéng)關閉(bì),則該端口也就關閉了。下次(cì)若(ruò)某(mǒu)個進程再次開啟,則相(xiàng)應的(de)端口也(yě)再次開(kāi)啟。而(ér)不要(yào)純粹的(de)理解為關(guān)閉掉某個端口,不過可以禁用某個端(duān)口。
1. 可(kě)以通過"~$ netstat -anp" 來(lái)查看哪(nǎ)些(xiē)端口被打(dǎ)開。
(注:加參數(shù)'-n'會將應用程序轉為端口顯示,即數字(zì)格式的(de)地址,如:nfs->2049, ftp->21,因此可以開啟兩個終端,一(yī)一對應一(yī)下(xià)程(chéng)序所對應的端口號)
2. 然後可以通過"~$ lsof -i:$PORT"查看應用該端口的程序(xù)($PORT指對應的端口號)。或者你也可以查看文件/etc/services,從裏麵可以找出端口所(suǒ)對應的服務。
(注:有些端口通(tōng)過netstat查不出來,更(gèng)可靠的方法是"~$ sudo nmap -sT -O localhost")
3. 若要關閉某個端口,則可以:
1)通過iptables工(gōng)具將該端(duān)口禁掉,如:
"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者關掉對(duì)應的應用程序,則端(duān)口就自然關閉了,如:
"~$ kill -9 PID" (PID:進程號)
如(rú): 通過(guò)"~$ netstat -anp | grep ssh"
有顯示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
則(zé): "~$ kill -9 7546"
(可通過"~$ chkconfig"查看係(xì)統服務的開啟狀態)
關鍵(jiàn)詞:Linux
閱(yuè)讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 7
- 1
- 1
- 1
- 26