跳到主要内容
RibomBalt
CTF enthusiastist, GeoPhysics PhD, Amateur coder
查看所有作者

Docker端口转发RST排查:Hyper-V端口冲突

· 阅读需 6 分钟
RibomBalt
CTF enthusiastist, GeoPhysics PhD, Amateur coder

TL;DR;

  • 在 Windows Docker Desktop 中,通过端口转发(如 -p 50022:80)访问容器内 HTTP 服务时,客户端收到大量 RST 包,连接被拒绝。
  • 使用 Wireshark 抓包后发现 RST 由宿主机 Windows 发出,且发生在三次握手后立即。
  • 诊断脚本 netsh int ipv4 show excludedportrange protocol=tcp 发现映射的端口(50022、50023)落在 Hyper‑V 预留的排除范围(50000–50059)内。
  • 根本原因是 Windows 的 WinNAT / Hyper‑V 预留了该端口段,Docker 的端口转发进程(docker-proxy)无法成功监听,导致系统返回 RST。
  • 解决方案:更换端口至不在排除列表中的端口(如 8080)即可解决。也可通过重启 WinNAT 后立即映射抢占,但不推荐。

internxt网盘分享文件提取外链下载并解密

· 阅读需 6 分钟
RibomBalt
CTF enthusiastist, GeoPhysics PhD, Amateur coder

TL;DR

  • internxt网盘分享文件的在线下载没有断点续传功能,因此下载大文件时造成困扰。
  • internxt网盘下载分享文件时,是从单一bucket中下载aes-256-ctr加密后的大文件,同时流式解密存储
  • PyCryptodome和nodejs crypto库对于AES-256-CTR加密的实现不同,本文提出了与Nodejs加密等效的Python代码

关于WSL上玩Ollama把我C盘写满了的事

· 阅读需 2 分钟
RibomBalt
CTF enthusiastist, GeoPhysics PhD, Amateur coder

TL;DR

  • WSL的磁盘文件在C盘,我这里默认位置是C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
  • WSL磁盘空间会自动增长但不会收缩,可以用多种方法回收空间
  • 把C盘写满了会报错退出。
  • 可以用wsl --manage Ubuntu-22.04 --move /d/WSL/Ubuntu-22.04把WSL的磁盘文件移动到D盘。
  • 也可以用wsl --export Ubuntu-22.04 /d/WSL/Ubuntu-22.04.tar导出到tar文件,然后用wsl --import Ubuntu-22.04 /d/WSL/Ubuntu-22.04 /d/WSL/Ubuntu-22.04.tar导入到D盘。

WSL2 CUDA禁用共享内存

· 阅读需 4 分钟
RibomBalt
CTF enthusiastist, GeoPhysics PhD, Amateur coder

TL;DR;

  • 对于双显卡设备,当N卡显存不够用时,会使用集显提供的共享显存,会显著降低性能。
  • 可以通过torch.cuda.set_per_process_memory_fraction(1.0, 0)在torch模块中禁用共享显存。
  • 禁用共享显存会导致专用显存报错时直接退出而不是保持运行,出现共享显存问题首先应该调参减小模型显存占用。

Linux下使用Intel无线网卡同时连接网络和建立热点

· 阅读需 13 分钟
RibomBalt
CTF enthusiastist, GeoPhysics PhD, Amateur coder

TL;DR;

  • 最近的Intel无线网卡内置了LAR(Location Awareness Regulatory,位置感知管控)功能,通过主动探测周围信道设置Wifi的地区码,以规避雷达等设施,遵守所在地区的无线信道法律规定。
  • 然而,LAR功能在很多情况下不能正常工作,无法正确设置地区码,而默认值00是最严格的限制,在5GHz信号段没有任何一个信道可以建立热点通信。
  • 2019年的Linux 5.5前,intel网卡驱动iwlwifi存在一个选项lar_disable可以禁用LAR功能,然而有报道表明这个选项会导致固件崩溃,因此在5.5版本被移除。尽管可以通过内核补丁把选项重新打入,本人测试并未成功开启热点。
  • 本文使用了另一个补丁,似乎直接绕过了LAR设置的信道标志,可以实现在LAR设置不正确的情况下能够在特定5GHz信道发射,从而能够同时连接和建立无线热点。