我正在一个公开网站上执行traceroute
(出于好奇,我也尝试过curl
,但这只是停滞)(所以我知道我的计算机应该能够并且被允许访问它)。但是,当我执行该操作时,traceroute
它会停在我认为是网站服务位置的位置(whois
此 IP 上的 a 显示母公司的注册公司地址,奇怪的是,子网站否认它是直接附属公司)尽管很容易有合法的原因),它还要经过大约 16 跳才能到达最终目的地,所有这些都用星号标出......
现在,由于我对这些东西的了解相当有限,我开始相信最可能的解释是内部网络上存在某种 IP 或端口过滤,从而阻止了探测器traceroute
,但我想知道是否有一种找出这些探测器被阻止的原因以及确切的过滤器/防火墙设置是什么的方法,而无需实际访问任何我不应该访问的内容(即确保我只检索已经从服务器公开提供的信息) 。
我尝试过各种不同的traceroute
标志,但到目前为止还没有任何乐趣。例如,该-p
标志给出:
Cannot handle `-p' option with arg `[sitename.co.uk]' (argc 2)
我使用的是 Fedora 24。
答案1
您可以尝试深入研究,输出man traceroute
中有星号主机的解释。traceroute
这基本上意味着路由器要么没有发送 ICMP“超时”(由于防火墙规则、某些特定软件等),要么数据包的 TTL 太小而无法返回给您。
我猜想阻止某些类型的 ICMP 数据包可能是公司/数据中心安全策略的一部分,这些公司/数据中心不希望别人知道他们的内部设置。
答案2
一些 ISP 使用私有 IP 地址空间来路由其网络内部的流量。然后他们在网络边界上过滤私有IP地址。这就是为什么如果您位于这些网络之外,则看不到这些网络内部的路由器。它通常与 MPLS 技术一起使用。