linux arping命令学习「建议收藏」

linux arping命令学习「建议收藏」arping命令用来向邻近的主机发生ARPREQUEST数据包。1.arping命令可以用来测试局域网各个主机之间的连通性,不能用于测试其是否能与互联网连通,sh-#pingwww.google.comPINGwww.google.com(74.125.239.147)56(84)bytesofdata.64bytesfromnuq05s02-in-f19

大家好,又见面了,我是你们的朋友全栈君。

arping命令用来向邻近的主机发生ARP REQUEST数据包。

1. arping命令可以用来测试局域网各个主机之间的连通性,不能用于测试其是否能与互联网连通,
sh-# ping
www.google.com
PING www.google.com (74.125.239.147) 56(84) bytes of data.
64 bytes from nuq05s02-in-f19.1e100.net (74.125.239.147): icmp_req=1 ttl=53 time=267 ms
64 bytes from nuq05s02-in-f19.1e100.net (74.125.239.147): icmp_req=2 ttl=53 time=269 ms
64 bytes from nuq05s02-in-f19.1e100.net (74.125.239.147): icmp_req=3 ttl=53 time=289 ms
^C
www.google.com ping statistics —
4 packets transmitted, 3 received, 25% packet loss, time 3011ms
rtt min/avg/max/mdev = 267.321/275.337/289.108/9.790 ms

sh-# arping -I eth0 www.google.com -w 5
ARPING 74.125.239.147 from 192.168.0.153 eth0
Sent 6 probes (6 broadcast(s))
Received 0 response(s)
sh-# arping -I eth0 192.168.0.151 -w 5
ARPING 192.168.0.151 from 192.168.0.153 eth0
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  56.882ms
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  280.078ms
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  92.872ms
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  116.720ms
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  129.921ms
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  48.195ms
Sent 6 probes (1 broadcast(s))
Received 6 response(s)

2. arping命令可以用来测试局域网中某个特定的IP地址是否已经被占用。
我们知道局域网中如果IP地址有冲突可能会带来各种奇怪的网络问题,所以arping命令在手动设定IP地址时
会非常有用。可以在设定IP地址之前,使用arping命令进行测试。
利用arping命令执行的返回码来确认执行结果:
如果返回结果为1,说明局域网中已经存在该IP地址了;
如果返回结果为0,说明局域网中暂时无人使用该IP地址,那我们就可以使用了。
sh-# arping -I eth0 -D 192.168.0.151 -w 5
ARPING 192.168.0.151 from 0.0.0.0 eth0
Unicast reply from 192.168.0.151 [78:52:1A:4D:D0:A5]  141.406ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
sh-# echo $?
1
sh-# arping -I eth0 -D 192.168.0.152 -w 5
ARPING 192.168.0.152 from 0.0.0.0 eth0
Sent 6 probes (6 broadcast(s))
Received 0 response(s)
sh-# echo $?
0
sh-#

问题:如果你的C应用程序需要通过检查IP地址是否可用来决定用户界面如何显示,要怎么做?
这就要借助于linux提供的库函数system函数了。
#include <stdlib.h>
if (0 == system(“arping -I eth0 -D 192.168.10.123 -w 5”))
{

    printf(“\nip not exist, can use this ip\n”);
}
else
{

    printf(“\nip exist, can not use this ip\n”);
}

不过system函数是一个同步函数,它可能会卡住用户操作。关于system函数的更多信息,请参考下面的博文:
http://blog.csdn.net/boyxulin1986/article/details/10962319

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133541.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Flash WebGame 开发经验心得和PureMVC框架细说[通俗易懂]

    Flash WebGame 开发经验心得和PureMVC框架细说[通俗易懂]→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的,而这些很大程度上又是由项目本身决定的。纵观现在国内绝大多数FLASHWEBGAME的规模和难度,我觉得前端AS人员大概需要2-7个之间,主程序有效代码一般不会超过10W行。在这种情况下,人事分工应当以功能和模块进行划分,尽量避免多人维护同一份代码,每个人各司其职,减少维护和协作的成本。这种模式非常适合人手不够,制度不健全,而且追…

    2022年5月2日
    56
  • pycharm清缓存_pycharm安装包很慢

    pycharm清缓存_pycharm安装包很慢解决pycharm缓存文件问题方法一方法二使用pycharm一段时间后,C盘空间也越来越小。这是因为pycharm在C盘生成了大量的缓存文件。解决C盘占用过大,有两个方法:方法一:直接删除pycharm缓存文件(暴力有效)方法二:更改缓存文件路径方法一content.dat.storageData是pycharm的缓存文件,动辄几个G,直接将其删除即可。不会影响pycharm使用。缺点就是每隔一段时间要记得清理,否则C盘可能就要爆炸。content.dat.storageData文件一般存

    2022年8月28日
    15
  • A左右ndroid正在使用Uri监视数据库中的更改

    A左右ndroid正在使用Uri监视数据库中的更改

    2022年1月13日
    45
  • Java在字符串中查找匹配的子字符串

    Java在字符串中查找匹配的子字符串Java在字符串中查找匹配的子字符串

    2022年7月16日
    138
  • frp内网透传以及连接frp服务器

    frp内网透传以及连接frp服务器frp 服务器实操一 准备工作二 启动三 Socket 工具创建 TCP 服务器四 创建与连接 1 创建 TCPsocket2 连接 TPC 服务器一 准备工作下载 打开 再切换至该应用的路径下二 启动运行 sunny execlientid 隧道 id 三 Socket 工具创建 TCP 服务器切记这个上面设置的这个端口号 6001 要和你隧道管理界面上的本地端口号一致 本人因为没有注意 导致弄了很长的时间 四 创建与连接 1 创建 TCPsocketAT NSOCR STREAM 6

    2025年10月14日
    3
  • 爬虫框架Scrapy安装

    爬虫框架Scrapy安装免责声明:本文所记录的技术手段及实现过程,仅作为爬虫技术学习使用,不对任何人完全或部分地依据本文的全部或部分内容从事的任何事情和因其任何作为或不作为造成的后果承担任何责任。Scrapy爬虫框架用Python编写的功能强大,应用范围最广,最流行的爬虫框架,框架提供了大量的爬虫相关的组件,能够方便快捷的完成各网站的爬取。01Scrapy安装打开scrapy官方网站【scrapy.org】,目前最新版本为2.5:按照官方提供的脚本,在命令行执行安装:pipinst..

    2022年9月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号