arping

假设需要检测A主机(192.168.1.66)的ip地址是否冲突,在同一网段的B主机(192.168.1.55)上执行以下命令:

$arping 192.168.1.66ARPING 192.168.1.66 from 192.168.1.55 eth0
Unicast reply from 192.168.1.66 '[10:ab:ec:75:97:C1]' 2.186ms
Unicast reply from 192.168.1.66 '[40:98:6f:45:19:69]' 1.854ms
Unicast reply from 192.168.1.66 '[40:98:6f:45:19:69]' 1.108ms

如果只检查出一个MAC地址,则表示A的IP是唯一的。
如果如上所示检测出两个MAC地址,则表示同网段内有另一台主机与A主机IP冲突。

检验原理

arping命令是以广播地址发送arp packets,以太网内所有的主机都会收到这个arp packets,但是本机收到之后不会Reply任何信息。 当我们在linux主机端上执行下面的命令时:
arping 192.168.1.66
会默认使用eth0,向局域网内所有的主机发送一个:
who has 192.168.1.66的arp request,tell 192.168.1.55 your mac address
当这台主机收到这个arp packets后,则会应答:
"I am 192.168.1.66 , mac是40:98:6f:45:19:69"
这样我们会收到mac地址为40:98:6f:45:19:69的主机的Reply信息。

arping 命令简介

发送一个ARP REQUEST 到相邻主机

语法

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

描述

使用源地址’source’通过ARP数据包在设备接口interface上Ping目的地址destination。

选项

选项 描述
-A -U相同,但使用ARP REPLY数据包而不是ARP REQUEST。
-b 仅发送MAC级广播。通常arping从发送广播开始,并在回复后切换到单播接收。
-c count  发送count个ARP REQUEST数据包后停止。如果使用deadline选项,等待count个ARP REPLY数据包,或直到截止时间到期。
-D 重复地址检测模式(DAD)。见RFC2131,4.4.1。如果DAD成功,则返回0,即不会受到回复
-f 在确认目标有效的第一个回复后完成。
-I interface 指定发送ARP REQUEST报文的网络接口。
-h 打印帮助信息并退出。
-q 安静的输出。什么都没显示。
-s source 用于ARP数据包的IP源地址。如果此选项不存在,源地址为:(1)在DAD模式下(选项-D)设置为0.0.0.0。(2)在未经请求的ARP模式下(选项-U-A)设置为destination。(3)否则,它是从路由表计算的。
-U Unsolicited ARP模式用来更新邻居的ARP缓存。预计不会有回复。
-V 打印版本信息并退出。
-w deadline 无论已发送或接收了多少数据包,都指定arping退出之前的超时(以秒为单位)。在这种情况下arping在发送了conunt个数据包后不会停止,它等待截止时间到期或直到count个探测得到应答。

arp-scan

arp-scan这个工具会在本地网络发送ARP(Address Resolution Protocol)(地址解析协议)包来收集地址。如果有多个MAC地址声称拥有相同的IP地址,那么这里就存在冲突。
首先安装arp-scan,然后

  1. arp-scan -l 命令表示查看与本机在同一局域网内的所有机器的ip使用情况
  2. arp-scan –I eth0 -l 命令表示查看与本机在同一局域网内的所有主机的eth0网卡的ip使用情况

[root@dev ~]# yum install -y arp-scan
------------------------------------
如果报错说没有这个软件包,则需要提前安装epel软件仓库
centos5 64位:
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

centos6 64位:
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

centos6 64位:
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
------------------------------------

两种IP冲突检测方法相关推荐

  1. 史上最容易理解————GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过req ...

  2. GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 回退 回退时无害 会再次提交请求 记录 URL可被记录, 用于再访问 不可以 缓存 主动缓存 可手动设置 编码方式 只进行url编码 多种编码方式 参数长度 有 ...

  3. 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现

    哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 参考文章: (1)哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 (2)https://www. ...

  4. fstream与 C 风格(例如fread 和 fwrite )两种读写文件方法的效率比较

    我觉得作者写的挺好,评论也写的很对. 目前我的项目就是在VS2008+Qt+win7上开发的.我上次总结的QFile和C语言对文件操作的性能比较.--读取double型二进制数据文件也说明了这个问题. ...

  5. 【转载】面向对象建模与数据库建模两种分析设计方法的比较

    [转载]面向对象建模与数据库建模两种分析设计方法的比较 板桥里人 http://www.jdon.com 2007/9/23(转载请保留) 我们知道:一个软件从无到有需要经过如下几个阶段:分析.设计. ...

  6. Word 2003中打开最近操作过的文档的两种推荐的方法

    本文介绍Word 2003中打开最近操作过的文档的两种推荐的方法. 注:我的系统为WINDOWS 7,与XP下基本一致. 方法1: 在WINDOWS 7下,点击任务栏上的WINDOWS图标(即&quo ...

  7. 【H5】两种加密解密方法:

    [H5]两种加密解码方法: encodeURI(): //加密 decodeURI(); //解密 加密成base64编码格式 btoa() 加密 atob() 解密 实现代码如下: <!DOC ...

  8. js两种拼接字符串方法

    js两种拼接字符串方法 function(msgArr) {//参数为一个数组,每一个对象为图片id和图片地址var len = msgArr.length;//第一种拼接方式,直接用"+& ...

  9. R中两种常用并行方法——2. snowfall

    上一篇博客(R中两种常用并行方法--1. parallel)中已经介绍了R中常见的一种并行包:parallel,其有着简单便捷等优势,其实缺点也是非常明显,就是很不稳定.很多时候我们将大量的计算任务挂 ...

  10. 上微信怎么同时用计算机,电脑端微信双开,教你两种简单的方法,上手即用!...

    原标题:电脑端微信双开,教你两种简单的方法,上手即用! 微信现在已不单单是社交软件了,如今已成了工作必备软件,每天上班微信电脑端一登,传个文件,发个群通知,实在方便. 但是很多人都不止有一个微信号,电 ...

最新文章

  1. 浪潮、寒武纪联手,目标:新基建智算中心
  2. addressof表达式不能转换为long_基本数据类型转换
  3. 码农翻身之——分布式,集群,负载均衡
  4. Python第二周 str的方法
  5. windows安装 Chocolatey
  6. 肝了我好久,《Python知识手册V1.0》出来了!!!
  7. cocos2d-x 3.0rc2中读取sqlite文件
  8. [html] html的img标签为什么要添加alt属性呢?
  9. spring boot: 组合注解与元注解
  10. 《Effective Ruby:改善Ruby程序的48条建议》一第2条:所有对象的值都可能为nil
  11. [论文评析] ArXiv-2021,Pyramid Vision Transformer A Versatile Backbone for Dense Prediction without Convo
  12. linux四种网络模式,Linux三种网络连接模式
  13. sublime php code sniffer,mac下sublime text3的php错误提示插件php code sniffer安装后,无法显示php错误...
  14. plsql 存储过程 测试
  15. 基于离线策略的强化学习(PPO)
  16. 端午百望山爬山活动-金山词霸运营团队活动
  17. 避免 Time Limit Exceeded
  18. c++计算一维数组中的最大元素
  19. python加减乘除求余
  20. 两份重磅文件明确互联网平台分类分级,淘宝、微信、抖音等将迎“超级监管”...

热门文章

  1. 共享图书管理系统数据库实现
  2. java包含罗马字符_leetcode.字符串.12整数转罗马数字-Java
  3. cefsharp 二次开发
  4. 人员基础信息一体化采集设备
  5. c语言填空题库,C语言题库(填空题部分)
  6. web显示实时时间动态刷新
  7. 华为服务器修改SN,华为光猫修改双模、SN序号、MAC地址方法
  8. 三维激光雷达点云处理分类
  9. 通用数据库弱密码检测解决方案
  10. 从北向南高校王牌专业浅析