Coaku:
Linux下面貌似沒有什么直接開啟或者關閉端口的命令,因為若僅僅只是開啟了端口而不把它與進程相聯(lián)系的話,端口的開啟與關閉就顯得毫無意義了(開了端口卻沒有程序處理進來的數(shù)據(jù))。也就是說,Linux里面端口的活動與進程是緊密相連的,如果想要關閉某個端口,那么只要殺掉它對應的進程就可以了。
例如要關閉22號端口:
$ netstat -anp | grep :22
tcp 0 00.0.0.0:22 0.0.0.0:* LISTEN 1666/sshd
# -a 顯示所有活動的TCP連接,以及正在監(jiān)聽的TCP和UDP端口
# -n 以數(shù)字形式表示地址和端口號,不試圖去解析其名稱(number)
# -p 列出與端口監(jiān)聽或連接相關的進程(有個地方需要注意,下面會提到)(pid)
知道了22號端口對應的進程ID 1666,只要:
$ kill 1666
即可。
其中“-p”選項需要注意一個權(quán)限的問題,如果在普通用戶登錄的shell里面執(zhí)行netstat命令,那么只能列出擁有該普通用戶權(quán)限的相關進程,如果想要看到所有的端口情況,最好還是切到root。
附帶幾個netstat常用選項用法:
$ netstat -tn #列出所有TCP協(xié)議的連接狀態(tài)
# -t 只顯示與TCP協(xié)議相關的連接和端口監(jiān)聽狀態(tài),注意和-a有區(qū)別(tcp)
$ netstat -tuln #列出所有inet地址類的端口監(jiān)聽狀態(tài)
愛華網(wǎng)




