You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Kali Linux中sqlmap报/usr/bin/python3不存在的解决求助

解决Kali Linux中sqlmap因Python3软链接缺失导致的报错问题

这问题我之前在Kali上踩过坑,本质就是系统里的Python 3没有创建python3的软链接,导致sqlmap脚本开头指定的#!/usr/bin/python3找不到对应的解释器,但实际上你的Python 3已经装好了——毕竟python -V都显示是3.8.6了。下面给你两种靠谱的解决方法:

方法一:手动创建python3软链接(最直接)

因为你的/usr/bin/python已经指向了Python 3.8.6,我们只需要给它加个python3的别名链接:

  1. 先确认当前Python的指向(可选,但能帮你确认情况):
    ls -l /usr/bin/python
    
    输出应该类似这样:lrwxrwxrwx 1 root root 9 Aug 1 10:00 /usr/bin/python -> python3.8,说明确实是指向Python3的。
  2. 创建软链接:
    sudo ln -s /usr/bin/python /usr/bin/python3
    
  3. 验证是否成功:
    python3 -V
    
    此时应该会输出Python 3.8.6,再运行sqlmap就能正常启动了。

方法二:修改sqlmap的脚本解释器行(更灵活)

如果不想修改系统的软链接,也可以直接改sqlmap脚本的开头:

  1. 打开sqlmap的主脚本文件:
    sudo nano /usr/bin/sqlmap
    
  2. 找到第一行的#!/usr/bin/python3,把它改成下面任意一种:
    • 直接用现有的Python路径:#!/usr/bin/python
    • 用环境变量找默认Python(推荐,适配性更强):#!/usr/bin/env python
  3. 保存退出nano:按Ctrl+O回车确认保存,再按Ctrl+X退出。
  4. 现在运行sqlmap就不会再报找不到解释器的错了。

补充:用update-alternatives规范管理Python版本(进阶)

如果你以后可能会切换不同的Python版本,可以用系统的替代方案工具来管理:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python 1

之后如果要切换Python3版本,只要运行:

sudo update-alternatives --config python3

按提示选择对应的版本编号即可。

内容的提问来源于stack exchange,提问作者Ryoma

火山引擎 最新活动