七和博客七和博客

Hi, 请登录     注册    退出

Linux查看端口使用状态和关闭端口方法

Linux查看端口使用状态、关闭端口方法


1. 可以通过"netstat -anp" 来查看哪些端口被打开。

(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号)

2. 然后可以通过"lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。

(注:有些端口通过netstat查不出来,更可靠的方法是"sudo nmap -sT -O localhost")

3. 若要关闭某个端口,则可以:

1)通过iptables工具将该端口禁掉,如:

"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"

"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"    

2)或者关掉对应的应用程序,则端口就自然关闭了,如:

"kill -9 PID" (PID:进程号)

如:    通过"netstat -anp | grep ssh"

有显示:    tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh

则:    "kill -9 7546"

 

 vi /etc/sysconfig/iptables 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)

特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面


添加好之后防火墙规则如下所示:

###################################### 
# Firewall configuration written by system-config-firewall 
# Manual customization of this file is not recommended. 
*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT 
-A INPUT -j REJECT –reject-with icmp-host-prohibited 
-A FORWARD -j REJECT –reject-with icmp-host-prohibited 
COMMIT 
#####################################
/etc/init.d/iptables restart

 #最后重启防火墙使配置生效


未经允许不得转载:七和博客 » Linux查看端口使用状态和关闭端口方法
加载中~