通常,当我想检查给定机器的外部IP地址时,我只是简单地curl一些外部网站,它发送给我一个回复,告诉我我的IP地址在其中显示了什么。但是,我注意到ifconfig也列出了我的外部IP地址。
ifconfig是否在web上有某种“规范”的源来发送请求来确定机器的IP地址,或者它是否有其他方法来查找机器的IP地址?
发布于 2013-11-20 23:59:05
配置外部地址是ifconfig的工作。它只是读取它写入地址的内核数据结构。即使您的计算机与网络断开连接,它也能工作。当计算机与网络隔离时,ifconfig可以完全配置网络,如果配置正确,一旦网络电缆连接,网络就会运行。
环回地址127.0.0.1配置在即使计算机中没有安装网卡也存在的软件设备上。这允许使用TCP和UDP等协议进行本地连接。这简化了软件开发,因为不需要为本地连接提供特殊服务。
编辑:ifconfig通常不会知道您是否配置了已经在使用的IP地址。如果网络接口连接到因特网,则可以通过ARP网络查看地址是否正在使用。这不是ifconfig所必需的特性,具有相同IP地址的多台计算机并不少见。如果ifconfig或其他软件确定配置的地址不正确,通常的响应是发出警告消息。
ifconfig也有可能为错误的网络配置设备。用户有责任确保提供给ifconfig的配置是正确的。还有其他工具执行与ifconfig相同的功能,并应用相同的限制。
为专用网络定义了三个IP地址范围。您的地址范围为10.0.0.0/8、172.16.0.0/12和192.168.0.0/16。在这些地址范围内配置计算机是很常见的。在这种情况下,他们的IP地址将不同于他们在互联网上的“公共”IP地址。“公共”IP地址属于连接到Internet的设备,该设备执行网络地址转换(NAT),以允许私有网络上的计算机与Internet通信。家庭网络上的计算机几乎总是有一个专用的网络地址。大多数家庭路由器将在本地(专用)网络上为计算机执行NAT。
发布于 2015-01-11 14:39:11
如果您在NAT后面,ifconfig无法显示您的“外部”IP地址。它只将DHCP服务器提供的地址配置到您的网络接口。如果您需要知道您的外部IP地址,您应该访问诸如https://ipof.in/txt这样的服务。
https://unix.stackexchange.com/questions/101996
复制相似问题