首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux中从IP地址解析MAC地址

Linux中从IP地址解析MAC地址
EN

Unix & Linux用户
提问于 2014-03-18 05:57:23
回答 3查看 208.4K关注 0票数 54

我需要编写一个bash脚本,其中我必须创建一个文件,其中包含主机IP地址的详细信息及其与相应MAC地址的映射。

当主机的IP地址可用时,是否有可能找到任何(远程)主机的MAC地址?

EN

回答 3

Unix & Linux用户

发布于 2014-03-18 06:05:50

您可以使用arp命令:

代码语言:javascript
复制
arp -an

但是你只能在局域网中使用这个命令,如果你想找出任何远程主机的MAC地址,也许你必须使用一些工具来捕获包,比如tcpdump并解析结果。

票数 11
EN

Unix & Linux用户

发布于 2014-03-18 07:44:49

这是我在问Ubuntu中的问题和答案。

您可以使用以下命令

代码语言:javascript
复制
sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap:网络探测工具和安全/端口扫描器。从手册中:

-sP (Skip端口扫描):此选项告诉Nmap在发现主机后不要进行端口扫描,并且只打印出响应扫描的可用主机。这通常被称为“ping扫描”,但您也可以请求运行traceroute和NSE主机脚本。默认情况下,这比列表扫描多了一步,而且通常可以用于相同的目的。它允许对目标网络进行光侦察,而不会引起太大的注意。对攻击者来说,知道有多少主机已经启动,比扫描每个IP和主机名所提供的列表更有价值。-PE; -PP; -PM (ICMP Ping Types):除了前面讨论过的不寻常的TCP、UDP和SCTP主机发现类型之外,Nmap还可以发送无处不在的ping程序发送的标准数据包。Nmap将ICMP类型8(回波请求)数据包发送到目标IP地址,期望类型0(回波应答)从可用主机返回。不幸的是,对于网络探索者来说,许多主机和防火墙现在阻止这些数据包,而不是响应RFC 11222的要求。由于这个原因,仅使用ICMP扫描很少能对因特网上的未知目标进行足够可靠的扫描.但是,对于监控内部网络的系统管理员来说,它们可以是一种实用而有效的方法。使用-PE选项启用此回送请求行为。-PA port list (TCP ACK Ping):TCP与刚才讨论的SYN非常相似.正如您可能猜到的,不同之处在于设置了TCP标志而不是SYN标志。这样的ACK数据包声称是通过已建立的TCP连接来确认数据,但是不存在这样的连接。因此,远程主机应该始终使用RST数据包进行响应,并在此过程中披露它们的存在。-PA选项与SYN (80)使用相同的默认端口,并且还可以以相同的格式接收目标端口的列表。如果非特权用户尝试此操作,则使用前面讨论的连接解决方案。这种解决方法并不完美,因为connect实际上是在发送SYN数据包,而不是ACK。

21,23,80,3389:要搜索的端口。

192.168.1.*:IP的范围。用你的代替。

票数 8
EN

Unix & Linux用户

发布于 2016-02-09 13:39:57

arping

代码语言:javascript
复制
arping -I <interface> -c 1 <host>

命令应该返回响应中的MAC地址。就像,

代码语言:javascript
复制
$ arping -I eth0 -c1 192.168.1.2
ARPING 192.168.1.2 from 192.168.1.5 eth0
Unicast reply from 192.168.1.2 [08:01:27:38:EF:32]  0.746ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

arping由Debian上的包iputils-arping提供。

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

https://unix.stackexchange.com/questions/120153

复制
相关文章

相似问题

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