1. 程式人生 > >Centos查看端口占用情況和開啟端口命令

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

詳細 配置 entos grep 文件 占用 sbin 防火 web

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要用具體的端口號代替,可以直接列出該端口聽使用進程/應用

1、檢查端口被哪個進程占用

代碼如下復制代碼

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

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

2、查看進程的詳細信息

ps 1777

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

3、殺掉進程,重新啟動apache

代碼如下復制代碼

kill -9 1777        #殺掉編號為1777的進程(請根據實際情況輸入)
service httpd start #啟動apache

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

Windows系統:

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

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

再通過任務管理結束掉這個程序就可以了

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