网络连接实时可视化利器TapMap
2026/6/1 7:10:35 网站建设 项目流程

简介

什么是 TapMap ?

TapMap是一个开源的实时网络连接可视化工具,它通过读取本机网络套接字数据,结合IP地理定位,在交互式世界地图上动态展示你的计算机正在与全球哪些地方建立连接。它帮助你发现那些平时完全看不见的网络活动——哪些服务在联网、连到了哪里、哪些是新出现的。

主要特点

  • 实时世界地图可视化:基于DashPlotly构建的交互式地图,连接点动态展示在全球地图上,支持悬停查看和点击获取详细信息
  • 30 天活动洞察:自动构建滚动30天历史记录,识别新出现的应用、ASN提供商、国家和端口,区分常规连接和异常活动
  • 每日活动报告:生成应用连接模式分析(一次性、偶尔、重复、稳定)、提供商集中度、国家活动时间线等综合报告
  • 多维度展示:不仅显示互联网连接,还展示内网(LAN/LOCAL)服务和本地开放端口(TCP LISTEN/UDP bound
  • 键盘快捷操作:支持D(每日报告)、I(洞察面板)、U(未映射服务)、L(内网服务)、O(开放端口)等快捷键
  • 隐私安全:所有数据本地处理,不发送任何连接数据到外部服务,无需注册或账户
  • 开源免费:基于MIT协议开源,可免费使用和修改

应用场景

  • 个人网络透明度:了解自己电脑上哪些应用在联网、连到了哪里,发现意想不到的后台连接
  • 安全异常检测:当有新应用、新国家或新端口出现时及时察觉,可能意味着配置错误、后台服务或潜在的恶意软件
  • 网络行为分析:通过30天历史数据洞察网络活动模式,区分日常连接和异常行为
  • 开发测试环境:开发人员可以快速了解应用的网络行为,验证网络请求的目标地址是否符合预期

TapMap是一个帮助你看清电脑网络连接全貌的轻量级工具,让不可见的网络活动变得一目了然。

安装

在群晖上以 Docker 方式安装。

TapMap本身支持主流操作系统平台,

Docker版需要读取宿主机网络栈和进程信息,必须以host网络模式和pid模式运行。

准备工作

使用TapMap需要准备MaxMind GeoLite2地理定位数据库文件:

  1. 访问 MaxMind 官网 免费注册账号

  1. 下载GeoLite2-City.mmdbGeoLite2-ASN.mmdb两个文件
  2. 将这两个文件放到数据卷映射目录中

如果这一步没做,打开首界面会提示Missing GeoIP databases

docker cli 安装

如果你熟悉命令行,可能用docker cli更快捷

# 新建文件夹 tapmap 和 子目录mkdir-p/volume1/docker/tapmap/data# 进入 tapmap 目录cd/volume1/docker/tapmap# 运行容器dockerrun-d\--networkhost\--pidhost\--nametapmap\-v$(pwd)/data:/data\-eTAPMAP_IN_DOCKER=1\-eTAPMAP_PORT="8060"\olalie/tapmap:latest

文件夹装载路径说明
docker/tapmap/data/data存放GeoIP数据库和活动数据

端口

TapMap使用host网络模式,直接绑定到宿主机网络,端口映射独立设置。

参数
默认端口8050
可通过环境变量修改TAPMAP_PORT

环境

可变
TAPMAP_IN_DOCKER1
TAPMAP_DATA_DIR/data
TAPMAP_PORT8050

环境变量说明

  • TAPMAP_IN_DOCKER启用Docker运行模式
  • TAPMAP_DATA_DIR指定数据目录路径,默认为/data
  • TAPMAP_PORT指定服务端口,默认为8050

docker-compose 安装

也可以用docker-compose安装,将下面的内容保存为docker-compose.yml文件

version:'3.8'services:tapmap:image:olalie/tapmap:latestcontainer_name:tapmaprestart:unless-stoppednetwork_mode:host# 必须:使用宿主机网络栈pid:host# 必须:读取宿主机进程信息volumes:-./data:/data# 存放 GeoIP 数据库和活动数据environment:-TAPMAP_IN_DOCKER=1# 启用 Docker 模式-TAPMAP_DATA_DIR=/data# 数据目录-TAPMAP_PORT=8060# 可选:修改默认端口# - TAPMAP_HOST=0.0.0.0 # 可选:绑定地址

注意network_mode: host是必须的,因为TapMap需要读取宿主机真实的网络套接字数据。这也意味着端口映射直接在宿主机上生效,无需ports配置。

然后通过SSH登录到您的群晖,执行下面的命令:

# 新建文件夹 tapmap 和 子目录mkdir-p/volume1/docker/tapmap/data# 进入 tapmap 目录cd/volume1/docker/tapmap# 将 docker-compose.yml 放入当前目录# 一键启动docker-composeup-d

要启用进程名可见性(Linux上),可以添加以下配置:

cap_add:-SYS_PTRACEsecurity_opt:-apparmor=unconfined

运行

在浏览器中访问http://<群晖IP>:8060即可进入TapMap交互式世界地图界面。

首次使用需要:

  1. 启动后TapMap会自动打开数据目录设置向导
  2. 将下载好的GeoLite2-City.mmdbGeoLite2-ASN.mmdb两个文件复制到数据目录
  3. 点击Recheck GeoIP databases按钮确认数据库加载成功

启用后,地图上会实时显示你的电脑当前建立的网络连接位置

快捷键操作:

  • D— 打开每日活动报告
  • I— 切换洞察面板
  • U— 查看未映射的公共服务
  • L— 查看内网/本地服务
  • O— 查看开放端口
  • R— 重新检查GeoIP数据库
  • ESC— 关闭当前窗口

注意事项

  1. 仅支持 Linux 宿主机TapMapDocker模式需要--network host--pid host,不支持Docker Desktop for Windows/macOS。群晖DSM基于Linux,可以正常使用
  2. GeoIP 数据库必需:没有GeoLite2数据库文件,地图上将不显示任何连接位置信息,需要免费注册MaxMind账号下载
  3. 进程可见性Docker模式下进程名可能不可见,取决于宿主机安全策略。可通过SYS_PTRACE权限和apparmor=unconfined改善
  4. 定期更新数据库:建议每月更新一次GeoLite2数据库文件,以获得准确的地理定位信息
  5. 数据持久化:所有历史活动数据存储在数据卷中,建议定期备份

参考文档

olalie/tapmap: Watch your computer connect across the internet in real time. Discover the world behind your apps.
地址:https://github.com/olalie/tapmap

olalie/tapmap - Docker Hub
地址:https://hub.docker.com/r/olalie/tapmap

TapMap 官方文档
地址:https://olalie.github.io/tapmap/

MaxMind GeoLite2 Free Geolocation Data
地址:https://dev.maxmind.com/geoip/geolite2-free-geolocation-data

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询