Ir para conteúdo
Fórum Script Brasil
  • 0

Algoritmo Relatório de Acessos


rguedesc

Pergunta

Boa tarde pessoal,

sou novo em programação PHP e gostaria da ajuda de quem puder.

Tenho um proxy que me gera relatórios de acessos dos usuários de uma rede, como por exemplo o a seguir:

1226664487.700 808 10.19.11.82 TCP_MISS/200 5229 CONNECT https://urs.microsoft.com:443 - DEFAULT_PARENT/127.0.0.1 -

1226664487.708 36 10.19.11.44 TCP_MISS/200 0 GET http://g1.globo.com/Noticias/foto/0,,15912387-EX,00.jpg - DEFAULT_PARENT/127.0.0.1 -

1226664487.769 25 10.19.11.44 TCP_MISS/200 0 GET http://g1.globo.com/Portal/cda/generico/js/glb.js - DEFAULT_PARENT/127.0.0.1 -

1226664487.771 69 10.19.11.44 TCP_MISS/200 0 GET http://g1.globo.com/Noticias/foto/0,,15913110-EX,00.jpg - DEFAULT_PARENT/127.0.0.1 -

1226664487.772 41 10.19.11.44 TCP_MISS/200 0 GET http://g1.globo.com/Noticias/foto/0,,15913259-EX,00.jpg - DEFAULT_PARENT/127.0.0.1 -

1226664487.827 1 10.19.11.247 TCP_DENIED/403 0 GET http://msnportal.112.2o7.net/b/ss/msnporta.../s0685860677622?[AQB]&ndh=1&t=14/10/2008%2010%3A8%3A17%205%20120&ce=ISO8859-1&ns=msnportal&pageName=lnk%3Aendslate&g=http%3A//video.MSN.com/%3Fmkt%3Dpt-br%26vid%3D18d959b7-26ab-4cff-a04a-10785687dba0%26tab%3Ds1174518766902&r=http%3A//br.MSN.com/&ch=MSNvideo%5Edest&server=images.video.MSN.com&c1=MSNVideo%5Ev4&c2=pt-br&c3=MSNvideo%5Edest&c5=endslate%3Aright&c28=http%3A//br.MSN.com/&s=1024x768&[AQE] - DEFAULT_PARENT/127.0.0.1 -

1226664487.857 36 10.19.11.44 TCP_MISS/200 0 GET http://g1.globo.com/Portal/cda/generico/js/swaptab.js - DEFAULT_PARENT/127.0.0.1 -

Pois bem, preciso de um algoritmo que gere uma listagem por grupo de IP dos acessos que apresentaram DENIED, ou seja, uma listagem do tipo:

IP DATA_HORA URL

Lembrando que a data_hora deve ser apresentada no formato dia/mes/ano_ horário (h:m:s) ... porém no relatório de acesso essa data esta no formato UNIX Posix, onde a sequencia de numeros iniciais de cada linha de análise representa os segundos a mais a partir da data de 1/1/1970 0h0m0s.

Esse algoritmo pode ser para programação php ou mesmo sh.

Fico grato a quem puder ajudar, pois estou com dificuldades.

Att.

Ricardo Guedes

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá!

Olha cara, nessas horas que eu agradeço o Aurélio http://www.aurelio.net/ com ele você pode aprender muito sobre expressões regulares.

Esse relatório pode ser salvo em um arquivo txt ou banco de dados? Pois bem, o que eu imagino é separar as linhas deste arquivo em um array e se a posição do array possuir a palavra DENIED, você manda imprimir, efetuando assim sua idéia. O que você pode estudar é a função explode:

http://br.php.net/explode

Ou procurar no Google algo já pronto para este teu proxy.

Abraços e sorte!

Link para o comentário
Compartilhar em outros sites

  • 0

Isso mesmo, a idéia básica que tive a principio também foi essa.

Esse relatório pode ser salvo em um arquivo .txt, e assim eu jogaria ele dentro de um array cada linha.

O problema é separar depois pra pegar o ip, a data e hora e a URL. Não tenho experiencia nessa área, por isso estou com dificuldades.

Mas valeu pela ajuda

Se alguém mais puder ajudar agradeço

Att.

Ricardo Guedes

Link para o comentário
Compartilhar em outros sites

  • 0

Primeiramente tu irás que verificar uma padronização destas linhas do log do programa. Provavelmente existe a divisão entre um caracter de nova linha \n ou algo do gênero. A partir disso tu poderás efetuar um explode do arquivo, e verificar todas as linhas; também podes ver a função que retorna true se ela possui uma substring solicitada cujo nome eu não recordo.

Mas tudo são estudos. A moral é sempre a mesma: terás que ter um padrão que divide as linhas do arquivo; leia ele e divida essas linhas. Verifica em cada uma delas se possuem a palavra desejada (como por expressões regulares); exiba as linhas.

Espero pelo menos ter clareado algumas idéias.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...