computer 版 (精华区)

发信人: Aug (领着Sep走...), 信区: network
标  题: 常用指令 -- arp
发信站: 听涛站 (2002年10月21日22:48:33 星期一), 站内信件

    arp指令常用于ip抢夺大战。

    arp常用参数包括:
    arp -a:列出所有的arp缓存中的记录
    arp -d:删除所有的arp缓存中的记录
    arp -s:增加一条静态记录

    ARP协议指通过IP获取MAC地址。MAC是数据链路层的东东,也是
网络寻址中最后的识别码。通常数据包发送的时候,先检查目标地址
是否为本网络,如果不是,则交给网关处理,如果是,获取目标地址
的MAC地址,发送数据包。

    获取目标地址的MAC时,系统首先会检查本机的arp缓存,如果存
在匹配的记录,则从缓存中读取MAC。如果没有匹配的记录,会发送
广播进行询问,目标地址收到广播后会应答,然后系统会把ip-MAC对
应记录存入缓存。

    arp -a的作用很好理解。那么为什么说arp指令常用于ip抢夺大战?

    arp -d后,本机的arp缓存清空,此时再ping网关,网关会应答,
同时网关发现发送询问请求的ip-mac对和网关所了解的不一样,网关
会自动更新其缓存,那么,能上网的就是你而不是对方了。

    arp -s用于目标地址加入了ip抢夺大战。前面说过,机器会接收
arp询问的广播包,如果发现有更改了会自动修改。如果目标地址的
ip同时有两台机器指定,那么你的arp缓存可能一时是A机器的MAC,
一时是B机器的MAC。为了避免出现这样的问题,你可以在本机上arp
表中添加静态记录,静态记录会忽略外界动态的变化,换言之,不管
外面发生了什么事情,你发往目标机器ip的数据包都会发送到静态记
录指定的MAC地址。一定程度上可以避免主机欺骗,但当然,如果被欺
骗了问题更严重,尤其你以为高枕无忧时,这个就不详细讨论了。

    arp指令里面一些参数我说明一下:
    inet_addr ip地址,10进制点分格式
    eth_addr  MAC地址,xx-xx-xx-xx-xx-xx,16进制格式
    if_addr   当你机器有若干网卡或一个网卡绑定不同的ip时,可以
              指定某一个ip进行arp操作

    arp的作用还包括了识别同一子网内机器是否存在。因为绝少机器
不响应arp请求(不想活了?),所以尽管你ping的时候对方可以不响
应,但如果你的arp缓存里面有记录,那么对方是开机的(或者说这个
ip是有人在使用的);如果arp -a没有看到,那么大概对方没有开机
(或者说这个ip现在没人在用,然后干嘛?你说呢~~)。

--
    从今不问江湖事,琴剑相伴自逍遥
※ 来源:·听涛站 bbs.tingtao.net·[FROM: 匿名天使的家] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:0.796毫秒