在Kali 2025.4中部署AI辅助安全测试工具HexStrike时,有用户反馈服务启动后只显示一个本地IP(127.0.0.1),导致无法从同一网络下的Windows主机通过Cherry Studio等客户端连接其MCP服务器。这确实限制了工具的便利性。那么,为什么服务只绑定到了本地回环地址?又如何快速解决,让它监听所有网络接口以便外部访问呢?
实际上,问题的根源在于服务的默认监听地址配置。HexStrike默认可能将API_HOST参数设置为“127.0.0.1”,这使其仅接受来自本机的连接。要让它接受来自任何IP地址(包括同一局域网内其他机器)的连接,我们需要将其修改为“0.0.0.0”。

解决方法非常简单,只需修改核心的 hexstrike_server.py 配置文件即可。以下是详细步骤:
1. 定位配置文件
首先,我们需要找到 hexstrike_server.py 文件在系统中的位置。通常可以使用 find 命令进行全局搜索:
cd /
find -name hexstrike_server.py
命令执行后,你可能会看到类似以下的输出,显示文件存在于多个路径:
.//root/.local/share/Trash/files/hexstrike-ai/hexstrike-env/hexstrike_server.py
/usr/share/hexstrike-ai/hexstrike_server.py
通常,我们应修改正在使用的那个路径下的文件,例如 /usr/share/hexstrike-ai/hexstrike_server.py。

2. 修改监听地址配置
使用文本编辑器(如 nano 或 vim)打开找到的 hexstrike_server.py 文件,找到定义 API_HOST 的行。原始配置可能类似于:
API_HOST = os.environ.get('HEXSTRIKE_HOST', '127.0.0.1')
关键修改点就在这里。我们需要将默认值从 '127.0.0.1' 改为 '0.0.0.0':
API_HOST = os.environ.get('HEXSTRIKE_HOST', '0.0.0.0')

参数解释:
127.0.0.1:这是一个环回地址,服务仅接受来自服务器自身的连接。
0.0.0.0:这是一个特殊的元地址,表示服务将绑定到服务器上所有可用的网络接口(包括局域网IP和环回地址),从而允许外部主机连接。
修改完成后,保存并退出编辑器。
3. 重启服务验证
保存修改后,重新启动你的HexStrike服务。再次查看启动日志,你会发现服务现在成功监听在 0.0.0.0 上,并且会列出所有可用的IP地址,包括你的本地IP(例如 192.168.50.86:8888)。

现在,你就可以使用同一局域网内其他计算机的浏览器或客户端,通过服务器的本地IP(如 http://192.168.50.86:8888)来访问HexStrike的服务了。
总结与延伸
这个“服务只监听本地IP”的问题并非HexStrike独有,在许多基于Flask、FastAPI等框架开发的Web服务或API服务初期部署时都可能遇到。核心就在于理解 127.0.0.1 与 0.0.0.0 在网络绑定意义上的区别。在云栈社区等技术论坛中,也常见于各类服务部署的配置问题讨论。掌握这一修改,不仅能解决HexStrike的访问限制,也为你后续部署其他自建服务打下了基础。当然,在生产环境中,仅监听 0.0.0.0 后,务必通过防火墙规则等手段做好相应的安全访问控制。
|