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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 易语言注入 c dll,易语言DLL注入模块简单型

    易语言注入 c dll,易语言DLL注入模块简单型易语言DLL注入模块简单型系统结构:注入DLL,卸载DLL,提取错误标题,提取错误信息,提取错误代码,UnHookDLL,OpenProcess,VirtualAllocEx,CloseHandle,WriteProcessMemory,VirtualFreeEx,GetModuleHandle,GetProcAddress,CreateRemoteThread,WaitForSingleObje…

    2022年5月13日
    51
  • 写给三维建模入门小白的建议

    写给三维建模入门小白的建议各位三维建模入门的小白们 下面这些建议一定可以在三维建模的学习过程中有所帮助 强烈建议大家收藏哦 第一 要想学会操作 3DMAX 就必须要熟练地使用电脑 鼠标和键盘的灵活度是必须要的 因为在接触 3DMAX 后 很多指令都需要用到快捷键 我们在后面会讲到 3DMAX 快捷键以及它的重要性的 所以对电脑越是熟悉 学起来就越简单顺利 第一步要学会安装 3DMAX 软件 了解 3DMAX 的操作界面 3DMAX 的基本知识一定要先掌握 比如 3DMAX 的界面与概述 文件与视图菜单在什么位置 主工具栏中都是什么工具 三维模型的创建与编

    2025年8月15日
    3
  • Java 审计之SSRF篇(续)

    Java审计之SSRF篇(续)0x00前言先来说说为啥会有该篇章,在刚刚码完上篇文章后,后来又去找了找在Java中的一些远程请求的类。果然翻到了一些有意思的东西,在这里就拿出来给大家分享一下。

    2021年12月12日
    53
  • unity c++ c#(3d加工编程软件)

    一、前言这篇文章主要是给零基础想要Unity入门的关于C#编程的一些意见二、参考文章unity中的C#编程-零基础(Unity2017)三、正文1.什么是C#编程语言?微软官方出版2.编程工具(IDE)3.创建第一个C#代码4.场景的保存和脚本的保存5.关于日志输出(指控制输出,其中Log有三类:正常、警告、错误输出)6.变量7.方法的定义和调…

    2022年4月14日
    53
  • pix2pix模型(雪花算法原理)

    一、算法名称Pix2pix算法(Image-to-ImageTranslation,图像翻译)来源于论文:Image-to-ImageTranslationwithConditionalAdversarialNetworks二、算法简要介绍、研究背景与意义2.1介绍图像处理、图形学和视觉中的许多问题都涉及到将输入图像转换为相应的输出图像。这些问题通常使用特定于应用程序的算法来处理,尽管设置总是相同的:将像素映射到像素。条件对抗性网(cGAN)是一种通用的解决方案,它似乎能很好地解决各

    2022年4月11日
    149
  • 汉化日记_sorceress alive汉化

    汉化日记_sorceress alive汉化使用方法:下载后解压,替换你安装OpenLiveWriter位置:C:\Users\Administrator\AppData\Local\OpenLiveWriter的app目录下的OpenLiveWriter.Localization.dll即可变成中文链接:https://pan.baidu.com/s/1Ja0-DcRihiEHtvsU1u5j2w?pwd=u7f8提取码:u7f8…

    2022年10月20日
    2

发表回复

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

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