环境- Centos 7,nmap 6.40
目前,我正在尝试通过nmap命令实用程序为几个IP列表获取MAC/HW地址,在root用户的情况下,它工作得很好。
作为root用户
nmap -sP -PE -iL <list-of-IPs> 从2018-06-19 07:05美国东部时间Nmap 6.40 ( http://nmap.org )开始192.168.xx.xx主机的Nmap扫描报告已启动(0.0015s延迟)。MAC地址:XX:XX
作为非root用户
nmap -sP -PE -iL <list-of-IPs>警告:您不是root用户--使用TCP pingscan而不是ICMP
从美国东部时间2018-06-19 07:19开始Nmap 6.40 ( http://nmap.org )注意:主机似乎已关闭。如果它真的打开了,但阻止了我们的ping探测,请尝试-Pn Nmap done: 1个IP地址(0个主机打开)在2.01秒内扫描完毕
请求您的建议/帮助如何通过普通用户实现相同的功能。
谢谢
发布于 2018-06-19 20:23:42
可以以非根用户身份运行nmap。This Wiki很好地描述了如何设置一切,以便以非特权用户的身份运行它。链接教程还描述了Ubuntu和Red系统的这一点,这对您来说应该很好,因为您使用的是CentOS。
我认为重要的是要牢记以下安全警告:
警告:这很危险。Nmap脚本引擎(NSE)允许脚本嗅探网络、更改防火墙路由和接口配置,或利用本地主机上的漏洞。对于聪明人来说,使用Nmap和NSE升级到完全root权限是可能的,尤其是在功能提升的情况下。如果您不了解这些风险,请不要这样做。
来自Wiki的摘要:
adm。确保您使用了正确的nmap位置。在我的例子中,这是/usr/bin/nmapsudo chgrp adm /usr/bin/nmap
sudo chmod 750 /usr/bin/nmap确保在(more information about capabilities here):中安装了
setcap命令sudo yum install libcapsudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmapnmap。但是,您必须明确定义您希望这样做。您可以将其定义为nmap的参数
nmap --privileged -sP -PE -iL <list-of-IPs>或者作为环境变量:
export NMAP_PRIVILEGED=""编辑:我不知道为什么这个答案被否决了,因为这是这个问题的一个可能的答案(尽管这个问题当然更适合超级用户或Unix和Linux Stack Exchange)。我在我自己的系统中添加了以下使用和不使用--privileged的结果:
$ nmap -sP -PE 192.168.0.1
Warning: You are not root -- using TCP pingscan rather than ICMP
Starting Nmap 7.60 ( https://nmap.org ) at 2018-06-20 08:52 CEST
Nmap scan report for <HOST NAME> (192.168.0.1)
Host is up (0.0011s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
$ nmap --privileged -sP -PE 192.168.0.1
Starting Nmap 7.60 ( https://nmap.org ) at 2018-06-20 08:52 CEST
Nmap scan report for <HOST NAME> (192.168.0.1)
Host is up (0.0014s latency).
MAC Address: XX:XX:XX:XX:XX:XX (<MANUFACTURER NAME>)
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds发布于 2018-06-20 00:24:33
Nmap必须以root用户身份运行,才能检索此信息。幸运的是,在Linux系统上还有其他的MAC地址信息来源:系统的ARP表。尝试联系某个IP地址(使用Nmap或其他工具,如ping)后,运行arp -n以打印IP到MAC地址的映射表。
https://stackoverflow.com/questions/50927192
复制相似问题