centos 空闲端口,centos关闭端口命令

大家好,感谢邀请,今天来为大家分享一下centos 空闲端口的问题,以及和centos关闭端口命令的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

CentOS如何查看端口是被哪个应用/进程占用

有时启动应用时会发现端口已经被占用,或者是感觉有些端口自己没有使用却发现是打开的。这时我们希望知道是哪个应用/进程在使用该端口。

CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不过参数会不同

Linux:

netstat-nap#会列出所有正在使用的端口及关联的进程/应用

lsof-i:portnumber#portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用

一、检查端口被哪个进程占用

代码如下复制代码

netstat-lnp|grep 88#88请换为你的apache需要的端口,如:80

SSH执行以上命令,可以查看到88端口正在被哪个进程使用。如下图,进程号为 1777。

二、查看进程的详细信息

ps 1777

SSH执行以上命令。查看相应进程号的程序详细路径。如下图。

三、杀掉进程,重新启动apache

代码如下复制代码

kill-9 1777#杀掉编号为1777的进程(请根据实际情况输入)

service httpd start#启动apache

SSH执行以上命令,如果没有问题,apache将可以正常启动。

Windows系统:

netstat-nao#会列出端口关联的的进程号,可以通过任务管理器查看是哪个任务

最后一列为程序PID,再通过tasklist命令:tasklist| findstr 2724

再通过任务管理结束掉这个程序就可以了

centos查看端口占用情况

在CentOS系统中,管理员常常需要检查端口的占用情况,以确保系统的正常运行。"netstat"命令是常用的工具,用于查看端口的使用状态。以下是使用netstat进行操作的几个步骤:

首先,执行命令以查看所有端口的占用情况:

运行命令:

结果显示:

例如,3306端口被TCP协议的PID为10818的mysqld进程占用,状态为LISTEN,表示该端口正在监听连接。

1596端口则被UDP协议的PID为1596的chronyd进程占用,由于UDP协议无连接状态,状态显示为空。

接着,可以指定特定端口查询占用信息,如3306端口:

查询3306端口的占用记录:

如果需要进一步了解占用端口的程序详细信息,可以根据查询结果中PID找到对应进程:

例如,对于PID为10818的程序,可以查看详细信息:

netstat命令提供了多个参数选项,如-t(显示TCP端口)、-u(显示UDP端口)、-p(显示进程PID和名称)等,以满足不同需求。例如:

常用参数说明:

-t:显示TCP协议端口

-u:显示UDP协议端口

-l:显示监听中的套接字(默认)

-p:显示所属进程PID和名称

在查看套接字状态时,State列会显示套接字的不同状态,如ESTABLISHED、LISTEN等。对于详细状态解释,请参考:

状态说明:

...(省略状态详细解释)

通过这些步骤,管理员可以有效地监控和管理CentOS系统中端口的使用情况。

如何开放CentOS的端口

Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld。所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld。更多关于CentOs防火墙的最新内容,请参考Redhat官网。

一、iptables

1.打开/关闭/重启防火墙

开启防火墙(重启后永久生效):chkconfig iptables on

关闭防火墙(重启后永久生效):chkconfig iptables off

开启防火墙(即时生效,重启后失效):service iptables start

关闭防火墙(即时生效,重启后失效):service iptables stop

重启防火墙:service iptables restartd

2.查看打开的端口

/etc/init.d/iptables status

3.打开某个端口(以8080为例)

(1)开启端口

iptables-A INPUT-p tcp--dport 8080-j ACCEPT

(2)保存并重启防火墙

/etc/rc.d/init.d/iptables save

/etc/init.d/iptables restart

4.打开49152~65534之间的端口

iptables-A INPUT-p tcp--dport 49152:65534-j ACCEPT

同样,这里需要对设置进行保存,并重启防火墙。

5.其他打开方式

我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下

vi/etc/sysconfig/iptables

然后在文件中增加一行

-A RH-Firewall-1-INPUT-m state–state NEW-m tcp-p tcp–dport 8080-j ACCEPT

参数说明:

–A参数就看成是添加一条规则

–p指定是什么协议,我们常用的tcp协议,当然也有udp,例如53端口的DNS

–dport就是目标端口,当数据从外部进入服务器为目标端口

–sport数据从服务器出去,则为数据源端口使用

–j就是指定是 ACCEPT-接收或者 DROP不接收

二、firewalld

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld

2.禁用防火墙

systemctl stop firewalld

3.设置开机启动

systemctl enable firewalld

4.停止并禁用开机启动

sytemctl disable firewalld

5.重启防火墙

firewall-cmd--reload

6.查看状态

systemctl status firewalld或者 firewall-cmd--state

7.查看版本

firewall-cmd--version

8.查看帮助

firewall-cmd--help

9.查看区域信息

firewall-cmd--get-active-zones

10.查看指定接口所属区域信息

firewall-cmd--get-zone-of-interface=eth0

11.拒绝所有包

firewall-cmd--panic-on

12.取消拒绝状态

firewall-cmd--panic-off

13.查看是否拒绝

firewall-cmd--query-panic

14.将接口添加到区域(默认接口都在public)

firewall-cmd--zone=public--add-interface=eth0(永久生效再加上--permanent然后reload防火墙)

15.设置默认接口区域

firewall-cmd--set-default-zone=public(立即生效,无需重启)

16.更新防火墙规则

firewall-cmd--reload或firewall-cmd--complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态

添加规则,第二个需要断开连接,类似重启服务)

17.查看指定区域所有打开的端口

firewall-cmd--zone=public--list-ports

18.在指定区域打开端口(记得重启防火墙)

firewall-cmd--zone=public--add-port=80/tcp(永久生效再加上--permanent)

说明:

–zone作用域

–add-port=8080/tcp添加端口,格式为:端口/通讯协议

–permanent#永久生效,没有此参数重启后失效

阅读剩余
THE END