<img alt="Project icon" style="vertical-align: middle;" src="./docs/icon.svg" width="128" height="128" align="left">
# Connmapper
System internet connection visualizer.
<br>
<p align="center">
<img alt="A screenshot of the globe on a system with lots of internet connections" width="90%" src="./docs/screenshot-globe.png" />
</p>
[![hydrapp CI](https://github.com/pojntfx/connmapper/actions/workflows/hydrapp.yaml/badge.svg)](https://github.com/pojntfx/connmapper/actions/workflows/hydrapp.yaml)
## Overview
Connmapper is an app to visualize your system's internet connections on a globe.
It enables you to:
- **Do real-time analysis**: Thanks to `libpcap`, Connmapper can get your system's packets in near real-time, and display their properties such as protocols, packet lengths or peer addresses.
- **Get visual insights**: By looking up the source and destination IPs for each connection in a local copy of the [MaxMind GeoIP2 database](https://www.maxmind.com/en/geoip2-databases), Connmapper can get the source and destination coordinates of every packet in your system and plot them on a globe.
- **Explore historical data**: Thanks to its integrated CSV export feature, Connmapper can also be used to aggregate connection data and analyze it externally.
## Installation
See [INSTALLATION.html](https://pojntfx.github.io/connmapper//docs/main/INSTALLATION.html).
## Tutorial
### 1. Setting Up the Database
Upon first launching Connmapper, it will ask you to enter your free license key for the GeoIP2 database. After entering it, it will download the database for you:
![A screenshot of the license key/DB download screen](./docs/screenshot-db-download.png)
### 2. Selecting Your Capture Device
Once the database has been set up, you can choose your preferred capture device, which is the device you want to analyze packets from. On the first launch, it might ask you to temporarily give it admin privileges so that it can give itself permission to capture from network devices:
![A screenshot of the capture device selection dialog](./docs/screenshot-permissions.png)
### 3. Getting Real-Time Insights
Once you've started tracing the device, a globe showing all the currently active connections on your system should appear. If you hover over one, you can get additional information:
![A screenshot of the globe on a system with lots of internet connections while hovering over one of them](./docs/screenshot-globe-info.png)
By opening the traffic inspector through the inspect traffic button on the bottom right, you can get more detailed information:
![A screenshot of the traffic inspector in full screen mode](./docs/screenshot-traffic-inspector.png)
Note that you can also minimize the traffic inspector or open it in a new window by clicking on the respective controls in the headerbar.
### 4. Exporting Historical Data
So far we've only looked at real-time data. To analyze historic data, you can select the summarized view in the traffic inspector. It is also possible to sort individual columns in the table, which for example allows you to find the host that you've sent the most data too:
![A screenshot of the traffic inspector in summarized mode](./docs/screenshot-traffic-inspector-summarized.png)
Here you can also download the collected data as a CSV file for further analysis:
![A screenshot of LibreOffice writer displaying the captured data](./docs/screenshot-csv.png)
���� **That's it!** We hope you enjoy using Connmapper.
## Reference
### Settings
You can open the settings through the settings button in the top right; here you can configure many aspects of the application such as cache sizes or polling intervals:
![A screenshot of the settings dialog](./docs/screenshot-settings.png)
### Command Line Arguments
All arguments passed to the binary will be forwarded to the browser used to display the frontend.
### Environment Variables
| Name | Description |
| ------------------------ | ----------------------------------------------------------------------------------------------------------- |
| `HYDRAPP_BACKEND_LADDR` | Listen address for the backend (`localhost:0` by default) |
| `HYDRAPP_FRONTEND_LADDR` | Listen address for the frontend (`localhost:0` by default) |
| `HYDRAPP_BROWSER` | Binary of browser to display the frontend with |
| `HYDRAPP_TYPE` | Type of browser to display the frontend with (one of `chromium`, `firefox`, `epiphany`, `lynx` and `dummy`) |
| `HYDRAPP_SELFUPDATE` | Whether to check for updates on launch (disabled if OS provides an app update mechanism) |
## Acknowledgements
- [pojntfx/hydrapp](https://github.com/pojntfx/hydrapp) provides the application framework.
- [google/gopacket](https://github.com/google/gopacket) provides the library that the packets are being parsed with.
- [oschwald/geoip2-golang](https://github.com/oschwald/geoip2-golang) provides the library for reading the GeoIP2 database.
## Contributing
To contribute, please use the [GitHub flow](https://guides.github.com/introduction/flow/) and follow our [Code of Conduct](./CODE_OF_CONDUCT.md).
To build and start a development version of Connmapper locally, run the following:
```shell
$ git clone https://github.com/pojntfx/connmapper.git
$ cd connmapper
$ go generate ./...
$ go install .
# Linux
$ sudo setcap cap_net_raw,cap_net_admin=eip "$(which connmapper)"
$ connmapper
# macOS
$ sudo connmapper
```
To start the backend and open the frontend in a browser instead of an application window during development, run the following:
```shell
$ go install .
# Start the backend in the first terminal
# Linux
$ sudo setcap cap_net_raw,cap_net_admin=eip "$(which connmapper)"
$ HYDRAPP_BACKEND_LADDR=localhost:1337 HYDRAPP_TYPE=dummy connmapper
# macOS
$ sudo HYDRAPP_BACKEND_LADDR=localhost:1337 HYDRAPP_TYPE=dummy connmapper
# Start the frontend in a second terminal
$ cd pkg/frontend
$ npm run dev
# Now open http://localhost:1234 in your browser
```
To build the DEB, RPM, Flatpak, MSI, EXE, DMG, APK, and static binaries for all other platforms, run the following:
```shell
$ hydrapp build
# You can find the built packages in the out/ directory
```
If you only want to build certain packages or for certain architectures, for example to only build the APKs, pass `--exclude` like in the following:
```shell
$ hydrapp build --exclude '(binaries|deb|rpm|flatpak|msi|dmg|docs|tests)'
```
For more information, see the [hydrapp documentation](https://github.com/pojntfx/hydrapp).
## License
Connmapper (c) 2024 Felicitas Pojtinger and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
没有合适的资源?快使用搜索试试~ 我知道了~
Visualize your system's internet connections on a globe.
共39个文件
png:12个
go:6个
json:3个
需积分: 1 0 下载量 5 浏览量
2024-05-25
01:20:55
上传
评论
收藏 16.1MB ZIP 举报
温馨提示
wireshark
资源推荐
资源详情
资源评论
收起资源包目录
connmapper.zip (39个子文件)
connmapper-main
go.mod 1KB
.github
workflows
hydrapp.yaml 5KB
go.sum 13KB
LICENSE 33KB
docs
screenshot-traffic-inspector.png 231KB
logo-dark.svg 11KB
screenshot-traffic-inspector-summarized.png 168KB
screenshot-permissions.png 231KB
screenshot-csv.png 250KB
icon.svg 10KB
screenshot-settings.png 206KB
screenshot-globe-info.png 688KB
screenshot-db-download.png 149KB
screenshot-globe.png 792KB
hydrapp.yaml 2KB
CODE_OF_CONDUCT.md 5KB
pkg
backend
server.go 14KB
frontend
src
bg.webp 558KB
8k_earth_nightmap.jpg 3MB
logo-dark.png 75KB
main.tsx 135B
8k_earth_normal_map.png 8.78MB
App.tsx 48KB
8k_stars_milky_way.jpg 1.82MB
images.d.ts 48B
logo-dark-cyberpunk.png 319KB
main.scss 4KB
package.json 1KB
package-lock.json 154KB
server.go 1KB
index.html 404B
tsconfig.json 514B
utils
kill_browser.go 745B
elevated_command.go 1KB
.gitignore 31B
android.go 1KB
README.md 7KB
icon.png 67KB
main.go 2KB
共 39 条
- 1
资源评论
月流霜
- 粉丝: 1324
- 资源: 186
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AutoHotKey 2.0中文帮助文件
- 基于Docker-compose的Elasticsearch集群每个节点均是独立docker-compose配置而成源码.zip
- 目标检测-零售食品LOGO检测数据集-40000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-30000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-20000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-10000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 基于GUI+MYSQL+JAVA图书管理系统文档说明+源码(高分大作业项目).zip
- 基于Qt使用C++实现图书管理系统源码+数据库(95分以上).zip
- 基于GUI+MYSQL+JAVA票务管理系统文档介绍+源码+数据库(高分大作业).zip
- Java项目-购物网站系统(java+Servlet+JSP+Mysql)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功