如何在Windows中通过Cygwin安装和运行Nmap程序?

6

我正在尝试让Cygwin显示我的笔记本电脑开放了哪些端口,但当我尝试运行它时,它会显示未找到命令。

这是我要尝试运行的命令:nmap -v -A <<IP地址>>


Cygwin不提供nmap。你已经为Windows安装了nmap吗? - pak
是的,我已经为nmap安装了它,但我认为它会以我在Ubuntu终端上运行它的方式运行,但我错了,你知道在Cygwin上运行它使用什么命令吗? - Adam Dewhurst
你需要将它安装在路径中的某个位置,或者将安装目录添加到Cygwin的路径中,这样Cygwin就知道在哪里查找它。你可以通过在.bash_profile中添加export PATH=$PATH:<nmap path>来实现。 - pak
2个回答

9

这篇博客文章提供了关于如何使它工作的一些有用信息。以下是复制的内容,以防它消失:

  1. 下载 nmap。
  2. 安装 nmap 的“自我安装程序” .exe,并在 Nmap 安装程序询问时安装 Npcap。
  3. 注意:评论中建议通过将路径添加到 ~/.bashrc 文件来实现替代。 Cygwin:在 ~/.bash_profile 中添加:alias nmap="/cygdrive/c/Program\ Files\ \(x86\)/Nmap/nmap.exe"。请注意,\\( 对于 Cygwin shell 正确解释命令至关重要。
  4. 打开新的 Cygwin 窗口开始使用 nmap。

1
为什么不直接编辑~/.bashrc并将其添加到$PATH中呢? export PATH=$PATH:'/cygdrive/c/Program Files (x86)/Nmap' - AJM
2
是的,这似乎更简单 - 指令只是反映博客文章,无论哪种方式都可以工作,因此已经添加了一条注释。 - Steve Chambers

4
根据您安装nmap的位置不同,它可能是以下路径:/cygdrive/c/Program Files (x86)/Nmap/nmap。在Windows命令提示符(cmd)中,它将是c:\Program Files (x86)\Nmap\nmap
然而,在Linux中,nmap并非发现监听端口的最佳工具,并且在Windows中根本无法使用。在cygwin中,请尝试以下命令:netstat -ano|grep LISTEN。在Windows命令提示符中,请输入:netstat -ano|find "LISTEN"。在Linux中,请输入:netstat -anp|grep LISTEN

1
nmapnetstat(或Linux系统上的新版ss)用于非常不同的任务。**nmap实际上会探测被测试端口(或其他协议如ICMP)是否有响应,主要用于检查远程系统和通信路径。netstat(或ss)**将列出在运行命令的系统上的套接字。它不能用于测试远程系统、通信路径或系统对各种探测的响应。 - pabouk - Ukraine stay strong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接