总结在linux下关闭端口占用的三种方法。
1.通过杀掉进程的方法来关闭端口占用。
每个端口都有一个守护进程,即每个端口都是一个进程占用着,只要找到这个守护线程并kill掉就可以了。
具体是用 netstat -anp |grep 命令找出占用这个端口的进程,然后用 kill -9 PID 命令杀掉该进程即可。
2.通过开启关闭服务的方法来开启/关闭端口。
因为每个端口都有对应的服务,因此要关闭端口只要关闭相应的服务就可以了。
linux中开机自动启动的服务一般都存放在两个地方:
/etc/init.d/文件夹下的服务:
这个文件夹下的服务都可以通过运行相应的script(脚本)来启动或关闭。
以yanggb服务为例:
启动yanggb服务的脚本是 ./yanggb start (打开了TCP 666端口)。
关闭yanggb服务的脚本是 ./yanggb stop (关闭TCP 666端口)。
查看yanggb服务当前状态的脚本是 ./yanggb? status (查看服务是否运行)。
/etc/xinetd.d/文件夹下的服务:
这个文件夹下的服务需要通过更改服务的配置文件,并重新启动xinetd才可以。
以auth服务为例:
要启动auth服务,需要打开/etc/xinetd.d/auth配置文件,更改 disable=no ,保存退出。
运行auth服务(重启服务使修改后的配置文件生效),执行命令: /etc/rc.d/init.d/xinetd restart 。
要停止auth服务,打开/etc/xinetd.d/auth配置文件,更改 disable=yes ,保存退出。
运行auth服务(重启服务使修改后的配置文件生效),执行命令: /etc/rc.d/init.d/xinetd restart 。
3.通过防火墙限制端口。
以下介绍的方法在Linux命令下使用,很简便。
开端口为: iptables -A INPUT -p $port -j ACCEPT 。
关端口则把ACCEPT改为DROP即可: iptables -A INPUT -p $port -j DROP 。
其中$port即为端口数字,iptables的具体用法可。