netstat -nupl (UDP類型的端口)
netstat -ntpl (TCP類型的端口)ssh
a 表示全部tcp
n表示不查詢dns工具
t表示tcp協議.net
u表示udp協議blog
p表示查詢佔用的程序dns
l表示查詢正在監聽的程序進程
netstat -nuplf|grep 3306 //這個表示查找處於監聽狀態的,端口號爲3306的進程ip
Linux查看端口使用狀態、關閉端口方法get
http://blog.csdn.net/wudiyi815/article/details/7473097table
l 前提:首先你必須知道,端口不是獨立存在的,它是依附於進程的。某個進程開啓,那麼它對應的端口就開啓了,進程關閉,則該端口也就關閉了。下次若某個進程再次開啓,則相應的端口也再次開啓。而不要純粹的理解爲關閉掉某個端口,不過能夠禁用某個端口。
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"