Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux查看端口狀態及關閉端口方法

Linux查看端口狀態及關閉端口方法

日期:2017/2/7 16:55:06      編輯:Linux教程

前提:首先你必須知道,端口不是獨立存在的,它是依附於進程的。某個進程開啟,那麼它對應的端口就開啟了,進程關閉,則該端口也就關閉了。下次若某個進程再次開啟,則相應的端口也再次開啟。而不要純粹的理解為關閉掉某個端口,不過可以禁用某個端口。

1. 可以通過"~$ netstat -anp" 來查看哪些端口被打開。
(注:加參數'-n'會將應用程序轉為端口顯示,即數字格式的地址,如:nfs->2049, ftp->21,因此可以開啟兩個終端,一一對應一下程序所對應的端口號)
2. 然後可以通過"~$ lsof -i:$PORT"查看應用該端口的程序($PORT指對應的端口號)。或者你也可以查看文件/etc/services,從裡面可以找出端口所對應的服務。
(注:有些端口通過netstat查不出來,更可靠的方法是"~$ sudo nmap -sT -O localhost")
3. 若要關閉某個端口,則可以:
1)通過iptables工具將該端口禁掉,如:
"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者關掉對應的應用程序,則端口就自然關閉了,如:
"~$ kill -9 PID" (PID:進程號)
如: 通過"~$ netstat -anp | grep ssh"
有顯示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
則: "~$ kill -9 7546"

(可通過"~$ chkconfig"查看系統服務的開啟狀態)

Copyright © Windows教程網 All Rights Reserved