WWW.YOUINFO.SITE
标签聚合 kali

/tag/kali

LinuxDo 最新话题 · 2026-06-04 11:51:34+08:00 · tech

WSL2 Kali Linux 使用 Clash Verge 代理的网络配置教程 背景 最近实在是受不了win原生的垃圾命令行了,而又没有mac,所以我想着着手转wsl做开发,没想到wsl的网络配置极其诡异,折腾了一整晚上才找到一个比较完美的配置方案,所以把它整理下来分享给需要的佬友。 注:使用了codex和gemini辅助整理了我配置的整个流程,后来测试发现这套这对kali的网络配置方案在wsl ubuntu上一样好用。 本机环境: Windows 上运行 Clash Verge / Mihomo。 WSL2 中安装 Kali Linux。 WSL2 使用 NAT 网络模式。 Clash Verge 代理端口为 7897 。 Kali 默认用户为 hackx 。 遇到的问题: Kali Linux 中访问网络时偶尔卡住。 使用 Ctrl-C 中断后再次执行同一命令,经常又能恢复正常。 国内外网站都可能出现间歇性连接超时。 排查结论: Windows 侧 Clash Verge 代理端口 127.0.0.1:7897 正常。 Kali 默认 DNS 指向 10.255.255.254 ,域名解析结果会出现 198.18.x.x fake-ip 地址。 Kali 默认直连路径 50 次测试中出现 5 次连接超时。 Kali 显式走宿主机 Clash 代理 http://172.25.128.1:7897 后,50 次测试全部成功。 因此,建议保留 WSL2 NAT 模式,并在 Kali 中默认配置 HTTP/HTTPS 代理。 不推荐的方案:mirrored 网络模式 曾尝试将 %UserProfile%\.wslconfig 改为: [wsl2] networkingMode=mirrored dnsTunneling=true autoProxy=true 执行 wsl --shutdown 后,Kali 启动时报错: ConfigureNetworking/0x8007054f networkingMode Mirrored ... fallback to networkingMode None 结果是 Kali 中只剩 lo 回环网卡,网络不可用。因此当前机器不建议继续使用 mirrored 模式。 Windows 侧 WSL 配置 文件位置: C:\Users\Lenovo\.wslconfig 推荐保持 NAT 配置: [wsl2] networkingMode=nat memory=8GB processors=4 swap=2GB localhostForwarding=true 修改后执行: wsl --shutdown 然后重新打开 Kali。 备份 Kali 的 bashrc 在修改 Kali 用户配置前,先备份: cp ~/.bashrc ~/.bashrc.backup-$(date +%Y%m%d-%H%M%S) 本次实际备份文件为: /home/hackx/.bashrc.backup-20260515-223308 配置 Kali 默认走 Clash Verge 代理 编辑 Kali 中的: ~/.bashrc 将下面配置放到 .bashrc 靠前位置,最好放在这段之前: # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac 代理配置如下: # WSL host Clash Verge proxy. # Uses the current WSL default gateway so it continues to work after WSL restarts. if command -v ip >/dev/null 2>&1; then WSL_HOST="$(ip route | awk '/default/ {print $3; exit}')" if [ -n "$WSL_HOST" ]; then export http_proxy="http://${WSL_HOST}:7897" export https_proxy="$http_proxy" export HTTP_PROXY="$http_proxy" export HTTPS_PROXY="$https_proxy" export no_proxy="localhost,127.0.0.1,::1" export NO_PROXY="$no_proxy" fi fi 说明: WSL_HOST 会自动读取 WSL2 默认网关,例如 172.25.128.1 。 7897 是当前 Clash Verge / Mihomo 监听的 HTTP 代理端口。 WSL2 每次重启后网关 IP 可能变化,所以不要把 172.25.128.1 写死。 no_proxy 用于避免本机地址走代理。 让当前 shell 立即生效: source ~/.bashrc 新打开的 bash 会话会自动生效。 验证配置 查看代理环境变量: echo "$http_proxy" echo "$https_proxy" echo "$no_proxy" 预期类似: http://172.25.128.1:7897 http://172.25.128.1:7897 localhost,127.0.0.1,::1 检查 Clash 代理端口是否可达: host=$(ip route | awk '/default/ {print $3; exit}') timeout 3 bash -lc "</dev/tcp/$host/7897" && echo proxy_tcp_ok || echo proxy_tcp_fail 预期: proxy_tcp_ok 测试国内网站: curl -k -L -I https://www.baidu.com/ curl -k -L -I https://www.qq.com/ curl -k -L -I https://mirrors.aliyun.com/ 测试国外网站: curl -k -L -I https://www.google.com/generate_204 curl -k -L -I https://github.com/ curl -k -L -I https://www.cloudflare.com/ 也可以查看耗时: curl -k -L -sS --connect-timeout 5 --max-time 12 \ -o /dev/null \ -w 'code=%{http_code} dns=%{time_namelookup} connect=%{time_connect} total=%{time_total}\n' \ https://github.com/ 如果 dns 和 connect 都非常小,例如: code=200 dns=0.000016 connect=0.000269 total=2.124553 说明 curl 已经通过环境变量使用了本地代理。 适用范围 这种方式会让支持 http_proxy / https_proxy 环境变量的软件默认走代理,包括: curl wget git 的 HTTP/HTTPS 请求 很多 Python、Node.js、Go 的 HTTP 客户端 部分包管理器,例如配合 sudo -E apt update 这种方式不会代理所有网络流量,例如: ping ssh 原始 TCP/UDP 程序 不读取代理环境变量的软件 DNS 查询本身 如果某个程序不识别环境变量,需要在该程序自己的配置里单独设置代理。 apt 使用建议 普通用户环境变量不会默认传给 sudo 。如果需要让 apt 使用代理,可以使用: sudo -E apt update 如果希望 apt 永久使用代理,可以创建 apt 配置文件: sudo nano /etc/apt/apt.conf.d/95proxies 写入: Acquire::http::Proxy "http://172.25.128.1:7897/"; Acquire::https::Proxy "http://172.25.128.1:7897/"; 但不建议写死网关 IP。更通用的做法是优先用 .bashrc 的动态环境变量,再通过 sudo -E 执行。 回滚方法 如果要恢复 .bashrc : cp ~/.bashrc.backup-20260515-223308 ~/.bashrc source ~/.bashrc 如果要临时取消当前 shell 的代理: unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY 如果误改了 Windows 的 .wslconfig ,恢复 NAT: [wsl2] networkingMode=nat memory=8GB processors=4 swap=2GB localhostForwarding=true 然后在 PowerShell 中执行: wsl --shutdown 最终建议 当前机器上最稳定的方案是: Windows 侧保持 WSL2 NAT。 Clash Verge 保持运行,确保 7897 端口可用。 Kali 的 ~/.bashrc 中动态读取 WSL 默认网关。 默认导出 http_proxy / https_proxy ,让常用 HTTP/HTTPS 工具走宿主机代理。 这种方案绕开了 WSL2 默认直连路径里偶发卡住的问题,同时不需要修改系统级全流量代理。 6 个帖子 - 6 位参与者 阅读完整话题

linux.do · 2026-05-05 18:57:46+08:00 · tech

起因很意外,刷到一个 CTF skill 的帖子,想让 GPT-5.4 (Codex) 试试。 把链接发给了它 结果它上来就要在我电脑上装一堆工具,我当时就慌了------ 这要把我电脑搞爆炸怎么办? 况且之后少工具还要配置 然后突然想到:我 VM虚拟机 里有从24年就下下来到现在一直吃灰的Kali,工具按理来说应该是比让他安一堆工具再配置省事很多 所以 为什么不直接让它通过 SSH 用那些工具? 说干就干 照着他给我的教程 配置好了SSH连接 先找了个叫 CAP 的靶机试试水------ 很快啊 ,直接拿下flag。 然后我就飘了。 随手挑了个叫 PingPong 的,看到标注 Insane,完全不知道这意味着什么,就扔给它了 然后挂了一会后台 回来发现他连 SSH 都连不上了 翻了下聊天记录 发现压缩上下文了 把他刚做的流程全部压缩没了 所以我立马让他强制在每轮关键节点写上"日记" 这样一来就完美解决了这个问题 过程我看得云里雾里,但大概是这样: 它先进了一个域,然后发现里面还藏着第二个域……偷了几张门票……进了一个数据库……能直接执行系统命令的开关…… 具体怎么打的我就不说了——靶机还是活跃状态,HTB 规定不能发 writeup 所以就不发出攻击链了 我全程就是个观众,看着命令一条条跑,完全不知道每一步意味着什么。 中途好几次 我都怀疑它是在疯狂吃掉我的token却不干活 因为跑了一大堆 但进度始终没有推进 随后我把它写的日志发给claude帮忙看下 结果claude给出的回复让我有些惊讶 它会自己分析报错,自己换方案,遇到环境崩了就翻日记重建现场继续打。甚至会自己修复靶机故意设置的垃圾环境,并不是我想的重复转圈 疯狂消灭我的token 目前的进度是 拿到了user flag 目前进度是 root 卡在最后一步,MSSQL 登录响应异常,差一扇门没踹开。 它日志里是这么讲的 但从头到尾已经烧掉我50元了 所以现在暂时搁置了 有人试过直接给 AI SSH 权限控制 Kali 打靶机吗?还是说这个玩法早就有人搞过了,只是我没看到? 7 个帖子 - 5 位参与者 阅读完整话题

linux.do · 2026-04-23 23:26:10+08:00 · tech

图形化的linux界面如ubuntu,kali,以往给我的印象是强命令行控制台相关的系统,大部分设置都要通过命令或修改配置文件来完成,以前我总认为这种系统怎么可能有windows这么易用呢,要么直接点击,要么直接勾选点确认。 但是ai出现了,一开始可以在网页端对话界面将想完成的操作对应的命令复制后在控制台执行,后来agent和各种cli出现后,直接在cli里面告诉ai我想修改什么设置,比如修改屏幕缩放比例,我想修改哪个软件的配置文件,他就会帮我自动执行,大部分开源项目,通过这种方式部署和配置,最后的使用效果和便捷性都和windwos差不多,甚至优于windows,得益与linux较低的内存占用,有时候能得到更好的体验 风险也是有的,一是格盘,这老生常谈了。二是他有可能把系统变成一座屎山,或者破坏一些功能,例如我上周在ubuntu上安装了windsurf,我让codex帮我把claude和codex上的skills还有mcp配置到windsurf上,结果后面windsurf再也连接不上服务器了,即使重装也没用。 我的经验是对于系统环境的修改,一定要保存好上下文,我习惯维护一个文档,储存以往做过的所有系统修改 还有个缺点是游戏比较少,不过linux上能玩minecraft,于是你就能玩宝可梦整合包,香草纪元整合包,实际上就不缺游戏玩了 4 个帖子 - 4 位参与者 阅读完整话题