Centos查看端口占用情況和開啓端口命令


Centos查看端口占用情況命令,比如查看80端口占用情況使用如下命令:

 

lsof -i tcp:80

 

列出所有端口

 

netstat -ntlp

 

1、開啓端口(以80端口爲例)

 

      方法一:

 

         /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT   寫入修改

 

         /etc/init.d/iptables save   保存修改

 

        service iptables restart    重啓防火牆,修改生效

 

       方法二:

 

       vi /etc/sysconfig/iptables  打開配置文件加入如下語句:

 

       -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT   重啓防火牆,修改完成

 

 

 

2、關閉端口

 

     方法一:

 

         /sbin/iptables -I INPUT -p tcp --dport 80 -j DROP   寫入修改

 

         /etc/init.d/iptables save   保存修改

 

        service iptables restart    重啓防火牆,修改生效

 

       方法二:

 

       vi /etc/sysconfig/iptables  打開配置文件加入如下語句:

 

       -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP   重啓防火牆,修改完成

 

 

 

3、查看端口狀態

 

      /etc/init.d/iptables status


有時啓動應用時會發現端口已經被佔用,或者是感覺有些端口自己沒有使用卻發現是打開的。這時我們希望知道是哪個應用/進程在使用該端口。

CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不過參數會不同

Linux:

netstat -nap #會列出所有正在使用的端口及關聯的進程/應用
lsof -i :portnumber #portnumber要用具體的端口號代替,可以直接列出該端口聽使用進程/應用

一、檢查端口被哪個進程佔用

netstat -lnp|grep 88   #88請換爲你的apache需要的端口,如:80


SSH執行以上命令,可以查看到88端口正在被哪個進程使用。如下圖,進程號爲 1777 。


apache-port-1.jpg

二、查看進程的詳細信息

ps 1777

 SSH執行以上命令。查看相應進程號的程序詳細路徑。如下圖。

 apache-port-2.jpg

三、殺掉進程,重新啓動apache

kill -9 1777        #殺掉編號爲1777的進程(請根據實際情況輸入)
service httpd start #啓動apacheWindows系統:


SSH執行以上命令,如果沒有問題,apache將可以正常啓動。

netstat -nao    #會列出端口關聯的的進程號,可以通過任務管理器查看是哪個任務

最後一列爲程序PID,再通過tasklist命令:tasklist | findstr 2724

再通過任務管理kill掉這個程序.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章