获取本机外网ip和内网ip

  获取本机外网ip

 1   //获取本机的公网IP
 2         public static string GetIP()
 3         {
 4             string tempip = "";
 5             try
 6             {
 7                 WebRequest request = WebRequest.Create("http://ip.qq.com/");
 8                 request.Timeout = 10000;
 9                 WebResponse response = request.GetResponse();
10                 Stream resStream = response.GetResponseStream();
11                 StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
12                 string htmlinfo = sr.ReadToEnd();
13                 //匹配IP的正则表达式
14                 Regex r = new Regex("((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|[1-9])", RegexOptions.None);
15                 Match mc = r.Match(htmlinfo);
16                 //获取匹配到的IP
17                 tempip = mc.Groups[0].Value;
18
19                 resStream.Close();
20                 sr.Close();
21             }
22             catch (Exception err)
23             {
24                 tempip = err.Message;
25             }
26             return tempip;
27         }

获取本机内网ip

 //获取内网IP
        private string GetInternalIP()
        {
            IPHostEntry host;
            string localIP = "?";
            host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (IPAddress ip in host.AddressList)
            {
                if (ip.AddressFamily.ToString() == "InterNetwork")
                {
                    localIP = ip.ToString();
                    break;
                }
            }
            return localIP;
        }
时间: 2024-08-10 10:45:05

获取本机外网ip和内网ip的相关文章

如何判断自己IP是内网IP还是外网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255  172.16.0.0/12:172.16.0.0-172.31.255.255  192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 另外,一些宽带

如何快速判断IP是内网还是外网(转)

TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 提示:上述IP地址

公网IP与内网IP,私家车与公交车,两者体验大不同!

“提速降费”已经喊了很多年,很多用户家里都升级安装了百兆甚至千兆宽带,再也不会出现一人看电影,全家缓冲的情况了. 但大家都知道,每个宽带账号都会分配一个公网IP地址.公网IP地址不是无限的,宽带发展到今天,公网IP地址也已逐渐告罄.于是,近几天很多网民都在抱怨:“自家的公网IP,被偷偷换为内网IP”. 公网IP和内网IP的使用体验有哪些不同?如何获得公网IP? 路由器只需一个公网IP就可以供下面多个电脑联网使用.由于不同的内网IP能够重复使用.所以内网IP通常有以下类型:10.0.0.0~10.

ROS Dst-Nat 后内网不能通过公网IP访问内网服务器解决方法

通常企业内部会有很多服务器需要互联网用户访问,这时就需要做Dst-Nat. 但是我们配置完后会 发现内网用户不能通过公网IP访问对应的服务器.其实这时我们再添加一条策略即可搞定. 实例说明: 内网服务器:172.16.0.101 路由器LAN口: 172.16.254.2 公网IP: 106.37.xxx.xxx 外网访问IP假设为 1.1.1.1    内网访问的PC 假设IP为172.16.3.100 配置NAT: 配置完后,外网可以正常访问了.但是内网通过公网IP不可访问. 究其原因: 外

动态IP或无公网IP时外网訪问内网ORACLE数据库

ORACLE数据库是应用最多的一个数据库.一般项目应用.将ORACLE部署在内网,内网调用,及运维都仅仅能是内网完毕. 假设ORACLE主机或所在局域网没有固定公网IP,又想在外网对ORACLE进行訪问.就须要解决动态IP或无公网IP的问题.相应运用到动态域名解析和port映射技术应用. 可直接採用网络辅助来实现外网对内网ORACLE数据库的訪问.如NAT123动态域名解析port映射. 动态IP时,外网訪问内网ORACLE数据库的实现: 1.在内网启用NAT123动态域名解析.使用自己的域名.

外网訪问内网应用实现之无公网IP、多port、固定port、UDP等应用的实现方法

有公网IP时,能够通过路由映射来实现外网訪问内网.然,当没有公网IP时,怎样实现外网訪问内网应用? 硬件路由方法因为无公网不可行,能够使用软件port映射的方法.如开放的NAT123全port映射. 全port映射的原理是利用在内网软件将域名绑定server,外网通过域名的訪问实现.此方式不须要改变訪问port,但须要在訪问时,同一时候启用点到点的訪问端. 实现过程: 1,内网使用开放的NAT123port映射. 2,加入映射.选择全port映射. 3,外网地址能够使用自己的域名,也能够直接使用

外网IP和内网IP的区别

这两天遇到一个bug,折腾的够呛,已经上线的项目,出现了个人登录不上的情况,瞬间整个人都不好了,首先找问题,在本地和测试服务器上都没问题,打包发布到正式环境就出现问题了,刚开始我看不了日志,日志要找别人要,自己各种方法折腾,后来要到日志,看了半天,突然发现后台报错连接超时,这是什么鬼?本地.测试都没问题,正式环境报这个问题,幸好同事之前经历过同样的事情,我说连接超时,他有点印象,原来是Linux服务器不能二次通过外网访问自己,要换成内网IP,然后就解决了问题,困扰了一天半,有感之余学习下外网IP

公网IP和内网IP分别在哪里?NAT转换又是什么鬼?

一.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别在哪里?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这又是什么鬼?本文就来简单讲讲这些到底都是怎么回事. 二.每台电脑都必须要一个公网IP吗? 答案:不是. 我们都知道,IPv4中的IP地址的数量是有限的(所以现在都在搞IPv6嘛),每次把一部分地址分配出去,那么就意味着能够用来分配的IP地址就更少了,而且随着现在手机,电脑等

通过外网IP访问内网

外网服务器:外网IP1,内网IP192.168.2.156 内网服务器:内网IP192.168.2.206 通过访问外网服务器8083端口,转发到内网服务器的8083端口. 在外网服务器设置映射规则: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --dport 8083 -j DNAT --to-destination 192.168.2.206:8083iptables -t nat -

linux外网服务器跳转内网服务器实现内网访问(iptables)

服务器信息如下 外网服务器:eth0:公网IP eth1:内网IP(192.168.10.205) 公网对外提供服务,内网IP与内部局域网通信. 配置过程: (1)开启iptables service iptables restart   (临时开启) chkconfig  iptables on    (永久开启) (2)配置iptables          (2-1)配置filter选项,使得IP和PORT可以通过防火墙 注意:在filter选项下配置 例如:#18081(tomcat-O