2947 是什么
2947 是 Linux 上 GPS 接收器的标准守护进程端口:它把串口或蓝牙接收到的定位数据统一成一个接口,供导航软件、日志记录工具与时间同步服务读取。默认只监听本机回环地址,属于典型的本地服务。
默认安全,改错就危险
当它被改成对全网卡监听且没有访问控制时,攻击者可以伪造定位数据,进而影响依赖它的授时或位置记录系统。因此它的安全要点很明确:保持本机监听,确有远程读取需求时再加访问控制。
基本信息
| 服务 | GPS 数据分发守护进程 |
|---|---|
| 协议 | TCP,默认 127.0.0.1:2947 |
| 用途 | 定位数据分发与授时参考 |
| 数据形态 | 文本报文 |
| 安全等级 | 本机或内网 |
典型使用场景
- 把接收到的定位数据分发给多个客户端程序
- 为时间同步服务提供高精度参考时钟
- 记录设备移动轨迹,供分析或审计使用
- 排查定位数据缺失时确认设备与守护进程状态
- 安全核查时确认服务是否只监听本机
数据读取与状态检查
数据读取与状态检查
ss -lntp | grep 2947 # 确认监听地址
# 使用客户端工具读取当前定位数据
gpspipe -w -n 5
systemctl status gpsd | head -5配置要点
配置要点
# /etc/default/gpsd 中定义设备与监听参数
# DEVICES="/dev/ttyUSB0" # 接收器设备路径
# GPSD_OPTIONS="-n" # 启动后立即开始采集
# 除确有远程读取需求外,不要改成监听全网卡数据类型
| 数据形态 | 说明 | 典型用途 |
|---|---|---|
| 定位报文 | 包含坐标与时间信息 | 轨迹记录与地图显示 |
| 时间信息 | 高精度时间参考 | 时间同步服务 |
| 状态信息 | 接收器与卫星状态 | 排障与数据质量评估 |
只监听本机是它的安全基线:确有远程读取需求时,应通过访问控制限制来源,并确认接收器数据是否可被伪造,再来决定是否放开监听范围。
数据质量与排障
定位数据出现跳变或长时间不更新时,先确认接收器的安装位置与信号状态,再检查串口或蓝牙连接是否稳定。服务进程存活并不代表数据有效,监控上应同时关注数据更新频率,而不只是进程状态。
部署注意:接收器设备路径在重启或更换硬件后可能发生变化,配置里写死路径时需同步更新,否则服务会正常启动却始终取不到数据。