使用iptables阻止端口后如何列出所有打开的端口?

pur*_*tel 6 linux security iptables

我使用这些命令来阻止所有端口并只允许某些特定端口。

iptables -F  
iptables -X  
iptables -P OUTPUT ACCEPT  
iptables -P FORWARD ACCEPT  
iptables -A INPUT -i lo -j ACCEPT  
iptables -A OUTPUT -o lo -j ACCEPT  
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT  
iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT  
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE    
iptables -A FORWARD -j ACCEPT    
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
/sbin/iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT    
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT  
/sbin/iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT  
/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT  
/sbin/iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT    
/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT  
/sbin/iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT    
iptables -A INPUT -p gre -j ACCEPT      
iptables -A INPUT -j DROP  
iptables -A OUTPUT -j DROP  
Run Code Online (Sandbox Code Playgroud)

这使用 iptables 来阻止除 80、22、443、1723 之外的所有端口。

我可以使用什么命令来检查哪些端口是开放的?

Ker*_*uch 7

您可以使用nmap.

例如 :

nmap -p 1-65535  127.0.0.1
Run Code Online (Sandbox Code Playgroud)

会发现在范围内的所有开放端口165535。最后一个数字是端口可以拥有的最大值。