
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 パスワードの変更後)。