如何可靠地检查 Ubuntu 机器最后一次连接到互联网是什么时候?

kos*_*kos 24 networking internet

如何可靠地检查 Ubuntu 机器最后一次连接到互联网是什么时候?

如果这是不可能的,一种检查 Ubuntu 机器上次连接到网络的方法就足够了。

Ser*_*nyy 28

方法一

尽管 NetworkManager.conf 允许日志记录,但显然仍会进入系统日志。但是, kern.log 也有。

grep 'associated' /var/log/kern.log | tail -n1                               
Jun 21 17:08:25 anaconda kernel: [ 4910.819781] wlan1: associated
Run Code Online (Sandbox Code Playgroud)

方法二

我发现 NetworkManager 确实存储了上次连接时间,并且它/var/lib/NetworkManager/timestamps以 unix 纪元时间格式(自 1970 年以来的秒数)在文件中排序。例如,我的看起来像这样:

$ cat /var/lib/NetworkManager/timestamps                                       
[timestamps]
c562ac2d-8911-4273-b165-ed1495b28c9a=1432777079
46cfcdd9-d095-418f-acd6-0a7ca282bb9a=0
d81fb3d0-1717-42c0-903d-4622c2381597=1434895707
b0bdefe6-df88-49bb-83d8-154dd21d77d9=1433093286
Run Code Online (Sandbox Code Playgroud)

显示最新条目

date --date=@"$( awk -F'=' 'BEGIN {var=0}{if(var<$2) var=$2;} END{print var}' /var/lib/NetworkManager/timestamps )"
Run Code Online (Sandbox Code Playgroud)

awk 将搜索最大的纪元时间(换句话说,最新的),而 date 会将其转换为人类可读的形式。

我还怀疑/var/lib/NetworkManager/timestamps编辑连接图形菜单使用此文件 ( ) 来显示上次连接

在此处输入图片说明

问题是,如果您仍然连接到接入点,GUI 方式会一直now不显示,最后建立连接的时间

  • @kos 所以该文件包含 hex-string=epoch-timestamp。十六进制字符串是访问点。epoch-timestamps 是最新的连接时间。在那里试试我的 awk 版本,我已经编辑了我的答案 (2认同)
  • @DeadChex 我休学了一年 :) 已经更正了 (2认同)

Mar*_*rby 6

您可以检查/var/log/syslog上次连接到网络时将显示的文件。


例子

Jun 21 08:00:00 Ubuntu dhclient: DHCPREQUEST of 192.0.0.0 on wlan0 to 192.0.0.0 port 67 (xid=0xec7c6e7)
Run Code Online (Sandbox Code Playgroud)

您可以运行grep命令以仅从日志中提取您需要的内容

< /var/log/syslog grep DHCPREQUEST 
Run Code Online (Sandbox Code Playgroud)


A.B*_*.B. 5

检查CONNECTED_GLOBAL后,我们发现link connected/var/log/syslog

/link connected/,/CONNECTED_GLOBAL/

% awk '/link connected/,/CONNECTED_GLOBAL/ {line=$0} END{print line}' /var/log/syslog
Jun 21 11:12:54 sturm NetworkManager[736]: <info> NetworkManager state is now CONNECTED_GLOBAL Jun 21 11:12:54

% awk '/link connected/,/CONNECTED_GLOBAL/ {month=$1;day=$2;time=$3} END{print month,day,time}' /var/log/syslog
Jun 21 11:12:54
Run Code Online (Sandbox Code Playgroud)