MLdonkeyStats
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
- Utilização de ferramentas de suporte ao trabalho colaborativo (controle de versão? trac? redmine? sourcefore?);
- Integração à comunidade oficial de desenvolvedores (listas, wikis, irc, ...);
- 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