活动连接与进程映射
netstat 是现场取证里最快的一招:把当前连接、监听端口与所属进程一次性固定下来,配合 PID 就能把网络行为落到具体程序。它的价值在于即时性——短连接可能几分钟内就消失,先把快照存下来再看进程与文件,能避免顺序颠倒导致证据丢失。
基本信息
| 用途 | 时点连接全景与进程映射 |
|---|---|
| 经典命令 | netstat -anob,其中 -o 显示 PID、-b 显示对应程序 |
| 现代替代 | Get-NetTCPConnection、Get-NetUDPEndpoint |
| 权限要求 | -b 与 -o 在普通权限下输出不全,需管理员 |
| 配套动作 | 快照落盘、记录采集时刻与主机名、再核查进程与文件 |
典型使用场景
- 到场后第一时间固定可疑主机的活动连接与监听端口
- 把可疑外联地址落到具体 PID 与可执行文件路径
- 核查是否存在未授权的监听端口,如后门或代理程序
- 与防火墙、DNS 日志对照,确认连接是否真正建立
- 排查异常端口占用,确认服务归属与启动方式
快照与落地
快照与落地
netstat -anob > netstat-snapshot.txt 2>$null # 管理员权限下完整导出并落盘
Get-NetTCPConnection -State Established | Select LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess | Sort RemoteAddress
Get-NetTCPConnection -State Listen | Select LocalPort, OwningProcess # 监听面
Get-NetUDPEndpoint | Select LocalAddress, LocalPort, OwningProcess # UDP 侧
Get-Process -Id 4321 | Select-Object Id, ProcessName, Path, StartTime # 从 PID 落到进程输出列读法
| 列 | 含义 | 异常参考 |
|---|---|---|
| Proto | 协议,TCP 或 UDP | UDP 不体现连接状态,只能看端口归属 |
| Local Address / Port | 本机地址与端口 | 监听 0.0.0.0 表示对所有网卡开放 |
| Foreign Address | 对端地址与端口 | 直连非常规端口或已知恶意地址 |
| State | 连接状态,如 ESTABLISHED、TIME_WAIT | 大量 SYN_SENT 可能是扫描或外联失败 |
| PID / OwningProcess | 占用该连接的进程编号 | 需与进程路径、签名、启动时间一起核对 |
快照文件要与采集信息一同登记:把采集时刻(含时区)、主机名、操作用户写进文件头,并与其它日志按同一时间基准换算,否则这些连接事件无法落到统一时间线上。
短连接可能在两次快照之间出现又消失,netstat 只能证明某一时刻的状态;要证明连接的持续性与总量,还需要防火墙日志、代理日志或抓包结果支撑。