简述地址解析的基本含义及地址解析的基本方法

简述地址解析的基本含义及地址解析的基本方法,第1张

你说的地址解析是ARP吧,RT在计算机网络里这个词基本上是不用的定义ARP(Address

Resoloution

Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议。某节点的IP地址的ARP请求被广播到网络上后,这个节点会收到确认

其物理地址的应答,这样的数据包才能被传送出去。RARP(逆向ARP)经常在无盘工作站上使用,以获得它的逻辑IP地址。

地址解析协议(Address

Resolution

Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。

]举例

计算机A的IP为192.168.1.1,MAC地址为00-11-22-33-44-01;

计算机B的IP为192.168.1.2,MAC地址为00-11-22-33-44-02;

原理

在TCP/IP协议中,A给B发送IP包,在包头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址.

计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。

在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。

A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。

本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。

]应用

在网络执法官中,要想限制某台机器上网,只要点击“网卡”菜单中的“权限”,选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择“权限”,在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这样就可以禁止其上网。

一、地址解析

地址解析,是用户输入一个详细到门牌号的地址。例如“北京市中关村南大街27号中央民族大学”,那么地址解析接口,会返回一个经纬度Point。

接口定义如下:

getPoint(address:String, callback:Function, city:String)

对指定的地址进行解析。如果地址定位成功,则以地址所在的坐标点Point为参数调用回调函数。否则,回调函数的参数为null。city为地址所在的城市名,例如“北京市”。

代码示例:

// 创建地址解析器实例

var myGeo = new BMap.Geocoder()

// 将地址解析结果显示在地图上,并调整地图视野

myGeo.getPoint("北京市海淀区上地10街", function(point){

if (point) {

map.centerAndZoom(point, 16)

map.addOverlay(new BMap.Marker(point))

}

}, "北京市")

运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_12#7&12

二、反地址解析

反地址解析,就是传进去一个经纬度Point,它会返回一个详细的地址。具体地址有多详细,就要看百度数据库里的数据了。

接口定义如下:

getLocation(point:Point, callback:function[, options:LocationOptions])

对指定的坐标点进行反向地址解析。如果解析成功,则回调函数的参数为GeocoderResult对象,否则回调函数的参数为null。

代码示例:

var gc = new BMap.Geocoder()

map.addEventListener("click", function(e){

var pt = e.point

gc.getLocation(pt, function(rs){

var addComp = rs.addressComponents

alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber)

})

})

运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_15#7&15

三、同时运用地址解析与反地址解析

在什么情况下需要同时运用这两个接口呢?

答案是,当你搜索一个模糊的地址,但却想要返回一个精确的地址结果。

例如“上海市新华路”,但是你想知道“新华路”在哪个区县的时候,你就可以同时利用这两个接口。

完整HTML代码:

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>地址解析+反地址解析</title>

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>

</head>

<body>

<div style="width:520pxheight:340pxborder:1px solid gray" id="container"></div>

<div style="margin:10px 0"><input type="text" style="width:300pxmargin-right:10px" value="新华路" id="searchValue" /><input type="button" value="搜索" onclick="search()" /></div>

</body>

</html>

<script type="text/javascript">

var map = new BMap.Map("container")

map.centerAndZoom(new BMap.Point(121.461165,31.234095), 11)

function search(){

var myAddress = document.getElementById('searchValue').value

var myGeo = new BMap.Geocoder()

myGeo.getPoint(myAddress, function(point){ //我输入的是“知春路”,第一步getPoint是地址解析。

if (point) {

map.centerAndZoom(point, 16)

map.addOverlay(new BMap.Marker(point))

myGeo.getLocation(point, function(rs){ //这里弹出“知春路”的详细地址信息,第二步getLocation是反地址解析。

var addComp = rs.addressComponents

alert(myAddress+'的具体位置是:'+addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber)

})

}

}, "上海市")//必须设置城市

}

</script>

在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。DNS:域名服务器(Domain Name Server)。注册域名时必须指定的信息,用来指定域名所注册、解析的地址。

域名解析管理地址是您在域名所在注册商网站上操作域名管理时所添加的,一般在“域名解析”里面操作,进去后,你可以填上相应的主机头和IP地址(或别名地址),这个就是您域名的管理地址,以后你可以进入这里查看,这个地址ping得通的话,说明解析已经生效了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/774009.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-21
下一篇2023-08-21

发表评论

登录后才能评论

评论列表(0条)

    保存