Centos查看端⼝占⽤和开启端⼝命令
grep命令查看进程查看端⼝占⽤情况命令,⽐如查看80端⼝占⽤情况使⽤如下命令:
lsof -i tcp:80
列出所有端⼝
netstat -ntlp
1、开启端⼝(以80端⼝为例)
⽅法⼀:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写⼊修改
/etc/init.d/iptables save 保存修改
iptables restart 重启防⽕墙,修改⽣效
⽅法⼆:
vi /etc/sysconfig/iptables 打开配置⽂件加⼊如下语句:
-A INPUT -p tcp -m --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
有时启动应⽤时会发现端⼝已经被占⽤,或者是感觉有些端⼝⾃⼰没有使⽤却发现是打开的。这时我们希望知道是哪个应⽤/进程在使⽤该端⼝。
CentOS下可以⽤netstat或者lsof查看,下也可以⽤netstat查看,不过参数会不同
:
netstat -nap #会列出所有正在使⽤的端⼝及关联的进程/应⽤
lsof -i :portnumber #portnumber要⽤具体的端⼝号代替,可以直接列出该端⼝听使⽤进程/应⽤
1、检查端⼝被哪个进程占⽤
代码如下复制代码
netstat -lnp|grep 88 #88请换为你的需要的端⼝,如:80
SSH执⾏以上命令,可以查看到88端⼝正在被哪个进程使⽤。如下图,进程号为 1777 。
2、查看进程的详细信息
ps 1777
SSH执⾏以上命令。查看相应进程号的程序详细路径。如下图。
3、杀掉进程,重新启动
代码如下复制代码
kill -9 1777 #杀掉编号为1777的进程(请根据实际情况输⼊)
service start #启动apache
SSH执⾏以上命令,如果没有问题,apache将可以正常启动。
系统:
netstat -nao #会列出端⼝关联的的进程号,可以通过任务管理器查看是哪个任务
最后⼀列为程序PID,再通过tasklist命令:tasklist | findstr 2724
再通过任务管理结束掉这个程序就可以了
章⼆:
1stat -anp |grep 端⼝号
如下,我以3306为例,netstat -anp |grep 3306(此处备注下,我是以普通⽤户操作,故加上了sudo,如果是以root⽤户操作,不⽤加sudo 即可查看),如下图1:
图1
图1中主要看监控状态为LISTEN表⽰已经被占⽤,最后⼀列显⽰被服务mysqld占⽤,查看具体端⼝号,只要有如图这⼀⾏就表⽰被占⽤了。
2stat -nultp(此处不⽤加端⼝号)
该命令是查看当前所有已经使⽤的端⼝情况,如图2:
图2
图中可以看出我的82端⼝没有被占⽤
3stat -anp |grep 82查看82端⼝的使⽤情况,如图3:
图3
可以看出并没有LISTEN那⼀⾏,所以就表⽰没有被占⽤。此处注意,图中显⽰的LISTENING并不表⽰端⼝被占⽤,不要和LISTEN混淆哦,查看具体端⼝时候,必须要看到tcp,端⼝号,LISTEN那⼀⾏,才表⽰端⼝被占⽤了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论