我正在学习 Nmap,我想到了关于 SYN 扫描的想法......
SYN 扫描发送一个空的 TCP 数据包,其中设置了 SYN 标志,以非法接收来自 RST(指示端口已关闭)或 SYN/ACK(指示端口打开)的目标的响应。
如果端口受到 IPTABLES 的防火墙保护,则 Nmap 要么收到主动 REJECT 响应,要么 IPTABLES 将丢弃数据包并且根本不响应。无论哪种方式,Nmap 都会将该端口指定为“已过滤”,并导致人们相信该端口是开放的。
我的问题是……你能让 IPTABLES 在过滤的端口上发回 RST,而不是仅仅拒绝或删除吗?
我的想法是,如果这是可能的,那么您可以欺骗 Nmap -sS 扫描来报告过滤的端口实际上已关闭。
感谢您对此的任何帮助。
答案1
您可以使用 发回 RST iptables -p tcp [...] -j REJECT --reject-with tcp-reset
。
不过,我怀疑让 nmap 说端口“关闭”而不是“过滤”是否有任何实际价值。主要是为了更快地拒绝连接,而不是等待超时(例如,使用-j DROP
)或有时不可靠的 ICMP 处理(使用其他--reject-with
选项)。