怎么根据用户ip地址转换成相应的省会地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么根据用户ip地址转换成相应的省会地址相关的知识,希望对你有一定的参考价值。

应为网站需求用户直接进来就根据用户的ip定位到访问点的市级,比如我这是成都的ip,获取到ip后怎样把这个ip转换成”成都“呢?求大神给个思路吧。

条用个第三方就行。
比如获取到ip后模拟百度搜索这个ip,然后再返回结构中利用正则匹配到结果省份。追问

模拟百度搜索这个是啥意思啊?

追答

就是用代码模拟调用一下百度搜索。
或者也可以就像楼下说的,做好ip库文件,然后加载文件对比查询。但是这样的话估计效率不太好,毕竟ip库比较大。

参考技术A 你好,你可以使用ip地址库将ip转换为对应的地址。——爱名网(22.cn)为您解答。 参考技术B 需要下个  618IP代理
注册就能免费使用。
链接成功你想要的城市即可。

网络地址转换 NAT

一、概念

  网络地址转换(Network Address Translation,NAT) 将私网地址和端口转换成公网地址和端口,让使用私网地址的网络设备可以访问互联网。

  NAT的工作原理是通过解析IP报文头部,自动替换报文头中的源地址或目的地址,实现使用私网地址的用户可以通过私网地址访问互联网。私网IP转换成公网IP的过程对于用户而言是透明的。

  

二、私网地址

  为满足实验室、公司或其它组织独立于internet使用网络的需求,RFCA(Requests For Comment)预留了三段IP地址段给用户使用,私有地址不能在internet上分配,因此可以于用户自由使用。

  私有IPv4地址空间

  A类:10.0.0.0 - 10.255.255.255 (10.0.0.0/8)

  B类:172.16.0.0 - 172.31.255.255 (172.16.0.0/12 )

  C类:192.168.0.0 - 192.168.255.255 ( 192.168.0.0 /16 )

 

三、NAT的优缺点

  优点:

  (1)节省IP地址空间 

  (2)解决IP地址重叠问题

  (3)当网络变更时减少更改IP重编址的麻烦

  (4)对外隐藏内部地址,增加网络的安全性

  缺点:

  (1)增加转发延迟

  (2)丧失端到端的寻址,某些应用不支持NAT

  (3)需要消耗路由器的CPU和内容进行NAT操作

 

四、NAT的类型

  (1)源IP地址转换(Source IP address-based NAT):

    1.1 No-Port 地址转换( No-PAT)

    1.2 网络地址及端口转换 (NAPT)

  (2)目的IP地址转换 (Destination IP address-based NAT):

    1.1 NAT Server  

    1.2 目的NAT

 

  NAT类型1(No-PAT):

  NAT No-PAT 也称为 “一对一地址转换”,在地址转换过程中,数据包的源IP地址由私网地址转换为公网地址,但端口号不做转换

  注:配置No-pat后,设备会将转换前后的地址的所有端口进行一 一 对应,这种应用的优点是私网地址的所有端口不做转换,缺点是公网地址不能被其它私网地址使用。

 

  NAT类型2(NAPT):

  NAPT是指在进行NAT转换IP地址的同时,还对端口号进行转换,这种应用可以实现多个私网地址共用一个公网IP,在NAPT方式中,还可以直接借用设备与互联网相连的接口的IP地址作为转换后的IP地址,这种借用接口IP做NAT的应用又称为easy-ip。

  NAPT也称为“地址复用”,通过配置NAPT,设备将同时对ip和端口进行映射,允许多个私网ip地址同时映射到一个公网IP,相同的公网IP通过不同的端口映射不同的私网IP,从而实现多对一或多对多的地址转换。

 

  NAT类型3(NAT Server ):

  NAT Server 能使内部服务器可以供外部网络访问,外部用户访问内部服务器时,NAT将请求报文的目的地址转换成内部服务器的私有地址,对内部服务回应报文,NAT会将回应报文的源地址(私网地址)转换成公网地址。

五、NAT配置实例

  技术图片

  1. NAT类型1(No-PAT):

  (1)按上图拓扑结构,构建网络(配置略)

  (2)在R1路由器做一对一静态地址转换。

  [R1]nat static outbound 192.168.10.1 222.218.225.1
  [R1-GigabitEthernet0/1]nat static enable              //在相应的接口上应用静态转换

  dis nat static                           //查看静态地址转换对应关系
  dis nat session ver                      //查看NAT地址转换会话

  

  NAT类型2(NAPT):

  (1)按上图拓扑结构,构建网络(配置略)

  (2)在R1路由器做多对一静态地址转换,只允许192.168.10.0/24用户访问互联网。

  acl basic 2000
   rule 5 permit source 192.168.10.1 24

  [R1-GigabitEthernet0/1]nat outbound 2000

  (3)在R1路由器做多对多静态地址转换,只允许192.168.10.0/24用户访问互联网。

  acl basic 2000
   rule 5 permit source 192.168.10.1 24

  nat address-group 1
   address 222.218.225.3 222.218.225.5

  [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1 [no-pat]

  注:no-pat 即一对一,一个私网址址对应一个公网地址;否则,才是多对多关系

 

  NAT类型3(NAT Server ):

  (1)按上图拓扑结构,构建网络(配置略)

  (2)在R1路由器做一对一静态地址转换,互联网访问222.218.225.1 转换为192.168.20.1。

  [R1-GigabitEthernet0/1] nat server global current-interface inside 192.168.20.1

  (3)在R1路由器做一对一静态端口转换,互联网访问222.218.225.1:80 转换为 192.168.20.1:80。

  [R1-GigabitEthernet0/1] nat server protocol tcp global current-interface 80 inside 192.168.20.1 80

  

以上是关于怎么根据用户ip地址转换成相应的省会地址的主要内容,如果未能解决你的问题,请参考以下文章

如何把IP转换成经纬度

excel 怎么把IP地址转换成000.000.000.000的格式

在C语言中,如何将字符串“192.168.1.1”转换成MAC地址或IP地址?

局域网的主机 将私有IP转换成公有IP才能出公网 ,哪么他是怎么转的呢?

如何根据ip地址判断属于哪个市区

c++中一个long类型数据转换成IP地址