如何获取局域网内所有电脑的MAC地址

 我来答
匿名用户
2016-04-12
展开全部
进服务器或者路由器,一目了然,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快又稳
2024-10-28 广告
作为广州快又稳网络科技有限公司的工作人员,我们的Windows云服务器以其高配置、大带宽和低价格著称,提供极致性价比的选择。这些云服务器支持多种操作系统版本,包括最新的Windows系统,确保用户能够根据自己的需求进行灵活配置。我们致力于提... 点击进入详情页
本回答由快又稳提供
育知同创教育
2016-04-12 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
1
set ip=192.168.1
set为设置环境变量命令。
该命令将IP设置为值为“192.168.1"的参数,其中“192.168.1"为局域网网段,请根据局域网实际值修改。
2
for /l %j in (1,1,10) do echo %i
for命令是DOS命令中一个功能十分强大的命令,在这里用到/L参数,功能是以一个增量数字集进行循环(start,step,end),即变量j初值start为1,每循环一次加增量step1,直到大于end10停止循环,每次循环执行do后面的命令。
该命令功能对变量进行每次加1,并用echo命令显示在屏幕上。
3
ping 192.168.1.1 -n 1 -w 1000
ping命令主要用于测试IP的连通性,-n 表示每一次ping过程发送的数据包数,-w表示每个数据包发出后等待回执的时间阀值。
该命令表示对192.168.1.1的电脑进行ping测试,发1个包,回执时间超过1秒视为超时不通。
如果IP地址能ping通,程序能够从应答数据包中获取该IP设备的mac地址,并存放到内存arp地址表中。
4
arp -a 192.168.1.18
arp命令主要用于显示或修改arp地址表。-a表示显示某个或全部arp地址表。
该命令表示显示IP为192.168.1.18设备的mac。

5
echo ssss|findstr dynamic
findstr查找字符串命令,一般用于从文件中查找含个某个字符的行,这里用到“|”(管道符),即把上一个命令的输出作为下一个命令的输入。
该命令表示在命令“echo ssss”输出结果中查找含有“dynamic”字符串的行。
二、具体方法
1
方法1:
set ip=192.168.1 && for /l %j in (1,1,254) do (ping %ip%.%j -n 1 -w 1000 ) && arp -a>1.txt
2
该方法适合在小IP地址范围内获取mac地址,因为如果范围过大,ping命令执行的时间会比较长,会造成早前arp地址表中获取的mac超时失效,从而无法获取局域网内完整的mac地址表。如下图,分别是上属命令运行过程中的arp表内容,前、后表对比,很容易看出,部分mac地址已经丢失,而且还存在为全0的非真MAC地址。
方法2:
set ip=192.168.1 && for /l %j in (1,1,254) do ( ping %ip%.%j -n 1 -w 1000 |arp -a %ip%.%j |findstr dynamic >>2.txt )
4
相对方法1,该方法应该是比较完美的。在ping执行后,即时将获取的真实mac地址保存了下来。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式