你能重置NMAP权限吗?

时间:2014-11-12 05:07:52

标签: nmap

我正在构建一个使用一些nmap标志的Web应用程序,例如-O,这需要root用户才能运行。由于我是通过Java应用程序运行的,因此我不想以root身份运行所有内容来完成此任务。是否有可能将nmap privs更改为非root用户?或者,还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

Nmap需要某些操作的root权限,因为底层操作系统需要它们来处理Nmap使用的各种行为:主要是原始套接字和网络嗅探。这不是你可以改变的东西。

一种选择是仅使用不需要root的Nmap功能。这些功能包括:

  • 反向名称解析
  • TCP主机发现(例如,不是ICMP ping或ARP)
  • TCP Connect扫描(-sT
  • 服务版本扫描(-sV
  • 大多数NSE脚本(例如,不是广播或嗅探器脚本)

需要root的功能是:

  • ICMP和UDP主机发现
  • TCP SYN,FIN,NULL,XMAS和其他扫描模式
  • UDP扫描
  • 操作系统指纹识别
  • 路由跟踪
  • 一些NSE脚本

重要的是要注意Nmap没有防止root用户执行任意代码的保护措施。这意味着将非常不安全用作setuid程序或允许非管理员用户使用sudo运行它。

对使用Linux文件功能运行Nmap进行了一些研究。您可以在SecWiki.org的Running nmap as an unprivileged user页面上查看如何执行此操作。