有一个关于得到本机IP的问题

hba 2002-05-26 03:27:44
请问,我已经得到了本机的IP,用gethostname和gethostbyname,我得到了2个,
一个是局域网的IP,另一个是拨号上网的IP,现在我由一个问题,譬如我使用的是
一台机器拨号其他局域网中的机器使用WINGATE,或SYSGATE等软件公用哪一台机器
上网的话,我在这些机器中却只可以得到一个局域网的IP,只有在真正拨号的哪台
才可以得到INTERNET的IP,哪我怎样才可以在这些没有MODEM的机器上得到INTERNET
的IP呢?谢谢啦,
...全文
26 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
westwf 2002-05-26
  • 打赏
  • 举报
回复
也就是说必须要得到代理主机的外部ip地址,而你的机器是通过该ip地址暴露在互联网上的,而你的机器的本地ip是通过NAT协议被映射到外部ip的一个端口的,所也要得到NAT的话就得到了你的外部IP地址。
westwf 2002-05-26
  • 打赏
  • 举报
回复
搞错了,对不起呵呵。
如果是这样的话就比较复杂了,因为很可能那边的代理机器是一台双网卡的,也有可能是有防火墙类型的堡垒主机,如果那边的机器没有一个类似SNMP的代理开放了一个可以查询NAT表的话,从本机得到INTERNET的真实IP好像是没有办法的。
xuying 2002-05-26
  • 打赏
  • 举报
回复
to westwf():
楼主问的是如何获得另外一台机器的ip,不是本机的。
westwf 2002-05-26
  • 打赏
  • 举报
回复
使用ip help 函数可以得到所有的ip地址与被绑定的网卡或设备列表,具体的例子在SDK里samples\netds有,实际上就是使用了DRIVER底层的SNMP接口进行查询。
xuying 2002-05-26
  • 打赏
  • 举报
回复
目前我能想到的是用SNMP,不过需要有modem的机器启动snmp服务。
可以用snmp协议获得mib中的ip列表,从而得到Internet的IP。
xuying 2002-05-26
  • 打赏
  • 举报
回复
to yokishiro(Vital arrow) :

路由表中只会有局域网地址,不会有Internet的IP的。
Yokishiro 2002-05-26
  • 打赏
  • 举报
回复
从路由表吧
xuying 2002-05-26
  • 打赏
  • 举报
回复
这好像比较困难。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧