MLdonkeyStats

De CCSL
Ir para: navegação, pesquisa

O nome deste projeto mudou para DonkeySurvey e seu desenvolvimento pode ser acompanhado através do Trac.

Extensão do MLdonkey para manutenção de uma base de dados local com histórico de conexões e de trocas de arquivos.

Índice

Motivação

Atualmente não existe uma ferramenta para popular e manter uma base de dados com histórico de tráfego na rede eDonkey, que seja livre e multiplataforma.

A coleta de tais informações possibilitará a posterior análise do comportamento da rede para fins de pesquisa ou investigação. Pretende-se armazenar principalmente quais usuários, e em que circunstâncias, eles procuram ou disponibilizam determinados arquivos (ou tipos de arquivos), extraindo dados estatísticos que sejam relevantes para a pesquisa.

Público alvo

Pesquisadores

  • O MLDonkeyStats pode ser utilizado para gerar indicadores que relacionem o teor do conteúdo compartilhado com determinados perfis de usuários, no que diz respeito a sua localização geográfica, quais provedores de acesso utilizam, se usam proxies anônimos para se conectarem a rede, etc.

Autoridades

  • As aplicações clientes de redes p2p não possuem log nativo que armazene de forma organizada o histórico de downloads e uploads realizados, o que pode ser útil num processo de investigação;
  • Alguns arquivos de conteúdo criminoso distribuídos na rede possuem nomes inofensivos e só podem ser identificados como tal depois do download concluído, dificultando assim a responsabilização do usuário que o disponibilizou. Conhecendo o histórico de download/upload dos usuários ficará mais fácil definir critérios, como, por exemplo, a quantidade de ocorrências, para que então seja possível identificar aqueles usuários considerados suspeitos.

Usuário curioso

  • Através da ferramenta o próprio usuário pode ter conhecimento de quantas vezes, em quais dias e por "quem" um arquivo seu foi baixado.

Por que usar o MLDonkey?

  • É um dos clientes P2P para compartilhamento de arquivos mais difundidos na comunidade de Software Livre;
  • Arquitetura cliente-servidor, permitindo que o servidor (core P2P) possa ser executado em máquinas sem muitos recursos, sendo possível o uso de diversas interfaces para o cliente (GUI, Web, Telnet, etc);
  • Cliente multiplataforma;
  • Multi-usuário;
  • Projetado para a rede eDonkey (mesma do emule e amule), mas suporta BitTorrent, FastTrack, FileTP, entre outras;
  • Um arquivo pode ser baixado de diversas redes simultaneamente;
  • Licenciado sob a GPL

Trabalhos relacionados

  • Spymule: cliente emule que armazena logs de IPs e queries whois, desenvolvido para a plataforma Windows. Desvantagem: pouca atividade no desenvolvimento (ultimo upload em 2004);
  • Espiamule: desenvolvido e usado internamente pela Polícia Federal do Brasil, utilizado na Operação Carrossel. Desvantagem: não está disponível para a comunidade.
  • ed2kstats: provê estatísticas sobre o compartilhamento de arquivos na rede eDonkey. Desvantagem: O projeto foi descontinuado, apesar de estar disponível para download e licenciado sob a GPL.
  • Amule Daemon: versão daemon do amule, licensiado sob a GPL, tem arquitetura cliente-servidor semelhante ao MLdonkey. Desvantagem: possui um módulo de estatística rudimentar, com último upload em 2004.

Metodologia

  1. Utilização de ferramentas de suporte ao trabalho colaborativo (controle de versão? trac? redmine? sourcefore?);
  2. Integração à comunidade oficial de desenvolvedores (listas, wikis, irc, ...);
  3. Documentação pública de todo o processo de desenvolvimento.

Cronograma

Semana Prazo Ação Meta
1 09/09/2009 Análise crítica de 3 soluções alternativas ao MLdonkey com estatística (Spymule, ed2kStats e Amule) Escolha definitiva da ferramenta que servirá como base para o trabalho (validação da proposta)
2 15/09/2009 Imersão na ferramenta escolhida (tecnologia, linguagem, protocolo de comunicação, comunidade) Aprofundar o conhecimento sobre o tema antes de iniciar o desenvolvimento
3 22/09/2009 Analisar possíveis estratégias de desenvolvimento da extensão (um novo cliente, um plugin ou direto no core) Definir a estratégia a ser adotada
4 29/09/2009 Desenvolvimento da base de dados a ser criada Implementação da estrutura
5 06/10/2009 Codificação Coleta de dados e população da base a medida que as conexões e trocas acontecem
6 13/10/2009 Codificação Continuação
7 20/10/2009 Codificação Continuação
8 27/10/2009 Codificação Primeira versão beta
9 03/11/2009 Codificação Conexão numa base maxmind local para obter dados sobre a localização geográfica dos clientes (latitude/longitude); geração de XML para visualização georeferenciada (exemplos: ammap ou diymap); cruzamento com listas de proxies anônimos na Internet para indicar quais conexões são feitas a partir deles
10 10/11/2009 Codificação Continuação
11 17/11/2009 Codificação Busca na base de dados (por IP, hash, nome de arquivo, etc)
12 24/11/2009 Codificação Geração de relatório a partir dos dados coletados
13 01/11/2009 Codificação Primeiro release
14 03/12/2009 Escrita de relatório Publicação

Equipe: Beraldo Leal, Tássia Camões e Vinicius Pinheiro

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas