---
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 и возвращает его в терминал.

Утилита не принимает никаких аргументов. Запускать как есть.
