深色模式
网络监视
Windows 自带的 netstat -ano 能列出连接,但你得再去任务管理器对 PID、去浏览器查陌生 IP,一套流程下来又慢又割裂。AgileMedic 把「谁在联网、连到哪里、是不是正常的」收进一组风格统一的面板:进程级连接表、端口占用查杀、网络工具(hosts / DNS),再配上本地风险分档和右键 AI 解释,让你从「这条连接是什么、可信吗、要不要掐掉」三个角度快速判断。
三个入口
主界面左侧导航中分别是 网络监视、端口占用、网络工具。三者互相独立,但底层共用同一套连接枚举能力(TCP + UDP、IPv4 + IPv6)。
数据从哪来(诚实说明)
连接表由 Windows 的 iphlpapi(GetExtendedTcpTable / GetExtendedUdpTable)枚举,进程名通过 Toolhelp32 快照反查——都是系统标准接口,不抓包、不解密流量、不上传任何连接数据。远端 IP 的地理位置 / WHOIS 查询不在当前本地排查主线内。
进程级连接表
打开「网络监视」即自动枚举全部网络端点,以表格平铺。它同时覆盖 TCP 和 UDP、IPv4 和 IPv6,含监听(LISTEN)态端口。列如下:
| 列 | 内容 |
|---|---|
| 协议 | TCP·v4 / UDP·v6 这类组合标记(协议 + IP 版本)。TCP 绿色、UDP 灰色 |
| 本地端点 | 本地 地址:端口,IPv6 加方括号,如 [fe80::1]:54321 |
| 远端端点 | 远端 地址:端口。UDP 与 TCP 监听态没有固定对端,显示 — |
| 状态 | TCP 状态:已建立 / 监听中 / TIME_WAIT / SYN_SENT 等;UDP 无连接状态,显示 — |
| PID | 该端点所属进程 ID |
| 进程名 | 可执行文件名,反查不到时标注 (未知)(橙色,提示结合 PID 继续核查) |
| 风险 | 本地启发式风险分档:正常 / 关注 / 可疑(详见下文) |
- 表格默认按状态分组排序(已建立、监听、拆除态各自聚拢),可点任意表头列切换排序。
- 鼠标悬停到「状态」「远端端点」「风险」等列会有中文说明气泡,解释这条状态或判定的含义。
顶部四张统计卡 + 流量趋势
表格上方有四张 KPI 卡,随筛选实时更新:
- 活跃连接 — 当前可见端点总数
- 已建立 TCP — 处于 Established 的 TCP 连接数
- UDP 端点 — UDP 行数量
- 可疑外联 — 命中「可疑」分档的连接数(红点,为 0 时安心)
再下方是 总流量 · 60s 趋势卡,复用实时监控的采样,实时描出下载 / 上传速率曲线(下载绿、上传橙)。这块只在面板可见时采样,切走即停,无常驻开销。
搜索与协议筛选
- 搜索框:按 IP / 端口 / 进程名 / 状态实时全列过滤。
- 协议下拉:可只看 所有协议 / TCP / UDP。
- 刷新 按钮:重新枚举一次连接(枚举失败会在底部状态栏红字提示原因,例如权限不足)。
风险分档是怎么判的(本地启发式,非 AI)
「风险」列是 AgileMedic 在本地用固定规则算出来的,不联网、不调 AI。判定逻辑刻意保守,专治「非常规端口就报警」那种高误报的粗糙规则:
| 分档 | 含义 |
|---|---|
| 正常 | 连的是内网 / 本机,或连接已进入拆除态(TIME_WAIT / CLOSE_WAIT 等),或进程签名可信 |
| 关注 | 正与公网活跃通信,但进程签名尚未核验——稍候会自动验签定性 |
| 可疑 | 正与公网活跃通信,且进程未签名 / 签名不可信,或可执行文件跑在 \Temp\、\AppData\Local\Temp\ 等临时目录(常见的恶意驻留位置) |
只对「公网 + 活跃」的连接谈风险
只有正在通信 / 握手(Established / SYN_SENT)且远端是公网可路由地址(自动排除环回、局域网私网、CGNAT、组播)的 TCP 连接才参与风险判定。连内网、连本机、UDP、监听端口、已拆除的连接一律算正常——它们本就不构成外联风险。
刷新后,AgileMedic 会在后台线程对「公网活跃」这批连接的进程做 Authenticode 数字签名核验(不冻结界面),验签结果回填后会重新计算风险分档。签名可信的降为正常,未签名 / 不可信的升为可疑。发现可疑外联时,面板中部的告警条会亮红并点名第一个可疑进程。
右键与底部操作
选中某条连接后,右键菜单或底部按钮提供以下动作(右键会先把光标下那一整行选中):
| 操作 | 说明 |
|---|---|
| AI 解释这条连接 | 把连接交给 AI 做人话解读(见下)。监听态没有远端、解释无意义,此项会置灰 |
| 复制连接信息 | 复制单条连接的进程 / PID / 协议 / 本地 / 远端 / 状态 / 风险 |
| 复制网络快照 | 复制当前速率、连接统计和全部可见连接列表的纯文本报告,便于存档或贴给 AI |
| 打开进程位置 | 按 PID 定位该连接所属进程的 exe 目录并在资源管理器中打开 |
| 强制结束进程 | 掐掉该连接所属进程(见下方护栏说明) |
AI 解释陌生 IP / 连接
面对一条连到陌生公网 IP 的连接,或一个叫不出名字的进程,点 AI 解释选中连接(或右键「AI 解释这条连接」),AgileMedic 会把这条连接的进程名、PID、本地 / 远端端点、状态等信息交给 AI,得到「这个进程通常是做什么的、连到这个地址是否常见、这条外联有没有风险」的人话判断。
强制结束进程(有护栏)
结束进程不可撤销
- 安全护栏:拒绝结束 PID 0(System Idle)、PID 4(System)以及 AgileMedic 自身,防止连锁崩溃。
- 二次确认:弹出统一的授权确认对话框,列出进程名、PID 和关联连接,明确「此操作不可撤销」,确认后才执行
TerminateProcess。 - 成功后约 0.5 秒自动刷新连接列表(给系统回收进程和连接的时间)。
- 失败多为权限不足:目标是受保护进程 / 系统服务时,
OpenProcess会失败,界面提示「以管理员身份重启 AgileMedic 后重试」——遵循 AgileMedic 的按需提权原则,不会静默提权。
端口占用查询
「端口被占,dev server 起不来」是最常见的开发困扰。端口占用 面板专治这个:输入端口号 → 看到占用进程 → 确认后一键结束。它零新增后端,复用同一套连接枚举 + 结束进程能力。
- 按端口查询:输入 1–65535 的端口号,回车或点「查询」,列出占用该本地端口的全部连接。可勾选 仅监听(LISTEN) 只看真正在监听该端口的 TCP 服务。
- 列出全部监听端口:一键总览当前所有 TCP 监听端口,按端口号排序,快速看清「机器上都开了哪些服务端口」。
结果表列:协议 / 本地端点 / 远端 / 状态 / PID / 进程名(按本地端口排序)。
选中一行点 结束选中进程,弹确认框(提示「未保存的数据可能丢失」),确认后强制结束该进程;系统进程(无有效 PID)会被拒绝。结束后自动重查刷新。
结束占用进程前先确认
一键结束会强杀进程,未保存数据可能丢失。掐端口前请确认这个进程确实是你要停的那个服务,而不是某个正在工作的系统组件。
网络工具(hosts + DNS)
网络工具 面板聚拢了两类改动系统网络配置的操作。这些操作会真正修改系统设置,请留意每项的还原方式。
本面板会改动系统设置
以下操作写入的是系统级配置(hosts 文件、网卡 DNS)。AgileMedic 已按需提权以便写入,但改动会立即影响本机所有程序的域名解析。每项都提供了明确的还原路径,动手前请看清。
hosts 文件编辑
顶部是一个直接可编辑的 hosts 文件编辑器,读写的是 %SystemRoot%\System32\drivers\etc\hosts。
- 重新加载:丢弃当前编辑,重新读取磁盘上的 hosts。
- 保存并刷新 DNS:写回 hosts,并自动刷新 DNS 缓存让改动立即生效。
hosts 会自动备份,可还原
保存前 AgileMedic 会自动把原文件备份为同目录下的 hosts.bak。如果改坏了,用「重新加载」放弃未保存的编辑;如果已保存想回退,可从 hosts.bak 恢复内容。hosts 是纯文本,删掉你加的行、把内容改回默认(通常只保留注释)即可完全还原。
DNS 快速切换
对全部活动网卡一键切换常用公共 DNS(底层调用 netsh)。面板会先列出当前检测到的活动网卡名(如「以太网」/「WLAN」)。预置按钮:
| 按钮 | DNS |
|---|---|
| 自动(DHCP) | 恢复由路由器 / 运营商自动分配(即还原默认) |
| 阿里 | 223.5.5.5 / 223.6.6.6 |
| 腾讯 | 119.29.29.29 / 182.254.116.116 |
| 谷歌 | 8.8.8.8 / 8.8.4.4 |
| Cloudflare | 1.1.1.1 / 1.0.0.1 |
换 DNS 如何还原
切换 DNS 会覆盖网卡当前的 DNS 设置并影响全机域名解析。想还原,直接点「自动(DHCP)」 即可让网卡重新自动获取,恢复到你没动它之前的默认行为。切换后会自动刷新一次缓存。
刷新 DNS 缓存
单独的 刷新 DNS 缓存 按钮,等价于 ipconfig /flushdns。域名解析异常、或刚改完 hosts / 切完 DNS 后,用它清掉旧的解析缓存。这个动作只清缓存,不改任何持久配置,无需还原。
目前没有 ping / nslookup / traceroute
网络工具面板当前聚焦「hosts 编辑 + DNS 切换 + 刷新缓存」这条改配置的主线,尚未内置 ping / nslookup / traceroute 等主动探测工具。若后续加入会在此更新。
三个面板的共同点
- 同一套枚举底座:连接表、端口查询共用
GetExtendedTcpTable/UdpTable+ Toolhelp32,数据口径一致。 - 写操作有护栏:任何结束进程 / 改系统配置的动作都有二次确认或明确还原路径,遵循按需提权,失败即提示、不静默提权。
- AI 是可选层:AI 解释需配置后可用;未配置时所有排查、查询、结束、改配置功能均正常。
相关阅读:进程 / 启动项 / 服务管理 · 实时监控 · 工具箱 + 优化 · AI 诊断 · 常见问题
