
Можно ли получить информацию об истории подключений к сетям Wi-Fi? Меня интересуют прошлые подключения, которые были сделаны до последнего выключения машины. В моем случае роль роутера выполняли точки доступа, созданные со смартфонов (предположим, что получить такую информацию с роутера невозможно). Сетевая карта Wi-Fi: TP-LINK TL-WN722N
(внешняя). Ниже я вставляю пример того, чего я хотел бы достичь (объем данных мне не важен, это просто мое представление о таком виде функциональности).
History of connections:
Foo wireless network, 19-03-2020 11:44, 19-03-2020 13:22, Send: 2123345768, Received: 1627335162
Bar wireless network, 19-03-2020 14:02, 19-03-2020 16:14, Send: 1224385229, Received: 525324143
...
решение1
Эта команда поможет вам начать
zgrep "Connected to wireless network" /var/log/syslog*
По крайней мере, он показывает дату, время и имя сети.
решение2
Вы можете запросить connection
объект интерфейса nmcli
, например
nmcli con show
выведет список всех подключений, о которых знает NetworkManager, с полями по умолчанию
NAME UUID TYPE DEVICE
Другие доступные поля перечислены в man nm-settings
- единственная временная метка, которая, по-видимому, доступна, - это время последнего успешного соединения.
$ nmcli -f TYPE,TIMESTAMP,NAME con show
TYPE TIMESTAMP NAME
wifi 1584652638 NETGEAR68-5G
wifi 1504171300 BTHub4-NXMQ
ethernet 1537710873 Ethernet connection 1
wifi 1582891130 NETGEAR68
Использование GNU awk для постобработки в желаемый вами формат:
$ nmcli -f TYPE,TIMESTAMP,NAME con show | gawk '$1 == "wifi" {
printf "%s wireless network,%s\n", $3, strftime("%d-%m-%Y %H:%M",$2)
}'
NETGEAR68-5G wireless network,19-03-2020 17:32
BTHub4-NXMQ wireless network,31-08-2017 05:21
NETGEAR68 wireless network,28-02-2020 06:58
Насколько мне известно, ни продолжительность соединения, ни количество отправленных и полученных байтов не регистрируются.
решение3
zgrep "WPA: " /var/log/syslog*
предоставляет информацию обо всех попытках подключения (включая неудачные попытки, например, не к нашей сети или после смены пароля Wi-Fi).