首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux下ping MAC地址

问如何在Linux下ping MAC地址
EN

Stack Overflow用户
提问于 2013-01-30 17:24:07
回答 5查看 67K关注 0票数 11

我想ping一个已知的MAC地址,我尝试使用nmap:

代码语言:javascript
复制
sudo nmap -sP 192.168.15.1/24 | grep  20:64:32:3F:B1:A9

但在本例中,它ping所有255个IP地址(从192.168.15.1到192.168.15.255),直到获得我的MAC地址,这需要大约4秒的长时间。!

有什么想法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-01-31 00:04:54

使其更快的唯一方法是测试mac地址是否已经存在于arp表中。

代码语言:javascript
复制
#!/bin/bash

# extract ip from local arp table
ip=$(arp | grep 20:64:32:3F:B1:A9 | awk ' { print $1 } ')

# found an ip tied to the mac address?
if [ ! -z $ip ]; then

    # if found, do you want to ping it?
    ping $ip
else
    echo "Not found into local arp table. Trying another way..."

    # wanna try your nmap strategy?
    # sudo nmap -sP 192.168.15.1/24 | grep  20:64:32:3F:B1:A9
fi;
票数 9
EN

Stack Overflow用户

发布于 2013-03-20 06:01:29

您无法ping通MAC地址。您只能ping一个IP地址,因此您要做的是找出哪个IP地址属于某个MAC地址,然后ping该IP。ARP用于查找具有特定IP地址的机器的MAC地址,但您不能真正地进行相反的操作(从技术上讲,存在一种称为Reverse ARP的协议,但它从未在典型操作系统中使用过)。一旦找到MAC地址,它将被保存在ARP缓存中,这样您就不必在几分钟内再次查找它,但这不是查找MAC的可靠方法,因为条目不会在缓存中停留很长时间。您已经知道如何创建静态条目,但是如果您将192.168.15.196硬编码到该MAC地址,为什么不直接ping 192.168.15.196 (这就是您要做的全部工作)?

票数 7
EN

Stack Overflow用户

发布于 2013-08-15 22:18:59

nmap提供了-T选项来加速这类操作。-T 5是最快的。

您还可以尝试使用--min-parallelism选项。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14600466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档