【问题标题】:How can I know if my computer is behind NAT? [closed]我如何知道我的计算机是否在 NAT 之后? [关闭]
【发布时间】:2014-02-10 13:45:03
【问题描述】:

我正在尝试了解 NAT(网络地址转换)。

谁能解释我如何确定我的计算机是否正在使用 NAT(在 NAT 之后),或者 如果它使用自己的 IP 地址?

【问题讨论】:

  • 访问 www.whatismyip.com。如果它显示的 IP 与您的 NIC 的 IP 不同,则说明您位于 NAT 后面。
  • 如果 NAT 是指任何 NAT,包括 WIFI 路由器,例如单击 windows 按钮,键入 cmd,单击命令提示符,键入 ipconfig 并按回车,看看它在 " IPv4 地址”。如果它以 192.168 OR 172.16-172.31 OR 10 开头 - 你在 NAT 上。但是,如果您的意思是您的 ISP 的 NAT,那么您将需要测试从您的计算机到 Internet 的步骤,这有点复杂。如果您使用的是 Windows 10,则可以使用 Penteract NAT Detector(在 Windows Store 上)。
  • @Barmar 如何检查我的 NIC 的 IP?
  • @SantoshKumar 在 Windows 上,打开命令提示符并使用 ipconfig

标签: networking nat


【解决方案1】:

Barmar 在 cmets 中所说的是最简单的方法。通过 HTTP 获取您的 IP 地址表明您位于 NAT 或 HTTP 代理服务器之后。 (我想您可能有一个公共 IP 地址,但您的设备配置为通过缓存代理路由 HTTP)。

可以使用STUN protocol 或等效协议完成正式的 NAT 检测和 NAT 分类,其中 UDP 或 TCP 服务将 IP 地址回显给与其连接的客户端。

如果您在 NAT 后面,另一个明显的迹象是您的本地 IP 地址在 private IP address range 范围内,例如 192.168.xy 范围、10.xyz 范围或 172.16.0.0-172.31.255.255 范围。

几乎任何 Wi-Fi 设置都将成为 NAT 配置。

【讨论】:

  • 是否可以在没有 NAT 的情况下设置 WiFi?
【解决方案2】:

NAT 检测技术基于关于 IP TTL(生存时间)字段的两个观察结果。

  1. 主机操作系统具有特征初始 TTL 值。 TCP/IP 的各个操作系统实现的这一特性是众所周知的,可以用作“指纹”的一部分,仅通过检查主机的流量来识别主机正在运行的操作系统。
  2. NAT 设备或网关会减少它们转发的数据包的 TTL。

更多详情请访问:http://www.sflow.org/detectNAT/

【讨论】:

    猜你喜欢
    • 2014-03-03
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多