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 и возвращает его в терминал.
|
||
|
||
Утилита не принимает никаких аргументов. Запускать как есть.
|