Wi-Fiネットワークへの接続履歴

Wi-Fiネットワークへの接続履歴

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

関連情報