如何获取我的计算机外部IP地址
How to get my computer external IP address?
假设我的IP当前为:123.123.123.123
如何以编程方式获取该字符串?
注意:我不想得到这个IP:192.168.0.10
,我想要其他人可以通过HTTP或任何方式连接到我的计算机的IP。
注意:我不想打开一些网页,比如ip4.me来获取地址,我只想用C++来获取。
我试着在谷歌上搜索,但每个建议都是"加载一个页面,阅读它告诉你的IP"。这真的是唯一的办法吗?!
您可以从http://api.externalip.net/ip/或者一些类似的服务,但我不确定这些网站在可用性方面有多可靠
任何其他方式都会非常复杂,因为通常情况下,没有网络设备有api来告诉外部IP,即使它有,你也无法判断你面前是一个简单的xDSL路由器,还是思科ASA正在阻止出站流量
我的建议是发送带有记录路由选项的数据包。
如果您知道您的上游网关,您应该能够找到一个ping命令,该命令允许您设置记录路由,然后将数据存储在数组中或您可以regex的东西中。
我认为,您的WAN IP应该是记录0或记录1。
你在使用什么网络库?
相关文章:
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在函数内部的声明中初始化数组,并在外部使用它
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 使外部项目可用于find_package CMake
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- C++:来自外部文件的Trivia
- 从函数角度看ID到文件路径的内部与外部映射
- C++:将外部库链接到dll库
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 节俭并发:未解决的外部问题
- 如何在c++中从git建立外部库
- 未解析的外部符号_MsiLocateComponentW@12.
- 如何使用对C函数和类对象的外部调用来处理C++头文件
- 具有外部"c"和程序集的未定义函数
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 在本地网络中从外部计算机到计算机的连接
- 解析计算机外部IP的最简单方法
- 如何获取我的计算机外部IP地址
- Visual C++2010-将项目复制到其他计算机后出现多个未解决的外部错误