MAC os x 下 python-nmap 安装问题总结

1、先说遇到的问题

pip install python-nmap

安装python-nmap 之后,遇到如下问题:

>>>import namp
>>> nm = nmap.PortScanner()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/nmap/nmap.py", line 131, in __init__
    os.getenv(‘PATH‘)
nmap.nmap.PortScannerError: ‘nmap program was not found in path. PATH is : /Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/lib/python2.7/site-packages/python_nmap-0.6.1-py2.7.egg:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin‘

查看PortScanner类源码发现,__init__(self, nmap_search_path=(‘nmap‘, ‘/usr/bin/nmap‘, ‘/usr/local/bin/nmap‘, ‘/sw/bin/nmap‘, ‘/opt/local/bin/nmap‘)) 初始化设置了默认查找路径, 还有段代码是出现以上错误的源程序,如下:

        #‘Nmap version 5.0 ( http://nmap.org )‘
        # This is for Mac OSX. When idle3 is launched from the finder, PATH is not set so nmap was not found
        for nmap_path in nmap_search_path:
            try:
                if sys.platform.startswith(‘freebsd‘)                    or sys.platform.startswith(‘linux‘)                    or sys.platform.startswith(‘darwin‘):
                    p = subprocess.Popen([nmap_path, ‘-V‘],
                                         bufsize=10000,
                                         stdout=subprocess.PIPE,
                                         close_fds=True)
                else:
                    p = subprocess.Popen([nmap_path, ‘-V‘],
                                         bufsize=10000,
                                         stdout=subprocess.PIPE)

            except OSError:
                pass
            else:
                self._nmap_path = nmap_path  # save path
                break
        else:
            raise PortScannerError(
                ‘nmap program was not found in path. PATH is : {0}‘.format(
                    os.getenv(‘PATH‘)
                )
            )  

这段代码简要解释下功能: 就是使用初始路径在命令行中执行: 路径 -V ,  上面的代码就是执行:nmap -V

在命令行中执行: namp -V , 如果出现 nmap: command not found,   就是你没有安装nmap , 查了些资料说python-nmap 依赖nmap , 需要先安装

nmap 才行。

PS: 路径上的nmap 不是文件夹,也不是namp.py文件,而是二进制可执行文件, 如果相应路径找不到nmap可执行文件,说明namp没安装或路径不对

2、 brew install nmap

这个我试很多次才成功, 老是出现找不到资源的错误,

curl: (28) Operation timed out after 0 milliseconds with 0 out of 0 bytes received

Error: Failed to download resource "nmap"

可能是因为网络不行。

到此nmap安装已经安装好了。

但是执行: nmap 命令还是出现:

-bash: nmap: command not found

需要按照命令提示执行一下命令:

brew link --overwrite nmap

再执行namp -V ,  成功!

安装nmap成功后命令行中有个警告:

==> Caveats

Python modules have been installed and Homebrew‘s site-packages is not

in your Python sys.path, so you will not be able to import the modules

this formula installed. If you plan to develop with these modules,

please run:

  mkdir -p /Users/jason/Library/Python/2.7/lib/python/site-packages

  echo ‘import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")‘ >> /Users/jason/Library/Python/2.7/lib/python/site-packages/homebrew.pth

这个python modeles就是指python-nmap , 按照命令执行下:(我的python-nmap 是先于nmap安装好的,所以有这个提示。)

mkdir -p /Users/jason/Library/Python/2.7/lib/python/site-packages

echo ‘import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")‘ >> /Users/jason/Library/Python/2.7/lib/python/site-packages/homebrew.pth

至此,nmap.PortScanner() 问题就解决了。

PS: http://nmap.org/ , 可以直接下载nmap 安装包
 
时间: 2024-10-25 22:32:41

MAC os x 下 python-nmap 安装问题总结的相关文章

Mac OS X下go的安装,使用,删除

下载和安装 下载 - 在官网下载安装包然后安装 安装 一路默认安装即可 然后在终端运行go version,如果显示类似下面的信息,表明安装成功 go version go1.10.1 darwin/amd64 如果没有出现上面的信息或者出现了其他的报错信息,请自行查询解决 GOROOT和GOPATH和bin的设置 创建一个工作空间,比如 $HOME/go. (如果你想在一个不同的目录下创建工作空间,那你需要设置一下GOPATH 环境变量和bin环境变量) 设置 GOPATH 环境变量 编辑你的

Mac OS X下GnuPlot的安装和配置(无法set term png等图片输出)

今天使用gitstats分析git repo的活动信息,发现其内部使用gnuplot,结果发现无法生成png图片,进入gnuplot的shell发现无法设置png格式输出.如下 gnuplot> set term png ^ unknown or ambiguous terminal type; type just 'set terminal' for a list 或者类型别换成unknown 这是因为OS X 现在已经不预装X11了(见官方消息http://support.apple.com

在Mac OS系统下使用自己安装的PHP

今天在安装单元测试框架PHPUnit,需要PHP的最低版本是5.6,由于我的MacBook自带的PHP版本是5.5.36,不能满足安装条件. 看了一下这个网址:https://php-osx.liip.ch/#install ,但是下载不了,里面的一句话引起了我的注意: You can also adjust your PATH do include that directory, eg. write into your ~/.profile file the following export

Mac OS X 下MySQL的安装、配置及卸载

打开终端,输入: vi~/.bash_profile 输入i 然后粘贴以下内容 # mysql alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin' # ls alias ls='ls -G' 按ESC键 输入: :wq 重启终端程序 修改MySQL的管理员密码: mysqladmin -u root -p123456 卸载MySQL: sudo rm /usr/lo

Mac OS X 下安装python的MySQLdb模块

参考资料: mac os x下python安装MySQLdb模块   http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题  http://www.myexception.cn/operating-system/1616547.html 在Mac OS X 中安装好了MySQL和Django,在Django中访问MySQL数据库时,提示“ImportError: No module named MySQLdb”,是由于没有安装Pytho

Mac OS10.9 下python开发环境(eclipse)以及自然语言包NLTK的安装与注意

折腾了大半天,终于把mbp上python自然语言开发环境搭建好了. 第一步,安装JDK1.7 for mac MacOS10.9是自带python2.7.5的,够用,具体的可以打开终端输入python显示版本号码.在10.9中MacOS没有自带的JDK1.7所以我们得先安装JDK1.7 for mac 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 选择Mac OS

在Mac OS X下安装Android Studio

在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装JDK(1.8版本及以上),如果未安装就去http://www.oracle.com/technetwork/java/javase/downloads/index.html下载安装. 3. 双击Android Studio的dmg安装文件,把Android Studio拖放到Application

Mac OS X 下安装使用 Docker

它依赖于 LXC(Linux Container),能从网络上获得配置好的 Linux 镜像,非常容易在隔离的系统中运行自己的应用.也因为它的底层核心是个 LXC,所以在 Mac OS X 下需要在 VirtualBox 中跑一个精小的 LXC(这里是一个 Tiny Core Linux,完全在内存中运行,个头只约 24MB,启动时间小于 5 秒的 boot2docker) 虚拟机,构建在 VirtualBox 中.以后的通信过程就是 docker --> boot2docker --> co

Mac os X下安装Mysql 以及配置方法和常用命令

一.安装mysql 1.mysql下载地址http://dev.mysql.com/downloads/mysql/我的机器是mac 10.8的;所以使用mysql-5.6.10-osx10.7-x86_64.dmg安装包: 2.安装软件包位于硬盘映象(.dmg)文件中,必须首先双击搜索起中的图标来安装该文件.应当安装图像并显示其内容. 注释:在继续安装前,一定要使用MySQL管理器应用程序(在Mac OS X服务器上)或通过命令行的mysqladmin shutdown关闭所有运行MySQL服

转-在Mac OS上搭建Python的开发环境

在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可能就不够了,因此我们需要重新安装python.这里有两种方案安装: 1.homebrew 1 brew install python 这个方案比较简单,如果出错的话可以给前面加sudo试试,这个安装的python可能不是最新版. 2.从官网下载安装大家可以