IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    如何安装xsscrapy

    老王发表于 2014-10-30 09:03:14
    love 0

    我不想攻击别人,但我更不想被别人攻击。于是乎安全扫描变得格外重要,如此才能防患于未然,xsscrapy 就是这样一个漏洞检测工具。

    既然这个工具是用 Python 写的,那么理论上安装应该是一件非常简单的事情:

    shell> git clone https://github.com/DanMcInerney/xsscrapy
    shell> cd xsscrapy
    shell> pip install -r requirements.txt

    不过我的服务器运行的操作系统是 CentOS 5.4 ,搭配的环境是 Python 2.4 ,于是整个过程变得异常坎坷,实际上我花了一天的时间才摸索成功,本文记录一下过程:

    因为 Python 版本比较旧,所以在动手之前先安装新版 Python ,这没有什么可说的,不过需要提醒的一点是,要确保包含如下开发包,否则 Python 不可用:

    shell> yum install openssl-devel bzip2-devel zlib-devel

    环境准备好了之后,在安装 xsscrapy 依赖的 lxml 时,出现错误:

    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe2 in position …: ordinal not in range(128)

    看上去似乎是编码问题,但实际上是缺少了依赖的开发包所致:

    shell> yum install libxslt-devel libxml2-devel

    这还不算完,又遇到如下错误信息:

    TypeError: sequence item 0: expected string, int found

    网上搜索了一下,发现别人说是 lxml 3.4.0 的 BUG ,于是装了个旧版:

    shell> pip install lxml==3.3.6

    刚解决了 lxml 的问题,结果按下葫芦起了瓢, cryptography 报错:

    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe2 in position …: ordinal not in range(128)

    有了前面的经验,没有被错误信息误导,沿着日志往前面捋,发现真正的原因:

    No package ‘libffi’ found

    安装对应的 devel 开发包:

    shell> yum install libffi-devel

    这还不算完,又遇到如下错误信息:

    AttributeError: ‘FFILibrary’ object has no attribute ‘SSL_OP_NO_TICKET’

    说起来,这是旧版 pyopenssl 的问题,按照官方补丁改了改,终于成功了。



沪ICP备19023445号-2号
友情链接