3:lsof工具检测开放端口
[root@DB-ServerServer]#servicemysqlstart
StartingMySQL......[OK]
[root@DB-ServerServer]#lsof-i:3306
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
mysqld7860mysql15uIPv644714TCP*:mysql(LISTEN)
[root@DB-ServerServer]#servicemysqlstop
ShuttingdownMySQL..[OK]
[root@DB-ServerServer]#lsof-i:3306
[root@DB-ServerServer]#

[root@DB-ServerServer]#lsof-iTCP|fgrepLISTEN
cupsd3153root4uIPv49115TCPlocalhost.localdomain:ipp(LISTEN)
portmap3761rpc4uIPv410284TCP*:sunrpc(LISTEN)
rpc.statd3797rpcuser7uIPv410489TCP*:1011(LISTEN)
sshd4020root3uIPv612791TCP*:ssh(LISTEN)
sendmail4042root4uIPv412876TCPlocalhost.localdomain:smtp(LISTEN)
  4:使用telnet检测端口是否开放
  服务器端口即使处于监听状态,但是防火墙iptables屏蔽了该端口,是无法通过该方法检测端口是否开放的。
  5:netcat工具检测端口是否开放。
[root@DB-Server~]#nc-vv192.168.42.1281521
Connectionto192.168.42.1281521port[tcp/ncube-lm]succeeded!
[root@DB-Server~]#nc-z192.168.42.1281521;echo$?
Connectionto192.168.42.1281521port[tcp/ncube-lm]succeeded!
0
[root@DB-Server~]#nc-vv192.168.42.1281433
nc:connectto192.168.42.128port1433(tcp)failed:Noroutetohost
  关闭端口和开放端口
  关闭端口和开放端口应该是两种不同的概念,每个端口都有对应的服务,因此要关闭端口,只要关闭相应的服务可以了。像下面例子,开启了MySQL服务,端口3306处于监听状态,关闭MySQL服务后,端口3306自然被关闭了
[root@DB-ServerServer]#servicemysqlstart
StartingMySQL......[OK]
[root@DB-ServerServer]#lsof-i:3306
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
mysqld7860mysql15uIPv644714TCP*:mysql(LISTEN)
[root@DB-ServerServer]#servicemysqlstop
ShuttingdownMySQL..[OK]
[root@DB-ServerServer]#lsof-i:3306
[root@DB-ServerServer]#
  所以,系统里面有些不必要的端口和服务,从安全考虑或资源节省角度,都应该关闭那些不必要的服务。关闭对应的端口。另外,即使服务开启,但是防火墙对对应的端口进行了限制,这样端口也不能被访问,但端口本身并没有关闭,只是端口被屏蔽了。