93 lines
3.0 KiB
Markdown
93 lines
3.0 KiB
Markdown
|
---
|
|||
|
title: "🕸️ Получение статистики соединений WireGuard"
|
|||
|
date: 2022-11-19T13:29:41+03:00
|
|||
|
draft: false
|
|||
|
tags: [tips, wireguard]
|
|||
|
---
|
|||
|
|
|||
|
## Просмотр статистики
|
|||
|
|
|||
|
Статистику клиентов WireGuard можно получить используя параметр `show` утилиты `wg`.
|
|||
|
|
|||
|
Например:
|
|||
|
|
|||
|
```sh
|
|||
|
wg show all
|
|||
|
```
|
|||
|
|
|||
|
Команда вернёт следующий результат.
|
|||
|
|
|||
|
```text
|
|||
|
interface: wg0
|
|||
|
public key: <public_key>
|
|||
|
private key: (hidden)
|
|||
|
listening port: 443
|
|||
|
|
|||
|
peer: <public_key>
|
|||
|
preshared key: (hidden)
|
|||
|
endpoint: <user_ip>:<user_port>
|
|||
|
allowed ips: 10.253.1.2/32
|
|||
|
latest handshake: 5 seconds ago
|
|||
|
transfer: 25.47 MiB received, 282.28 MiB sent
|
|||
|
|
|||
|
peer: <public_key>
|
|||
|
preshared key: (hidden)
|
|||
|
endpoint: <user_ip>:<user_port>
|
|||
|
allowed ips: 10.253.1.1/32
|
|||
|
latest handshake: 47 seconds ago
|
|||
|
transfer: 314.81 MiB received, 776.23 MiB sent
|
|||
|
|
|||
|
peer: <public_key>
|
|||
|
preshared key: (hidden)
|
|||
|
allowed ips: 10.253.1.3/32
|
|||
|
```
|
|||
|
|
|||
|
Если на машине несколько интерфейсов WireGuard,
|
|||
|
можно вывести статистику по конкретному интерфейсу:
|
|||
|
|
|||
|
```sh
|
|||
|
wg show wg0
|
|||
|
```
|
|||
|
|
|||
|
Для наблюдения за статистикой в реальном времени
|
|||
|
можно использовать команду `watch`.
|
|||
|
|
|||
|
```sh
|
|||
|
watch wg show all
|
|||
|
```
|
|||
|
|
|||
|
Or:
|
|||
|
|
|||
|
`wg-json` tool from
|
|||
|
[wireguard-tools](https://git.zx2c4.com/wireguard-tools/tree/contrib/json/wg-json).
|
|||
|
|
|||
|
## Сбор статистики
|
|||
|
|
|||
|
Для сбора (дампа) статистики у необходимо добавить аргумент `dump`
|
|||
|
и в терминале отобразится информация в виде таблицы:
|
|||
|
|
|||
|
```sh
|
|||
|
wg show all dump
|
|||
|
```
|
|||
|
|
|||
|
```text
|
|||
|
wg0 <private_key> <public_key> <listen_port> <fwmark>
|
|||
|
wg0 <public_key> <preshared_key> <endpoint> <allowed_ips> <latest_handshake_timestamp> <transfer_rx> <transfer_tx> <persistent-keepalive>
|
|||
|
wg0 <public_key> <preshared_key> <endpoint> <allowed_ips> <latest_handshake_timestamp> <transfer_rx> <transfer_tx> <persistent-keepalive>
|
|||
|
wg0 <public_key> <preshared_key> <endpoint> <allowed_ips> <latest_handshake_timestamp> <transfer_rx> <transfer_tx> <persistent-keepalive>
|
|||
|
```
|
|||
|
|
|||
|
\* [wg.8.en.html#show](https://manpages.debian.org/unstable/wireguard-tools/wg.8.en.html#show)
|
|||
|
on Debian man pages.
|
|||
|
|
|||
|
## wg-json
|
|||
|
|
|||
|
В официальный состав инструментов [wireguard-tools](https://git.zx2c4.com/wireguard-tools)
|
|||
|
входит утилита **[wg-json](https://git.zx2c4.com/wireguard-tools/tree/contrib/json/wg-json)**.
|
|||
|
|
|||
|
[Она](https://git.zx2c4.com/wireguard-tools/tree/contrib/json/wg-json)
|
|||
|
представляет из себя Bash скрипт, который преобразовывает вывод команды
|
|||
|
`wg show all dump` в JSON и возвращает его в терминал.
|
|||
|
|
|||
|
Утилита не принимает никаких аргументов. Запускать как есть.
|