使用 iptables nmap 外部本地主机

使用 iptables nmap 外部本地主机

我有一个状态监视器,希望使用 nmap 设置它来显示所有对外开放的端口。我自然想到了 nmap。

不幸的是,我使用 iptables 防火墙并允许环回接口上的所有流量。我想要这个并且需要这个,因为我可能在 apache 上进行 Web 开发。我不希望该端口一直向外界开放(有时我会这样做),并且我为多个服务这样做,因此仅将它们设置为在环回接口上监听可能太麻烦了。

我希望有一种方法可以在同一台计算机上扫描 nmap,而无需另一台计算机参与。这通常不是问题,但这台计算机是一台笔记本电脑,可以放在许多不同的环境中。

我在想类似的事情:

nmap -e wlan0 -PN localhost

但这不起作用(当一个打开时显示所有内容都已关闭)并且执行时间太长。

以下是我当前的 iptables 规则。没有什么特别的,我也愿意听取与 iptables 相关的建议。

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

答案1

我通过操作 iptables 解决了这个问题。

显然 iptables 会影响 nmap,但我有一条规则:

iptables -A INPUT -i lo -j ACCEPT

接受所有环回连接。

对于外部连接,可以按照以下方法解决:

iptables -D INPUT -i lo -j ACCEPT
nmap localhost
iptables -I INPUT 1 -i lo -j ACCEPT

相关内容