openwrt开发使用-arping

这篇具有很好参考价值的文章主要介绍了openwrt开发使用-arping。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

IP冲突引起的网络异常,可以通过检查IP是否冲突,排除故障。我们可以用一些工具进行检查,例如arp-scan、arping软件进行查看。

这里使用arping进行检查设备的MAC地址,通过查查看MAC地址是否唯一,从而判断IP是否冲突,

原理:每台设备的MAC地址是唯一的,若arping返回的MAC出现2个甚至多个,说明这个IP对应于多台设备,则存在IP地址冲突的情况。

作者:良知犹存

转载授权以及围观:欢迎关注微信公众号:羽林君

或者添加作者个人微信:become_me


arping介绍:

arping命令来自于英文词组”ARP ping“的缩写,其功能是用于发送ARP请求报文,ARP全称为”Address Resolution Protocol“,中文译为地址解析协议。arping命令是以广播地址发送arp packets,以太网内所有的主机都会收到这个arp packets,但是本机收到之后不会Reply任何信息,来测试网络状态,能够判断某个指定IP地址是否在网络上已被使用,并能够获取更多设备信息,像是加强版的ping命令。

openwrt编译:

make menuconfig进入,“ \ ” 进行搜索arping,查看编译具体的配置 openwrt开发使用-arping 搜索情况如下: openwrt开发使用-arping

Symbol: BUSYBOX_CONFIG_ARPING [=n]                                                                                                    
Type  : bool                                                                                                                      
Defined at package/utils/busybox/config/networking/Config.in:92                                                                   
  Prompt: arping (9 kb)                                                                                                           
  Depends on: (PACKAGE_busybox [=y] || PACKAGE_busybox-selinux [=n]) && BUSYBOX_CUSTOM [=n]                                       
  Location:                                                                                                                       
 (1) -> Base system                                                                                                                
       -> Networking Utilities                                                                                                     
                                                                                                                                   
                                                                                                                                   
Symbol: BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING [=n]                                                                                 
Type  : bool                                                                                                                      
Defined at package/utils/busybox/config/networking/udhcp/Config.in:72                                                             
  Prompt: Verify that the offered address is free, using ARP ping                                                                 
  Depends on: (PACKAGE_busybox [=y] || PACKAGE_busybox-selinux [=n]) && BUSYBOX_CUSTOM [=n] && BUSYBOX_CONFIG_UDHCPC [=n]         
  Location:                                                                                                                       
 (2) -> Base system                                                                                                                
       -> Networking Utilities                                                                                        
         -> udhcpc (24 kb) (BUSYBOX_CONFIG_UDHCPC [=n])

Symbol: BUSYBOX_DEFAULT_ARPING [=n]                                                                                
Type  : bool                                                                                                         
Defined at package/utils/busybox/Config-defaults.in:2241                                                             
  Depends on: PACKAGE_busybox [=y] || PACKAGE_busybox-selinux [=n]                                                   
                                                                                                                      
                                                                                                                      
Symbol: BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING [=n]                                                                   
Type  : bool                                                                                                         
Defined at package/utils/busybox/Config-defaults.in:2676                                                             
  Depends on: PACKAGE_busybox [=y] || PACKAGE_busybox-selinux [=n]

第一个就是Prompt: arping (9 kb) ,直接开始设置,进入 Base system

设置Customize busybox options为y打开,这个时候就可以后续的Networking Utilities配置

openwrt开发使用-arping 找到Networking Utilities openwrt开发使用-arping 里面找一下arping 设置y openwrt开发使用-arpingmake编译 openwrt开发使用-arping

编译固件进行替换升级 sysupgrade -n op openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-sysupgrade.bin

重启后就可以看到arping这个软件 openwrt开发使用-arping

arping使用:

选项

-f:表示在收到第一个响应报文后就退出;
-q:quiet output不显示任何信息;
-b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。
-D:检测某个IP是否被使用,后边跟上一个IP地址
-U:主动的ARP模式,更新邻居的arp表
-A:ARP回复模式,更新邻居arp
-c N:发送数据包的数目
-w timeout:设定一个超时时间,单位是秒。如果到了指定时间,arping还没到完全收到响应则退出;
-I IFACE:指定使用的以太网设备,默认使用eth0
-s SRC_IP:指定源IP地址
DST_IP:指定目标IP地址

arping -I br-lan -c 3 192.168.1.151 openwrt开发使用-arping 我们可以查看mac地址看是否有重复ip的设备

同样类似使用wireshark捕获数据也可以看到 执行如下命令:ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.1.1 'tcpdump -s 0 -U -n -w - -i br-lan not port 22' | ./wireshark.exe -k -i - 这个时候也可以看到arping三次的过程 openwrt开发使用-arping 附录: 一个打印MAC地址的脚本:arping -I br-lan -c 3 192.168.1.151 | awk '/reply/ {macaddr_str=$5; mac=substr(macaddr_str,2,length(macaddr_str) - 2);print mac}' openwrt开发使用-arping

结语

这就是我自己在openwrt使用arping操作的分享。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。


作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。

                              ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推荐阅读

【1】jetson nano开发使用的基础详细分享

【2】Linux开发coredump文件分析实战分享

【3】CPU中的程序是怎么运行起来的 必读

【4】cartographer环境建立以及建图测试

【5】设计模式之简单工厂模式、工厂模式、抽象工厂模式的对比

本公众号全部原创干货已整理成一个目录,回复[ 资源 ]即可获得。文章来源地址https://www.toymoban.com/news/detail-415573.html

openwrt开发使用-arping

到了这里,关于openwrt开发使用-arping的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【笔记】openwrt - full cone NAT(全锥NAT)、解决“arp_cache: neighbor table overflow!”

    最近安装了比特彗星(bitcomet)后,老是收到警告说日志的接收超过每秒上限了。一看日志,好家伙,一堆的 kern.info kernel: [194004.157620] neighbour: arp_cache: neighbor table overflow! 日志,还是kernel的,还是info的? 网上找问题原因、解决方法,最接近的就是lede的这个issue https://github.

    2024年01月15日
    浏览(24)
  • openwrt开发使用-常用的配置

    openwrt定制化开发中会有很多修改,例如网络默认ip,banner界面,默认ssid以及wifi连接方式等等,今天写一些基本openwrt修改操作。 作者:良知犹存 转载授权以及围观:欢迎关注微信公众号: 羽林君 或者添加作者个人微信: become_me 修改网络配置: 这个部分是openwrt里面手动配

    2024年02月04日
    浏览(37)
  • openwrt开发使用-配置路由器实现无线转有线功能

    openwrt开发中,我们可能遇到这样需求把一些网络设备进行转化,无线转有线的操作,我们可以进行设备里面增加一个网口驱动。这里我们介绍一种简单粗暴的方法,lan去掉dhcp功能,wifi和lan桥接实现无线转有线功能,路由器的信号线直接接入衰减器sma接口连接到需要转接的设备

    2024年02月21日
    浏览(69)
  • 学习不同平台开发引起的思考——web与app开发

    在上一篇文章中说,无论做什么开发,最重要的两点就是功能和交互,更确切的说应该是应用层开发,因为需要跟用户进行交互。而底层开发比较注重的是功能的实现,以及良好的接口文档即可。 而在应用层的开发中,主要平台有三个,一个是pc端以及两个移动端,手机与平

    2024年02月01日
    浏览(46)
  • C# &OpenCV 从零开发(0):前言

    由于我想换个机器视觉+运动控制的工作,我就开始了自学机器视觉方向的技术。但是Halcon毕竟是商业化的库,国内用盗版还是怕被告。所以期望使用OpenCV。 OpenCV目前已知的方法的有两个版本 Python:用起来挺简单的,就是Python的语言不适合管理,感觉以后必定会出现问题,不适

    2024年01月18日
    浏览(61)
  • 【Linux驱动开发】013 与gpio相关的OF函数 一、前言

    在上节,我们提供了驱动中gpio子系统相关的API函数,主要用来申请释放gpio、设置gpio输入输出、获取设置gpio的值。 我们进行上述设置的前提是:在驱动程序中需要读取 gpio 属性内容。为此,Linux 内核提供了几个与 GPIO 有关的 OF 函数。 用于统计设备树某个属性里面定义了几个

    2024年02月14日
    浏览(52)
  • AIGC+低代码+软件工程,必将引起软件开发领域一场新的革命!

    引言:AI低代码开发不仅是继面向过程,面向对象之后的一种新的抽象方式,也是继瀑布开发,敏捷开发之后的一种新的开发方法。 正是计算机技术的起步阶段,软件的基础设施正在建立,如操作系统,数据库,互联网底层协议等,软件正在从简单走向复杂。人们发现一旦软

    2024年02月12日
    浏览(50)
  • NumPy使用不当引起的内存泄漏

    以下是一段会引起内存逐步累积的代码: 代码大意 :处理n个user的数据,将每个user的数据按照时间排序,取最早的10条的前三列保存 为了监控性能,我们使用python自带的分析工具tracemalloc跟踪内存分配,使用方法见: Python-tracemalloc-跟踪内存分配_Rnan-prince的博客-CSDN博客 运行

    2024年02月08日
    浏览(37)
  • 解决Java中使用Jar包引起的乱码问题

    在Java开发中,我们经常会使用第三方的Jar包来实现各种功能。但有时候在使用这些Jar包的过程中,可能会遇到乱码的问题,特别是当处理中文字符时。本文将介绍一些常见的解决方法,帮助您解决Java中使用Jar包引起的乱码问题。 确认编码方式 首先,我们需要确认所使用的

    2024年02月02日
    浏览(31)
  • ARP伪造使用抓包工具进行ARP欺骗arp伪造攻击

    ARP(英文全写:Address Resolution Protocol),翻译成中文的意思是“地址解析协议”。 在局域网中,网络以“帧”的形式传输数据,一个主机要和另一个主机进行直接通信,就必须要知道目标主机的MAC地址。显然,在双方通信之初,发送方是无法知道目标主机的MAC地址的。那么,

    2023年04月17日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包