关于Nmap扫描IPv6地址时表现为本地扫描的原因咨询
关于Nmap扫描IPv6地址时表现为本地扫描的原因咨询
嗨,我来帮你拆解下这个问题,大概率是IPv6地址类型的问题导致的,咱们一步步看:
先检查你的域名AAA记录解析的IPv6地址类型
你可以先在本地运行nslookup -type=AAAA mywebsite.com或者dig AAAA mywebsite.com,看看解析出来的IPv6地址是什么段的。如果是fe80开头的链接本地地址,或者fc00/7段开头的唯一本地地址(ULA),那这些地址都是仅限本地/内部网络使用的,不属于公网IPv6地址。
Nmap扫描时如果识别到目标是本地IPv6地址,就会直接通过本地网络接口和端口通信,完全和扫localhost(127.0.0.1)的逻辑一样,所以能看到机器上所有开放的端口,而不是走公网链路去访问。公网IPv6和本地IPv6的访问逻辑差异
你的机器的公网IPv6地址一般是2000::/3段开头的。如果你的域名AAA记录没指向这个段的地址,那外部机器根本无法路由到这个本地IPv6地址,所以他们扫描时自然显示端口关闭——本质是连不上目标地址,不是端口真的开放但没响应。
而你自己扫的时候,因为解析到的是本地IPv6,Nmap直接和本地端口交互,所以能看到所有开放的端口,和IPv4扫描公网地址的结果完全不同。快速验证的方法
- 先找到自己机器的公网IPv6:运行
ip -6 addr,找标注scope global的那个地址(通常是2001:、2002:或者2a00:这类开头的)。 - 用这个公网IPv6做Nmap扫描:
nmap -6 -sV <你的公网IPv6地址>,这时候你会发现结果和IPv4扫描mywebsite.com的一致,只显示公网开放的端口。 - 最后检查域名的AAA记录配置,确保它指向的是你的公网IPv6地址,而不是本地的IPv6地址,这样外部机器扫描也能得到正确的结果。
- 先找到自己机器的公网IPv6:运行
备注:内容来源于stack exchange,提问作者JoelCrypto
相关产品推荐
相关产品推荐

