社区
C#
帖子详情
获取本机公网IP
wangweicmon236
2009-09-07 10:55:46
有没有在不借助一些查询网站的基础上(例如:http://www.ikaka.com/ip/index.asp)获取本机公网IP的方法?
注:机器属于一个局域网,不是直接拨号的
...全文
572
14
打赏
收藏
获取本机公网IP
有没有在不借助一些查询网站的基础上(例如:http://www.ikaka.com/ip/index.asp)获取本机公网IP的方法? 注:机器属于一个局域网,不是直接拨号的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qldsrx
2009-09-07
打赏
举报
回复
你不访问下外部,就不知道自己的公网IP,而访问外部最简单的就是访问查询IP的网站,你可以使用WebRequest访问下,然后截获返回的信息分析里面提供的你公网IP信息。
柳晛
2009-09-07
打赏
举报
回复
[Quote=引用 9 楼 hack95 的回复:]
rout -print
[/Quote]
纠正一下 route print 不行..
好像还真得需要Internet来查询。
注册失败
2009-09-07
打赏
举报
回复
[Quote=引用楼主 wangweicmon236 的回复:]
有没有在不借助一些查询网站的基础上(例如:http://www.ikaka.com/ip/index.asp)获取本机公网IP的方法?
注:机器属于一个局域网,不是直接拨号的
[/Quote]
机器属于局域网,也就是说是通过网关代理上网
那你的机器从来就不会有公网IP,只有你的代理网关有公网IP
因此你现在不是要获取你自己机器的公网IP,而是代理网关出口的公网IP
我之所以写的是“代理网关出口”,那是因为你的代理网关可能也有好几层,你要获取的是出口的公网IP
然后你再仔细想想,只适用你的局域网,不借助外面帮助,能获取带代理网关出口的外网IP么?
详细的学习下网络基础知识吧
柳晛
2009-09-07
打赏
举报
回复
rout -print
lzsh0622
2009-09-07
打赏
举报
回复
只凭本机是无法获得本机的外部IP的,出不了网关
wangweicmon236
2009-09-07
打赏
举报
回复
麻烦楼上的说详细一点,谢谢
yqlx521
2009-09-07
打赏
举报
回复
用 sharppcap可以
fanglong168
2009-09-07
打赏
举报
回复
楼上的可以吗?
cndhqwfn
2009-09-07
打赏
举报
回复
关注
wiki14
2009-09-07
打赏
举报
回复
获取本机(网关)的外网IP,在C#里面实现的方法,通常是遍历获取到的本机的IP地址,然后判断,不过这种方式只能取得独立拨号或具有独立公网IP的地址,对于局域网的方式,是取不到的,这种方式的代码大致如下:
System.Net.IPHostEntry ips = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
foreach (System.Net.IPAddress ip in ips.AddressList)
{
Console.WriteLine(ip.ToString());
}
要获取本机出口的外网IP,实际是需要利用访问某个可以返回本机出口的外网IP的internet资源,例如: 本站的ip提供程序
访问此IP提供程序,将只返回一个你的出口IP的字符串,使用起来是超简单的,代码如下:
using (System.Net.WebClient wc = new System.Net.WebClient())
{
Console.WriteLine(wc.DownloadString("http://www.zu14.cn/ip/"));
}
Console.ReadLine();
wuyi8808
2009-09-07
打赏
举报
回复
机器属于一个局域网,不是直接拨号的,则
无法
在不借助一些查询网站的基础上获取本机公网IP。
ppq886
2009-09-07
打赏
举报
回复
这个问题我也想知道啊,帮顶 嘿嘿
gudujianxiao
2009-09-07
打赏
举报
回复
up
24K純帥
2009-09-07
打赏
举报
回复
帮顶。。
获取
主
机
公
网
IP
获取
主
机
公
网
IP
, 可以直接使用,也可以查看代码,根据实现原理进行自定义改造,
网
络编程的新手也可以通过代码学习如何使用wininet api与服务器交互
java
获取
公
网
IP
此java类
获取
的是
公
网
的
IP
地址,如想
获取
本
机
IP
但不是
公
网
IP
查看我其他资源。
《计算
机
体系结构—
网
络篇1、2》之
网
络结构、
IP
分组交换技术、
IP
/MAC映射、NAT转换等
课程内容:
网
络结构、
IP
分组交换技术、
IP
/MAC地址映射、私
网
公
网
IP
、NAT转换、
网
卡、交换
机
、路由器等,以上这些内容对于很多同学来说是熟悉又陌生,熟悉的是经常听到,陌生的是没有多少同学真的完全弄明白了,这部分课程会为大家解决这个问题。
VC
获取
公
网
ip
地址
参考了部分
网
友的资源,改写了一个
获取
公
网
IP
地址的方法。忘记了
网
友
网
址,如冒犯,请原谅!发布此代码的目的旨在交流。代码如下: //头文件 #include "afxinet.h" //
获取
公
网
IP
地址 CString getLocal
Ip
Address() { CInternetSession session; //声明该对象为
获取
网
页属性做准备 CHttpFile *pFile=NULL; CString str,ch; CString m_szSite="http://www.zu14.cn/
ip
/"; //该地址是
获取
外
网
IP
的关 键,原理就是通过该地址来
获取
外
网
IP
的 try{ pFile=(CHttpFile*)session.OpenURL(m_szSite);} //打开该地 址 catch(CInternetException *pEx) //错误处理 { pFile=NULL; pEx->Delete(); } if(pFile) { while(pFile->ReadString(str)) //读入该字符串 { ch+=str+"\r\n"; } pFile->Close(); delete pFile; } else { ch+=""; } return ch;//返回
公
网
IP
地址 } CString jian(CString ch) { CString aaa; for(int i=0;i
qt
获取
本
机
的
公
网
IP
、内
网
IP
、
网
关
获取
设备端的
公
网
IP
、内
网
IP
以及
网
关。
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章