【安装xerosploit】安装xerosploit的步骤如下,我是将xerosploit直接克隆到了根目录下(使用“cd /”到达根目录)
git clone https://github.com/LionSec/xerosploit(克隆完毕之后会在根目录下生成一个名为xerosploit文件夹)
cd xerosploit
sduo python xerosploit.py
在对xerosploit进行编译运行时,出现问题,最先出现了缺少依赖文件的情况,详情如下图所示:
 
又或者是:
 
 
以上两个错误,在打开xeroploit时都遇到了,最先遇到的是缺少terminaltables的报错,通过google搜索,发现解决方法如下
分别运行一下指令:
 
 git clone https://github.com/Robpol86/terminaltables.git
  cd terminaltables
  python setup.py install
 
完成后,就可以成功安装玩完terminaltables库文件了,但这时在运行xeroploit时就会出现缺少tabulate的报错,可以尝试安装缺少的库:
 
sudo apt-get install python-tabulate
 
如果以上指令用不了,可采用备选方案"去github找python-tabulate并执行克隆以及编译安装",具体操作如下:
 
cd python-tabulate
python setup.py install
 
然后,再次运行xeroploit,依然报错,但今次是:

经过一番百度,google之后依旧没有得到满意的答案,于是决定自己找方法,分析错误提示,发现了非常关键的一句话“No such file or directory: '/opt/xerosploit/tools/files/iface.txt'”
经过简单分析,文件或设置路径可能存在问题。
于是,经过观察发现,我的xeroploit文件夹是存放在根目录里的,也就是说这个"/opt"根本就不存在,排除设计者在编写程序代码时使用了绝对路径的可能,判断理由:1.并不是全部用户都报错,仅仅是一部分;2.相信能够写出工具来的人不可能犯这种低级错误。
不管怎样,不管出现这个问题的原因是什么,先想办法解决这个问题:
检查了下我的xerploit文件夹路径,目前我的位置是在xerosploit文件夹目录下,如下图所示:
 
 

输入“cd /”返回根目录,然后输入"ls",查看根目录下的所有文件,如下图所示:

如上图红色标记所示,xeroploit文件夹确实被存放在根目录下。也就是说,我刚才的分析是正确的,程序里的设置目录跟当前目录不一致,导致程序无法执行
那么,到这里,思考的解决方法有两种,我使用的是第二种,结果可以成功运行xerosploit,方案如下:
方案一:(相对简单,本人未测试,希望使用此方法成功解决问题的朋友留言告诉我,谢谢!)在根目录下新建一个名为"opt"的文件夹,然后把xerosploit文件夹移动到opt文件夹目录下。
方案二:(相对麻烦,容易出错,不建议使用,仔细点可以解决,我使用的此方案……)首先,进入到xerosploit文件夹目录下,如下图所示:
 
 
然后,输入"gedit xerosploit.py",如下图所示:
 

回车命令,打开编辑器编辑程序文件,需要把程序文件中的"/opt"全部删除掉,使程序中的文件路径与当前系统文件路径相一致,这里之所以选择gedit编辑器的原因是它可以像office word一样对整篇文档进行搜索替换,打开编辑器的搜索功能,如下图所示:
 
这里,我使用的是"查找",而不是"查找和替换",原因是替换字符不能为空,如果替换成空格,不保证一定正确,所以,既然已经选择了方案二,那么就认真地手动删除吧,数量不多,在正常操作的可承受范围之内,但是在手动删除时,请务必认真,不要多删除,也不要少删除,特别是对于路径来说,一个空格可能就会发生许多未知的错误,再加上是在linux环境下,而非windows环境,所以,每一部操作都需要谨慎!
通过搜索"/opt",搜索出来的会有黄色高亮提示,如下图所示:
 
将文件中所有的"/opt"删除掉,不要多删除,也不要少删除!
全部删除完毕后,可以检查一下,确保所有的"/opt"都已经删除,保存关闭编辑器。
最后,在xerosploit文件夹目录下执行指令"./xerosploit.py",尝试运行xerosploit工具,结果如下图所示:
 

成功运行!
 
 
 
==============================================================================================================================
有关方法二的补充说明
==============================================================================================================================
本人试验过方法二,比方法一方便不少,因步骤简单,所以在这里简单概述即可。
 
 
保存退出,然后执行 sudo python xerosploit.py
 
方法一 也可以成功运行!

有关xerosploit运行报错问题的有效解决方案的更多相关文章

  1. Flutter运行报错 `kernel_snapshot for errors` 解决方案

    Flutter运行报错 `flutter kernel_snapshot for errors`解决方案 当你Flutter项目删除了dart文件如果遇到 target:kernel_snapshot ...

  2. appium运行报错java.net.SocketException: socket write error

    这个错我调了 快两天一点头绪没有,脚本正常跑没问题,但是就是控制台输出信息报错,没法定位问题在哪.报错如图: 虽然这个报错不影响测试结果,但是本人有强迫症,一定要查出究竟: 我的尝试: 1.那天试验, ...

  3. macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新

    由于chrome浏览器自动更新,导致 macaca运行报错,重新安装和更新chrome-driver 之后,还需要把chrome浏览器降级到50版本: 但是chrome会自动更新,所以需要禁止.找到这 ...

  4. Selenium Grid 运行报错 Exception thrown in Navigator.Start first time ->Error forwarding the new session Empty pool of VM for setup Capabilities

    Selenium Grid 运行报错 : Exception thrown in Navigator.Start first time ->Error forwarding the new se ...

  5. iOS-C文件添加到iOS项目中,运行报错

    iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...

  6. Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer

    Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1.  Start heka ...

  7. react native-调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错

    调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错,而在iOS上运行没问题.原因是因为接口是有验证信息的,而调用这个插件时没有传入,在iOS上会自动加 ...

  8. 运行报错:java.io.IOException: invalid constant type: 15

    jdk,tomcat更新到jdk1.8与 tomcat8 运行报错:java.io.IOException: invalid constant type: 15 pom.xml文件中更新javassi ...

  9. pycharm移动项目文件后,运行报错

    pycharm移动项目文件后,运行报错: ModuleNotFoundError:  No module named 'D:/my_project/my_cases/email139cases/tes ...

随机推荐

  1. react-native修改android包名

    安卓已包名作为应用的唯一id,相对iOS来说改起来就不是那么方便,但为了能正式发布自己的应用,还是得改过来. 假设包名为com.exease.etd.objective,以下地方需要修改. 首先是两个 ...

  2. 跟我一起学Git (十) Patches【转】

    本文转载自:http://cs-cjl.com/2014/05/05/learn_git_with_me_10 Git实现了以下三条用于交换patch的命令: git format-patch 用于创 ...

  3. java: new Date().getTime() 与 System.currentTimeMillis() 与 System.nanoTime()

    java使用new Date()和System.currentTimeMillis()获取当前时间戳   在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时 ...

  4. 算法(Algorithms)第4版 练习 1.3.18

    1.3.18 Deletes from the list the node immediately following x.

  5. ss命令能识别的TCP状态的关键字

    [TCP_ESTABLISHED] = "ESTAB",         [TCP_SYN_SENT] = "SYN-SENT",         [TCP_S ...

  6. mooc_java 集合框架上 学生所选课程

    用一个集合Set存放学生所选课程接口不能实例化,所以用其实现类进行实例化 set接口不能实例化,通过HashSet这个实现类来进行实例化,需要导入包this.courses=new HashSet() ...

  7. IE不支持HTML5表单属性placeholder的解决办法

    1. [代码][JavaScript]代码 (function ($) {    $.fn.placeholder = function (options) {        var defaults ...

  8. Web性能测试中的几个概念【转】

    每秒查询率QPS:对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,即每秒请求数,即最大谈吐能力. 并发数:并发数和QPS是不同的概念,一般说QPS会说多少并发用户下QPS,当QPS相同时, ...

  9. html5--2.1新的布局元素概述

    html5--2.1新的布局元素概述 学习要点 了解HTML5新标签(元素)的优点 了解本章要学习的新的布局元素 了解本章课程的安排 HTML5新标签的优点: 更注重于内容而不是形式 对人的友好:更加 ...

  10. 分享知识-快乐自己:初始 Struts2 (基本概念)及 搭建第一个Demo

    1):struts2 的基本概念: 1-1):Struts2 是什么? 1.Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2 ...