How хан I reliably check which is the last украл an Ubuntu machine - been connected to the Интернет?

How хан I reliably check which is the last украл an Ubuntu machine - been connected to the Интернет?

In вступил в брак this is not possible, в way to check the last украдите an Ubuntu machine ты существуешь been connected to в network would be good enough.

24
задан 7 July 2015 в 12:11

5 ответов

Метод 1

Даже при том, что NetworkManager.conf позволяет регистрироваться, который по-видимому все еще входит в системный журнал. Однако kern.log также имеет его.

grep 'associated' /var/log/kern.log | tail -n1                               
Jun 21 17:08:25 anaconda kernel: [ 4910.819781] wlan1: associated

Метод 2

я нашел, что 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

Для показа последней записи

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

Awk будет искать самое большое время эпохи (другими словами, последний), и дата преобразует его в человекочитаемую форму.

я подозреваю также, что этот файл (/var/lib/NetworkManager/timestamps) используется Соединениями Редактирования графическое меню для отображения в прошлый раз соединения

enter image description here

, проблема состоит в том, что, если Вы все еще подключены к точке доступа, GUI, путь продолжает показывать now не, время, когда соединение было установлено в последний раз

28
ответ дан 23 November 2019 в 01:19

Можно проверить файл /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)

можно работать команда grep для получения по запросу только, в чем Вы нуждаетесь от журнала

< /var/log/syslog grep DHCPREQUEST 
6
ответ дан 23 November 2019 в 01:19

Если Вы не находите "правильный" способ сделать это, можно всегда производить собственное!

следующая функция удара скажет Вам, если Вы будете онлайн (к Интернету) или нет.

необходимо было бы просто записать сценарий, который называет его (в цикле и затем спит), и записывает последнюю дату и время в файл (перезапись, таким образом, это просто имеет просто последнее значение).

необходимо было бы добавить код к циклу, таким образом, это проверяет, как только это первоначально называют и журналы (таким образом, начальное состояние установлено правильно).

После этого, Вы только зарегистрировались бы снова, когда состояние сначала идет офлайн и когда оно сначала прибывает онлайн будучи в режиме офлайн. Легче кодировать, чем объяснить.;)

Это было бы ограничено в точности тем, сколько времени задержка (сон), который Вы используете в цикле (чтобы помешать ему быть очень жестким циклом, который мог бы использовать слишком много системных ресурсов.) Это также не знало бы что бы ни случилось, прежде чем это будет запущено или когда это не работает.

сам сценарий мог быть запущен (как фоновое задание (& в конце вызова), возможно с nohup для поддерживания его в рабочем состоянии, если его родительский процесс завершается), когда пользователь входит в систему путем выполнения его из файла $HOME/.profile, запуска его с настольной утилиты автоматического запуска (KDE или Gnome), от задания крона, которое периодически проверяет, чтобы видеть, не работает ли это уже, или даже от любой системы запуска Вы имеете (init/systemd/etc., если Вы знаете достаточно, чтобы сделать это.)

, Когда Вы не можете найти что-то вроде этого, что делает точно, что Вы хотите, это часто не слишком трудно для записи собственного сценария, чтобы сделать это и выполнить его как демон в фоновом режиме.

Лучше выполнять его из учетной записи обычного пользователя, если возможный - если Вы не кодируете его на устойчивом языке как C или Python - потому что сценарии оболочки, работающие с полномочиями пользователя root часто, излагают угрозы безопасности.

Этот подход имеет другую проблему. Иногда ping будет тайм-аут, дающий Вам ложное офлайновое состояние.

у меня есть полный сценарий, offline_alert, который в значительной степени делает противоположность того, что Вы хотите - предупреждает меня, когда я иду офлайн - но код может оказаться полезным. Это имеет лучшую офлайновую функцию, которая пытается уменьшить ложные положительные стороны от тайм-аутов ping.

function offline {
  ## Test if offline
  ## Returns 0 if online, 2 if offline
  local RC
  ping -c 1 google.com > /dev/null 2>&1
  RC=$?
  ##echo "offline returning [${RC}]"
  return $RC
}
2
ответ дан 23 November 2019 в 01:19

Проверить 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
5
ответ дан 23 November 2019 в 01:19

Один способ проверить любой журнал сервиса/демона, что реле в Интернете для работы. Например, NTP (Протокол сетевого времени) обновления.

Посмотрите dpkg -L ntpdate для рычагов состояния сети

Хорошо, поскольку я проверил его журнал на рабочий стол Ubuntu, его обновление, выполненное каждый раз, когда сеть и продолжает пробовать после малой задержки, если последнее обновление перестало работать. Это соединяется ntp.ubuntu.com.

(Отметьте, я добавил первый столбец в выводе для моих комментариев),

$ grep -r ntpdate /var/log/syslog*

1st_trial   Jul 14 00:35:56 user-VirtualBox ntpdate[774]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 00:35:56 user-VirtualBox ntpdate[774]: no servers can be used, exiting
2nd_trial   Jul 14 03:38:57 user-VirtualBox ntpdate[2571]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 03:38:57 user-VirtualBox ntpdate[2571]: no servers can be used, exiting
3rd_trial   Jul 14 03:46:09 user-VirtualBox ntpdate[2782]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 03:46:09 user-VirtualBox ntpdate[2782]: no servers can be used, exiting
4th_trial   Jul 14 03:47:48 user-VirtualBox ntpdate[2917]: step time server 91.189.89.199 offset 3.458355 sec
1st_trial   Jul 14 10:23:07 user-VirtualBox ntpdate[728]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 10:23:07 user-VirtualBox ntpdate[728]: no servers can be used, exiting
2nd_trial   Jul 14 10:37:22 user-VirtualBox ntpdate[2099]: step time server 91.189.89.199 offset 2.021103 sec
dis-/re-con Jul 14 15:27:09 user-VirtualBox ntpdate[20174]: step time server 91.189.89.199 offset 1.677465 sec
1st_trial   Jul 14 23:55:00 user-VirtualBox ntpdate[807]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 14 23:55:00 user-VirtualBox ntpdate[807]: no servers can be used, exiting
2nd_trial   Jul 15 00:00:24 user-VirtualBox ntpdate[2041]: step time server 91.189.94.4 offset 1.619839 sec
1st_trial   Jul 15 05:39:08 user-VirtualBox ntpdate[767]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 15 05:39:08 user-VirtualBox ntpdate[767]: no servers can be used, exiting
2nd_trial   Jul 15 05:39:21 user-VirtualBox ntpdate[1088]: step time server 91.189.94.4 offset 2.897077 sec
1st_trial   Jul 15 05:49:40 user-VirtualBox ntpdate[787]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
            Jul 15 05:49:40 user-VirtualBox ntpdate[787]: no servers can be used, exiting
2nd_trial   Jul 15 05:49:50 user-VirtualBox ntpdate[1101]: adjust time server 91.189.94.4 offset 0.090520 sec
reconnect   Jul 15 05:55:50 user-VirtualBox ntpdate[2251]: adjust time server 91.189.94.4 offset 0.261432 sec
reconnect   Jul 15 06:04:53 user-VirtualBox ntpdate[2702]: step time server 91.189.94.4 offset 0.525658 sec

Я подтверждаю, что это установлено по умолчанию для Ubuntu 14.04 рабочий стол LTS 64 битов и выпуски сервера.

Я дал ему попытку в VM, это показывает только время, которое это соединяет или повторно подключает (с доступным Интернетом). Не, что Вы хотите (прошлый раз был соединен),

Примечание, системный журнал является поворачивать журналом, если Вы хотите поиск все журналы даже старые сжатые, использовать zgrep

zgrep -ih ntpdate /var/log/syslog* | sort -bn -k2
2
ответ дан 23 November 2019 в 01:19

Другие вопросы по тегам:

Похожие вопросы: