如何使用arp-a命令??

如何使用arp-a命令??,第1张

分类: 电脑/网络 >> *** 作系统/系统故障
问题描述:

我在DOS 下 输入 c:/>arp-a后怎么显示arp-a不是外部或内部命令,也不是可运行的程序或批处理文件??求救啊

解析:

少一个空格

在arp 和 -a 之间添加一个空格就可以了

ARP -A
显示所有ARP连接,注意查看网关的MAC,如果和真实的MAC地址不同,那肯定是有病毒了
继续观察所有的连接,如果发现列表中有一台跟本机没有实际联系的机器,那么,这台机器应该就是ARP病毒的传播者。也可以通过网关那个假MAC地址找到源机(源机的MAC就是那个MAC)。

方法一:原始ping法
第一个方法比较简单,而且受环境限制比较大。众所周知在没有安装防火墙和设置过滤规则的计算机上都容许ICMP协议数据包的通过,那么我们可以通过“ping ip地址”这个命令来查看该IP地址是否有计算机使用。
通过任务栏的“开始->运行”,输入CMD后回车进入命令行模式。假设公司网络是19216810/2552552550,那么我们可以通过ping 19216811,ping 19216812ping 1921681254来测试IP地址是否被占用。
由于原始ping法比较简单,这里就不详细说明了,但是这种方法遇到计算机上安装了防火墙对ICMP协议进行过滤的话,或者公司交换机和路由器上对ICMP实施ACL访问控制列表过滤的话就不可行了。因此这个方法受的局限比较大,一般测试的成功率不高,很容易把安装了防火墙的计算机对应的IP地址认为没有被使用。
方法二:扫描器扫描法
以前笔者在进行网络安全工作时就经常使用扫描器扫描网络中各个主机的漏洞,那么现在我们完全可以使用此方法来查看本网络有哪些IP地址被占用。由于扫描器扫描时并不是仅仅使用ICMP协议进行ping,我们可以设置,让扫描器多扫描几个端口,多扫描几个服务。这样即使计算机上安装了防火墙或者交换机上有访问控制列表过滤ICMP协议,只要该计算机开放了某些端口或某些服务,就不会出现漏报的问题。
通过扫描器扫描出来的IP地址列表还可以导出成HTML文件或TXT文件,这样方便我们保存和统计。
当然扫描器工具很多,这里推荐大家使用安全焦点出的X-SCAN和LANHELPER,感兴趣的读者可以自行下载使用。
使用扫描器扫描法可以查看出网络中几乎全部计算机使用的IP地址,但是对于那些极个别的设置了防火墙的复杂规则,过滤了大部分常用端口和常见服务的计算机来说,还是会或多或少的出现漏报或错报的问题,再加上扫描器扫描法还需要我们下载专门的工具,所以也给 *** 作上带来了不方便。
方法三:sniffer监视法
作为网络管理员的我们应该都会使用sniffer,那么我们只需要在网络中开启sniffer对网络传输的数据包进行监视,过一段时间就会查出有哪些IP地址有数据包发出,这样就可以确定该IP地址已经被占用了。
不过用sniffer的方法不能将已经占用的IP地址保存成文件输出,而且给人有一种大材小用的感觉,毕竟sniffer正统不是用来做扫描IP地址的。
方法四:ARP缓存
实际上笔者还发现了一个方法可以解决网友提出的问题,他的原理是通过ARP缓存来查看获得的,不用使用任何第三方工具,使用系统自带的ARP -A即可。
ARP缓存法是以前面介绍的ping法为基础而来的,对于安装了防火墙或设置过滤规则的计算机来说直接ping该IP地址是得不到返回信息的,但是有一点我们必须注意,那就是虽然无法从ping的返回信息中得出该IP地址是否被占用,但是从ARP缓存中却可以看出来。防火墙等过滤设置可以不容许ICMP协议返回数据包给源地址,但是由于ARP是工作在二层上的,所以在ICMP协议数据包被过滤前ARP已经通过查看MAC的方式获得了网络中在线主机的MAC地址。
只要网络中的计算机想上网,那么他一定会将自己网卡的MAC地址告诉与其连接的交换机,接下来交换机也会进一步将他知道的MAC地址信息反馈给使用ping的主机。这样我们在使用ping的主机上就能够通过是否获得MAC地址的方式来了解该IP地址对应的计算机是否在线了。
通过任务栏的“开始->运行”,输入CMD后回车进入命令行模式。假设公司网络是19216810/2552552550,那么我们可以通过ping 19216811,ping 19216812ping 1921681254来测试IP地址是否被占用。当然不管ping返回的是通还是不通,全部ping完后执行arp -a命令显示ARP缓存表,出现在缓存表中的IP地址就是被占用的地址。
对批处理命令熟悉的网络管理员还可以自行编辑一个BAT命令来完成上面的一系列ping *** 作,BAT文件的内容如下:
FOR /L %i IN (0,1,255) Do ping XXX%i -n 1
arp -a > IPtxt
这个批处理文件将列出所有正在使用的IP地址跟他们的MAC地址,保存到iptxt文件中。当然语句中的XXX%i是可以进行修改的,例如公司网络为19216810/2552552550那么应该修改为
FOR /L %i IN (0,1,255) Do ping 1921681%i -n 1
arp -a > IPtxt
最后再把这个方法的原理进行总结——我们向网段内所有IP地址发送一个icmp包,也许他屏蔽了ICMP包,但是这不要紧,只要他使用了该IP地址就一定会回应一个他的mac地址的数据包过来,这样用arp -a察看本地的arp缓存就能看到他的IP地址跟MAC地址了。
小提示:
我们也可以使用nbtstat -A IP命令来替代arp -a命令。
也许有人会问计算机能够禁止ARP数据包的通过呢?实际上计算机上能禁止ICMP包,但是是不可能禁止arp包的,如果禁止了arp,那么交换机就找不到该计算机了,该计算机也无法连接网络,访问网络上的任何资源了。所以说ARP缓存法让我们通过现象看到了本质,即使ping无法返回任何有用信息,但是实际上他已经帮助我们找出了在线主机对应的MAC地址,进一步了解了他的IP地址。
本篇文章来源于 中国协议分析网| 原文链接:>arp
-a是查看arp缓存表的,数据发送时会查看arp缓存表,里面的信息是和你有过联系的设备的信息,按照里面的信息来发送数据,arp缓存表过一段时间会清空,所以不用担心。现在有人利用arp缓存表来做坏事,更改arp缓存表,使你的电脑找不到正确的目的设备,通过这个可以你发送的信息,或让你的信息发送不出去,这就是我们常说的arp攻击,像楼上说得装arp防火墙就能解决,说实话我是没有碰到过,所有arp防火墙都试过该攻击还是被攻击,其实最有效的方法就是不让这些攻击发出,攻击发不出来就不会有被攻击的事了,现在网上都盛传免疫网络,都说能解决这个问题

运行arp -d 需要用管理员身份运行,进入windows\system32文件夹找到cmdexe,右键“以管理员身份运行”,这样打开cmd程序就能运行arp -d命令了。但是这样还是不能运行arp -s 进行静态mac绑定,大概是win7禁用了这个命令,需要用netsh命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13365130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存