Showing Posts From

macOS

macOS 取消 SSH 钥匙串自动登录

ssh-add --apple-use-keychain ~/.ssh/id_rsa 做了两件事:把私钥加载到 ssh-agent,同时把 passphrase 保存到 macOS 钥匙串(Keychain)。取消时两者需要分别处理。 从 ssh-agent 移除密钥 查看当前已加载的密钥: ssh-add -l移除指定密钥: ssh-add -d ~/.ssh/id_rsa或移除全部: ssh-add -D这只影响当前 ssh-agent 会话,不会删除 Keychain 中保存的密码。 从钥匙串访问中删除 SSH 密码Command + Space 打开 Spotlight,搜索钥匙串访问(Keychain Access) 左侧选登录(Login) → 密码(Passwords) 搜索 SSH 或 id_rsa 找到 SSH: /Users/<你的用户名>/.ssh/id_rsa 右键 → 删除删除后再使用 SSH 时会重新要求输入 passphrase。 修改 ~/.ssh/config 禁用 UseKeychain 查看当前配置: cat ~/.ssh/config如果有以下内容,改为 no 或删除这两行: Host * UseKeychain yes AddKeysToAgent yes改为: Host * UseKeychain no AddKeysToAgent no完全恢复到手动输入密码 # 1. 移除 ssh-agent 中所有密钥 ssh-add -D# 2. Keychain Access 里删除 SSH 条目(GUI 操作)# 3. 修改 ~/.ssh/config,删除或禁用 UseKeychain / AddKeysToAgent完成后每次 SSH 连接都会提示输入 passphrase,不再自动使用钥匙串。 各操作作用范围操作 影响范围ssh-add -d 仅移除当前 ssh-agent 会话中的密钥Keychain Access 删除 删除保存的 passphrase,下次需重新输入UseKeychain no 阻止新的 SSH 会话向 Keychain 写入AddKeysToAgent no SSH 连接时不自动将密钥添加到 agent

进程联网监控工具:WFN / Sniffnet / Picosnitch / LuLu

想知道"哪个进程偷偷联网"并实时弹通知,不同系统有不同的成熟开源方案。 Windows:Windows Firewall Notifier(WFN) 最接近需求的工具:进程发起网络连接时弹窗,可以选择允许或拒绝。 特点:基于 Windows 自带防火墙(WFP) 实时弹窗通知:显示进程名、目标 IP/域名、端口 允许/拒绝并记住规则 免费开源(GlassWire 的免费替代)安装后运行即可,不需要修改系统设置。 Windows / Linux / macOS:Sniffnet(流量可视化) Rust 编写,UI 现代,侧重流量监控而非拦截:显示哪个程序在联网、发送/接收了多少流量 支持桌面通知 可过滤特定协议或国家 跨平台(Windows/Linux/macOS)# Windows/macOS 下载安装包 # Linux cargo install sniffnet适合:想了解整体网络情况,而不是逐个审批连接请求。 Linux:Picosnitch eBPF 实现,低开销,功能最强: pip install picosnitch sudo picosnitch start功能:新进程联网时立即通知(systemd/D-Bus 通知) 按可执行文件统计流量 关联父进程(识别子进程发起的连接) 可选接入 VirusTotal 检查新进程 hash Web UI 查看历史记录配置文件(~/.config/picosnitch/config.json): { "Desktop notifications": true, "VT API key": "your_virustotal_api_key" }适合:需要安全审计,或在服务器上追踪异常网络行为。 macOS:LuLu macOS 下最受欢迎的免费联网防火墙:新连接弹窗(允许/拒绝/记住) 显示进程路径和目标地址 支持规则管理 Objective-See 出品(macOS 安全工具知名团队)下载安装包后启用,效果类似 Little Snitch(商业软件)的免费替代。 对比选择工具 系统 特点 是否可拦截WFN Windows 弹窗审批,集成防火墙 ✅Sniffnet 跨平台 流量可视化,UI 好看 ❌Picosnitch Linux eBPF,安全审计,VirusTotal ❌(仅监控)LuLu macOS 弹窗审批,免费 ✅根据场景选择 想控制哪些程序能联网:WFN(Windows)、LuLu(macOS) 想看流量统计和来源:Sniffnet(跨平台) 服务器安全审计/发现异常进程:Picosnitch(Linux) 排查可疑进程(如挖矿木马):先用 Picosnitch/WFN 发现网络连接,再配合 ss -antp | grep <PID> 查目标 IP

macOS 上 nc -l -p 报错:BSD netcat 的参数和 Linux 不一样

Linux 上抄来的教程: nc -l -p 1337在 macOS 直接报错。因为 macOS 自带的是 BSD 版 netcat,参数和 Linux 上常见的 GNU/OpenBSD 版有几处不兼容。 正确写法 nc -l 1337或者加日志: nc -lv 1337-l:监听 -v:verbose,显示连接信息 端口号直接跟在后面,不用 -p客户端连过来: nc 127.0.0.1 1337持续监听多个连接 单次 -l 处理完一个连接就退出。想常驻用 -k(keep-open): nc -lk 1337老版本不支持 -k 的话,套一层循环: while true; do nc -l 1337; doneLinux vs macOS 差异速查目的 Linux (nmap-netcat 或 nc.openbsd) macOS BSD nc监听端口 nc -l -p 1337 nc -l 1337短参组合 nc -lp 1337 不支持 -p 监听持续监听 nc -k -l 1337 nc -lk 1337UDP 监听 nc -u -l -p 1337 nc -u -l 1337端口扫描 nc -zv host 20-30 一样指定源端口发送 nc -p 1234 host 80 一样-p 在 macOS 里只用于发送端指定源端口,监听时不能用。 检查你的 nc 是哪一版 which nc # 通常 /usr/bin/nc nc -h 2>&1 | head -3BSD 版的帮助会显示 usage: nc [-46...。GNU 版会显示 Ncat: Version 7.xx。 换成 ncat(可选) 如果不想记两套参数,直接装 nmap 自带的 ncat: brew install nmap ncat -l 1337 # 和 Linux 上写法一样 ncat -lk 1337ncat 参数在所有平台一致,还额外支持 SSL、SOCKS 代理,取代 BSD nc 很合适。 常见踩坑权限:监听 1024 以下端口需要 sudo 防火墙:macOS 系统偏好设置里的防火墙可能拦掉外部连接 AirDrop / IPv6:BSD nc -l 8080 可能只绑 IPv6(::)不绑 IPv4,测试时改用 nc -4 -l 8080 强制 v4一句话总结 macOS 的 nc 是 BSD 版,监听不用 -p:nc -l 1337 或 nc -lk 1337。要跨平台无差别用就装 ncat。