文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>sendarp.c解析ip冲突解决办法

sendarp.c解析ip冲突解决办法

时间:2010-11-26  来源:秩名

  ip冲突是个很基本,也很不应该犯的错误,我来到这个公司3年来,只遇到过2次,但这两次都很致命,都是在很关键的产品上出了问题,如果您也想仔细了解哦arp相关的更深层次的知识,我愿意把我们研究的结果共享出来。

 

  研究了一下arping命令的工作机制和原理,并详细的查看了arping命令的源码。

  列出几个我们在检查ip地址冲突时候比较有用的参数:

  arping [ -AbDfhqUV] [ -c count] [ -w deadline] [ -s source] -I interface destination

  # 注释 :arping 是用于发送 ARP 请求到一个相邻主机的工具

  -b # 注释 :-b 用于发送以太网广播帧(FFFFFFFFFFFF) 。arping 一开始使用广播地址,在收到响应后就使用 unicast 地址。

  -c count # 注释 :-c 表示发送指定数量的 ARP 请求数据包后就停止。

  -I interface # 注释 :-I 指定用那个接口来发送 ARP 请求包。这个选项是必须的。

  -s source # 注释 :-s 设定 arping 发送的 arp 数据包中的 SPA 字段的值。如果为空,则按下面处理

  # -)1、如果是 DAD 模式(冲突地址探测),则设置为 0.0.0.0

  # -)2、如果是 Unsolicited ARP 模式(Gratutious ARP)则设置为目标地址

  # -)3、否则从路由表得出

  -U # 注释:-U 就是启用 Gratutious 模式,它用于更新别的主机上的 ARP 表中本地主机的条目。不需要响应。

  arping命令中发送arp packets时候,是往FF:FF:FF:FF:FF:FF这个以太网内的广播地址发送,包括发送arping命令的本机也会收到这个arp packets(但是本机收到之后不会Reply任何信息)。比如当我们在192.168.10.138上执行下面的命令时:

  arping 192.168.10.139

  会默认使用eth0,向局域网内所有的主机发送一个:who-has 192.168.10.139的arp request,tell 192.168.10.138 your mac address,类似这样:

  "我是主机192.168.10.138 , mac是xxxxxxxxxxx ,ip为192.168.10.139的主机请告之你的mac"

  ip为192.168.10.139的主机响应这个广播,应答ARP广播为:"我是192.168.10.139,我的mac为xxxxxxxxxx2",此应答只发回给192.168.10.138而不是广播,收到之后,192.168.10.138主机刷新自己的ARP缓存。

标签分类:

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载