-
MD5 “Decrypter”, Java
Posted on June 23rd, 2009 No commentsBoa noite,
Nas aulas de programação concorrente o professor passou uma introdução de Programação Distribuida e pediu que nós criassemos algo que utilizasse ela. Então eu sugeri ao meu colega Olav para implementarmos um “quebrador” de senha por força bruta. O mesmo funciona da seguinte maneira, existe um master onde os slaves se conectam, o master informa a string a ser quebrada e qual faixa de caracteres o slave deve tentar. Após terminar aquela faixa caso ele não obtenha sucesso o slave recebe uma nova faixa, caso ele encontre, ele informa o master qual a string utilizada para gerar tal MD5.
Implementação do “MD5 Decrypter”
Existem muitas coisas que ainda podem ser aperfeiçoadas nesse programa como:
- Não precisar um número fixo de Slaves. Aceitar todos que forem se conectando em tempo real.
- Melhor distribuição de faixas.Ele pode ser praticamente o inicio de um programa de Força Bruta Distribuida, que já devem existir vários por ai.
Espero que goste,
Matheus -
Exercício Estacionamento, Java, Programação Concorrente.
Posted on June 22nd, 2009 No commentsBoa tarde,
Semana passada fiz a última prova de Programação Concorrente deste semestre. O problema que devia se solucionar era o seguinte:
O estacionamento de uma universidade possui 30 vagas. Enquanto o mesmo possue vagas, não existe prioridade para quem estaciona. Quando o mesmo está cheio, forma-se uma fila, onde professores possuem a mais alta prioridade, seguido pelos funcionarios e após os alunos. Utilize java com Threads para “simular” este problema. Utilize 10 professores, 15 funcionários, 30 alunos.
O Professor Mazzucco, disponibilizou uma implementação do mesmo que vou disponibilizar para vocês.
Implementação problema estacionamento em Java
Matheus
-
Seja livre.
Posted on June 18th, 2009 No commentsBoa noite,
Como você deve saber, estou numa correria, final de semestre, provas, trabalhos e tudo mais. Por estas razões não tenho publicado regularmente no blog mas em breve isso passa e tudo volta ao normal. Hoje, consegui tirar um tempo para ver um documentário que já queria ter visto a algum tempo. Venho por meio deste recomendar o mesmo “IN Proprietario – O mundo do software livre” e outros.
IN Proprietario – O mundo do software livre
- Documentário Brasileiro que tem como tema o Software Livre.Revolution OS (Ingles) | Link Alternativo (BestDocs) | Legenda (BestDocs)
- Documentário Revolution OS, que fala sobre um sistema operacional revolucionário. Linux.Freedom Downtime | Legenda
- Documentário Freedom Downtime, que fala um pouco sobe a história da vida de Kevin Mitnick e mostra uma visão mais realista do que aconteceu com ele. Diferente do filme Antitrust.Espero que você goste,
Matheus -
Tabela de “conversão” – 3 – Organização de Computadores (INE5411)
Posted on June 16th, 2009 No commentsOlá
Este tópico tem o intuito de complementar os dois anteriores, adicionando as novas lectures e a “conversão” de mais páginas do livro em inglês para a versão em Português
Para ver as novas atualizações continue lendo, não quero socar a página principal de números e coisas sem sentido para muitos.
Matheus Bratfisch
-
Atualizar End Point, TunnelBroker.
Posted on June 15th, 2009 No commentsBom dia!
Estou utilizando IPv6 aqui na minha rede local, porém sempre que eu iniciava o servidor tinha que acessar o site tunnelbroker e atualizar o End Point, então tive a idéia de fazer um script que atualizasse sozinho. Enviei um e-mail para o suporte deles e recebi a seguinte url como resposta: http://ipv4.tunnelbroker.net/ipv4_end.php
ipv4b = Novo endereço de IP
pass = md5 da sua senha (http://hash-it.net/)
user_id = O “UserID” da página principal no tunnelbroker (não é seu usuário)
tunnel_id = O “Global Tunnel ID” da página de detalhes do tunnelAdicionei o seguinte comando no /etc/rc.local para pegar o IP atual da interface eth0 (externa):
IP=`ifconfig eth0 | grep “inet addr” | cut -d : -f 2 | cut -d B -f 1 | sed ’s/^ *//;s/ *$//’`
Após isso adicionei a seguinte linha para fazer a requisição e atualizar o End Point:
wget https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=$IP&pass=senha&user_id=USERID&tunnel_id=TUNNELID
Abraço,
Matheus -
Liberar acesso por MAC e IPtables.
Posted on June 8th, 2009 No commentsBoa noite,
Como pretendo fazer um Captive Portal em meu servidor resolvi instalar um Apache para exibir as páginas de autenticação ou seja quando o usuário não estiver autenticado ele ficará vendo está página em toda sua requisição WEB. O problema é que quando acessavamos algum endereço de IP a página era exibida mas ao se utilizar endereços isto não acontecia pois ele não conseguia acesso até o DNS. Pesquisei um pouco pela internet e vi alguns falando sobre a instalação de um servidor DNS no próprio servidor, fiz isso mas não achei muito interessante então pensando sobre regras de iptables me veio a grande idéia de simplesmente redirecionar os acessos a porta 53. As regras que utilizei para Bloquear acesso de MAC não liberados, redirecionar a porta 80 para meu apache, permitir acesso ao DNS foram as seguintes:
Ainda estou brincando com o servidor e hoje estava querendo liberar acesso exclusivamente para os MAC aqui de casa, garantindo assim que nenhum vizinho vai pegar meu sinal e utilizar. Demorei algum tempo para conseguir regras que funcionassem efetivamente.
Liberar acesso de tal MAC ADDRESS:
iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -m mac –mac-source MAC -j ACCEPT
Redirecionar porta 80 para 8080
iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p tcp –dport 80 -j REDIRECT –to-port 8080
Liberar acesso somente ao servidor DNS:
iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p udp –dport 53 -j DNAT –to IP:53
Bloquear todos os acessos:
iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -j DROP
Matheus
PS: Se as mesmas não estiverem funcionando, não se esqueca de dar uma verificada nas suas regras atuais de iptables pois pode ter algo proibindo ou liberando tudo antes. Então fique atento.
-
Liberando ping no servidor.
Posted on June 7th, 2009 No commentsBoa noite,
Na publicação anterior comentei sobre a liberação do “ping” (ICMP) de tal local para seu servidor. Caso você utilizesse Iptables e por padrão DROP em todas as “regras”, você poderá liberar pings apenas de determinado ip da seguinte maneira:
$ sudo iptables -A INPUT -p icmp -s 150.162.60.37 -j ACCEPT
Lembrando que você deve olhar a ordem das regras, pois isto importa em iptables.
Matheus Bratfisch
-
Utilizar IPv6 em toda a sua rede.
Posted on June 6th, 2009 No commentsBoa noite,
Como você deve saber o número de IPS na internet estão acabando, as previsões indicam que eles devem se esgotar até 2011. E como ficaremos? Calma, não se assuste! Já foi inventada a alguns anos a tecnologia que está substituindo os IPv4, são os chamados IPv6. (Que eu publiquei o link pro curso da CGI.BR lembra?). Então, hoje em dia já existem serviços destinados ao IPv6. Para fazer o uso do IPv6 existem alguns métodos e vou demonstrar como fiz na minha rede para conseguir IPv6 para os computadores. Lembrando que a minha rede possui um “Ubuntu Server” para receber e compartilhar a internet.
Inicialmente crie um cadastro em http://www.tunnelbroker.net. Após o cadastro realizado e confirmado acesse o menu “Create Regular Tunnel” e coloque o IP da sua residencia, o ponto final do tunnel, escolha o servidor mais perto de você e pronto. (Você não deve bloquear pings (ICMP) do servidor, se não ele não permitira que o tunnel seja criado).
Pressione o link ao lado direito de “Routed /48:”, assim ele lhe dará uma “classe” de ip para você utilizar em sua rede caseira.
Após feito isso, acesse seu servidor e crie o tunnel para ele da seguinte maneira:
# IPV6 da sua placa de rede INTERNA
sudo ifconfig eth1 inet6 add 2001:470:d8dd:1::1/64
# Levanta interface sit0
sudo ifconfig sit0 up
# Cria um tunnel para o IP do seu servidor (Substituia o IP_DO_SERVIDOR pelo valor do “Server IPv4 address”)
# MANTENHA OS “::”
sudo ifconfig sit0 inet6 tunnel ::IP_DO_SERVIDOR
# Levanta interface sit1
sudo ifconfig sit1 up
# Adiciona o IPv6 a interface sit1 (Substitua ROUTED pelo valor “Routed /48″)
sudo ifconfig sit1 inet6 add ROUTED
# Redireciona os tráfegos IPv6 para sit1
sudo route -A inet6 add ::/0 dev sit1
# Habilita IPv6 Forwarding.
sysctl net.ipv6.conf.all.forwarding=1Teste se você está utilizando IPv6 da seguinte maneira:
$ ping6 ipv6.google.comNas demais máquinas das redes deve ser feito o seguinte:
$ sudo ifconfig eth1 inet6 add IPv6_DA_SUA_MAQUINA
$ sudo ip route add ::/0 via IPv6_DO_SERVIDORCaso você não queira configurar manualmente você pode utilizar o RaDVD que é um “router advertisement daemon”.
Vamos supor que seu Routed/48 é 2001:530:d822::/48 o IP da placa de rede do seu servidor conectada a rede local poderia ser: 2001:530:d822:1::1/64. Então o IP da sua máquina seria 2001:530:d822:1::2/64.
Agora de sua máquina tente pingar com ping6 o seu servidor e ipv6.google.com. Se obter resposta está tudo certo. (é claro ¬¬’)
Espero que seja de utilidade a você,
MatheusPS: Caso você deseje utilizar IPv6 somente em uma máquina conectada diretamente na internet cadastre-se no mesmo site, crie seu tunnel e siga as instruções no final da página do tunnel.
-
Instalar e Configurar servidor DHCP.
Posted on June 6th, 2009 No commentsBoa noite,
Estou pensando em uma estrutura de rede que seja eficiente para a minha casa e no momento resolvi fazer alguns testes com idéias sugeridas pela galera do irc.freenode.net @ #ipv6.br e do meu laboratório e me funcionaram bem até o momento.
Retirei o meu Servidor da porta WAN do meu roteador deixando a rede na seguinte estrutura:
Modem -> (eth0) Ubuntu Server (eth1) -> (LAN PORT) Roteador (LAN PORT) -> Computadores.
Desabilitei o Servidor DHCP do Roteador e criei o meu na mesma faixa de IPS do Roteador no Ubuntu Server para instalar e configurar o mesmo procedi da seguinte maneira:
$ sudo apt-get install dhcp3-server
Após a instalação do mesmo abri o arquivo “/etc/dhcp3/dhcpd.conf” e comentei todas as linhas, após feito isso fiz o seguinte:
INTERFACES=”eth1″; # INTERFACE CONECATADA AO MEU ROTEADOR
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative; # DHCP PRINCIPAL DA REDEsubnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.150; # FAIXA DE IPS A SER DISTRIBUIDA
option routers 192.168.0.254; # GATEWAY
option domain-name-servers 200.247.141.11; # SERVIDOR DNS
option subnet-mask 255.255.255.0; # MASCARA DE SUBREDE
option broadcast-address 192.168.0.255; # ENDEREÇO DE BROADCAST
default-lease-time 600;
max-lease-time 7200;
}Lembrando que a faixa de IPs utilizada normalmente por meu roteador era 192.168.0.x mas eu poderia alterar a mesma porém preferi utilizar a default.
Após feita as configurações executei o seguinte comando:
$ sudo /etc/init.d/dhcp3-server restart
O mesmo reiniciou com alguns problemas porque esqueci alguns “;” mas após corrigido os pequenos erros o DHCP Server iniciou normalmente, testado e funcionando.
Espero que seja de utilidade a todos,
Matheus BratfischPS: Lembrando que com a atual estrutura de redes eu posso utilizar filtros por MAC ADDRESS conseguindo assim implementar meu Captive Portal. *espero que nós proximos dias eu consiga implementa-lo*
Referencias:
Google + DHCP SERVER UBUNTU (tantos links que eu tentei que nem sei especificar quais que mais me ajudaram. Agradeço aos que me ajudaram e peço desculpas por não saber referenciar ao certo.) -
Tradução unetbootin
Posted on June 4th, 2009 No commentsBoa noite,
Ontem pela madrugada resolvi ajudar a tradução do unetbootin entrei em contato com o responsável e ele me informou que poderia fazer a mesma na sua página de tradução. Entrei na mesma e verifiquei que é muito simples fazer traduções pelo sistema “translations da launchpad”.
Lá existem vários projetos que precisam de tradução, então por que não colaborar? E você aproveita e pratica seu ingles.
Matheus








