De acordo com man last
, meu sistema Arch Linux armazena informações de login em /var/log/wtmp
. Parece estar em um formato binário - ou seja, as ferramentas de texto normais só mostram partes de isso.
Este comando: xxd /var/log/wtmp | more
mostra os endereços IP com quatro pontos em formato de texto e nomes DNS totalmente qualificados.
Eu escrevi o pequeno programa a seguir para me mostrar o que estava em /var/log/utmp
. Parece que nem toda entrada tem um nome de host / endereço IP, e que o formato binário tem apenas uma quantidade pequena e fixa de espaço para o nome do host.
#include <stdio.h>
#include <utmp.h>
int
main(int ac, char **av)
{
struct utmp *utmpp;
utmpname("/var/log/wtmp");
while (NULL != (utmpp = getutent())) {
printf("%s\n", utmpp->ut_host);
}
endutent();
return 0;
}