开发者社区> 问答> 正文

从设备发出的ARP,编程获取设备Ip

当有设备发送ARP广播包时,该怎样从这个ARP包里获得这个设备的Ip地址。不是要用抓包软件
抓的啊,因为要写个进程和其他进程通信,但是没有什么好的思路,刚刚接触这个,请各位
有经验的话帮忙给点提示或者给点参考资料链接可以吗?非常感谢各位。自己找的时候大多
是找到ARP欺骗的编程方法和例子,困惑了挺久了(linux c的)

展开
收起
杨冬芳 2016-07-11 11:17:44 2041 0
1 条回答
写回答
取消 提交回答
  • arp是数据链路层的协议,只用二层交换机。二层交换机就是接入交换机,接二层交换机的终端通过mac地址通信,arp协议就是终端必须将广播过来的相邻主机的mac地址ip写入自己的arp表,二层交换机和所接的主机都有一张arp表。  数据包传到数据链路层后再组合成比特流。 传输层及以下是用来传输数据的,网络层的包到到数据链路层组合成帧再组合成字节,到物理层组合成比特流,比特发送给交换机,交换机看掩码是不是该网段的主机,如果是则搜寻arp表,里面是否有该主机,如果有,则发送给该主机,如果没有,则发送一个广播,如果交换机发现掩码不是该网段的,则交换机再向上发送数据给三层交换机。  所以说,接在二层交换机上的主机互相通信是用mac的,用arp广播就是获取mac和ip的,如果该主机的包发送到其他网络中,那么就要经过路由器了,
    答案来源网络,供参考,希望能帮助到您
    
    2019-09-29 14:01:03
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载