我如何知道我的计算机是不是在 NAT 之后? [关闭]

Posted

技术标签:

【中文标题】我如何知道我的计算机是不是在 NAT 之后? [关闭]【英文标题】: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 【参考方案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(生存时间)字段的两个观察结果。

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

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

【讨论】:

以上是关于我如何知道我的计算机是不是在 NAT 之后? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何识别 NAT 后面的服务器 Socket 端口

NAT模式下为啥我的虚拟机可以PING通主机而主机PING 不通虚拟机?防火墙关了,ip也是在同一网段!

获取NAT转换的IP和某些本地端口的端口

idea 代码提示 点出第一个字母闪一下提示就消失

在 NAT 后的两台计算机之间建立连接

Android,我如何获得我的 NAT 地址?