a 表示所有
n 表示不查詢dns
t 表示tcp協定
u 表示udp協定
p 表示查詢佔用的程式
l 表示查詢正在監聽的程式
#这个表示查找处于监听状态的,端口号为3306的进程
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工具將該連接埠禁掉,如:
iptables -A INPUT -p tcp --dport $PORT -j DROP iptables -A OUTPUT -p tcp --dport $PORT -j DROP