Menu Principal

terça-feira, 30 de julho de 2013

APACHE COM SSL no CENTOS

FONTE: http://www.crazysquirrel.com/computing/debian/apache-mod_ssl.jspx

INSTALAÇÃO DOS PACOTES
  yum install mod_ssl open_ssl

CRIA A CHAVE
  openssl genrsa -out ca.key 1024

CRIA A REQUISIÇÃO DE ASSINATURA DE CERTIFICADO
  openssl req -new -key ca.key -out ca.csr

CRIA O CERTIFICADO AUTO ASSINADO
  openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/.../ssl/ca.key -out /etc/.../ssl/ca.crt

  Country Name (2 letter code) [XX]:BR
  State or Province Name (full name) []:DISTRITO
  Locality Name (eg, city) [Default City]:JAGUARAO
  Organization Name (eg, company) [Default Company Ltd]:JG
  Organizational Unit Name (eg, section) []:TI
  Common Name (eg, your name or your server's hostname) []:www.XXX.gov.br
  Email Address []:suporte@XXX.gov.br


NO ARQUIVO /etc/httpd/conf.d/ssl.conf inserir as linhas:
  LoadModule ssl_module modules/mod_ssl.so
  SSLCertificateFile /etc/.../ssl/ca.crt
  SSLCertificateKeyFile /etc/.../ssl/ca.key




NO ARQUIVO DO VIRTUAL HOST inserir as linhas

 <VirtualHost x.x.x.x:443>

   SSLEngine on
   SSLCertificateFile /etc/.../ssl/ca.crt
   SSLCertificateKeyFile /etc/.../ssl/ca.key
   DocumentRoot /var/www/html/
   ServerName www.XXX.gov.br

   DirectoryIndex index.php index.htm index.html

   ...

 </VirtualHost>


LIBERAR O FIREWALL

iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/service iptables save
iptables -L -v


REINICIAR O SERVIÇO HTTPD

  /etc/init.d/httpd restart



Obs: Os certificados gerados devem ser copiados e NÃO
movidos, pois o SELinux impede que o APACHE leia os arquivos.
Caso os certificados tenham sido movidos há como reverter
executando o comando: restorecon -RvF /etc/httpd/ssl/







terça-feira, 23 de julho de 2013

SITEs INTERESSANTES DE REDE/INFRA

http://yotta.blog.br/

http://www.dltec.com.br/blog/

http://www.professorramos.com/video.php?id=130

http://www.netadm.com.br/?p=250

Zimbra Resumido

Fonte: http://www.hardware.com.br/dicas/zimbra.html

Instalando e utilizando o Zimbra

Josias Diego Martins criou 4/jun/2009 às 12h58
18
O Zimbra, é uma suite colaborativa de e-mail muito poderosa, cujo foco é ser uma alternativa livre ao Microsoft Exchange. Com suas duas versões disponíveis, a versão Network Edition (NE) e a Open Source, ele consegue, no mínimo equiparar-se a solução oferecida pela Microsoft, tendo a sua versão NE voltada a empresas que precisam de suporte e ferramentas de backup mais avançadas.
Neste artigo, iremos abordar a versão Open Source, a qual não possui o suporte da equipe de desenvolvimento, bem como algumas outras limitações. Limitações estas que não devem impedir o seu funcionamento e aplicação em pequenas e médias empresas.
Caso você prefira, pode efetuar o download da versão Trial do Zimbra Network Edition, para efetuar testes.

Um pouco mais sobre o Zimbra

O Zimbra nasceu para ser uma alternativa ao Exchange, como já mencionado anteriormente, no mundo Linux. Em meio a tantos webmails e e-mail's servers, faltava ainda uma solução mais integrada, ao estilo Exchange, e que fosse simples de ser mantida e atualizada.
Atualmente, o Zimbra conta com muitas funções, dentre elas, podemos citar a integração com LDAP, clustering, entre outras, tudo isso disponível através de uma interface Web para administração, completa e funcional, onde você consegue efetuar todos os serviços do dia-a-dia, desde o cadastro de um novo e-mail, a aplicação de quotas e criação de aliases.
Também, não podemos esquecer-nos dos webmails. O Zimbra possui um webmail em Ajax, extremamente completo, que não deixa nada a dever frente ao Microsoft Outlook, tendo desde um calendário a catálogo de e-mail (dentre muitas outras opções), até um sistema de Instant Messenger (isso me lembra Google). Um detalhe acerca do Calendário e do Catalogo de endereços, é a sua integração com o Zimbra Desktop (cliente de e-mail do Zimbra), ele é para o Zimbra o mesmo que o Microsoft Outlook é para o Exchange. Ainda contamos, na versão NE, com a integração com o próprio Microsoft Outlook, onde este atua como se fosse um Exchange.
Ainda, com relação aos webmails, o Zimbra disponibiliza um em html, mais simples, voltado a conexões lentas, com praticamente todas as funcionalidades da versão full (em Ajax), particularmente, eu me dei por falta apenas do Instant Messenger nesta versão. E como se não bastasse, para quem deseja acessar seus e-mail a partir de um celular, existe um webmail para este fim disponível. :)

A instalação

A instalação do Zimbra é bem tranqüila e sem dificuldades na maioria das vezes. No meu caso, quando efetuei a instalação, encontrei alguns pequenos problemas, que irei relatar neste artigo, mostrando-lhes como resolve-los caso ocorram.
Particularmente, eu prefiro o CentOS nestes casos, por ele ser um "Red Hat bastardo", ele traz consigo muitas características do mesmo (para não dizer uma cópia fiel :).
A instalação do sistema pode ser o mais limpa possível, utilizando uma distribuição com suporte a resolução de dependências (como todas as suportadas pelo Zimbra), fica mais fácil efetuar este tipo de instalação. Lembrando de deixar o básico para que tudo funcione, o resto você pode remover. Mantenha apenas um editor de texto, navegadores Web via linha de comando (caso precise) o man, o básico do sistema e suas bibliotecas, compiladores e etc.
Infelizmente não existe versão suportada nativamente para o CentOS 5, logo, vamos utilizar os pacotes do seu irmão "genuíno", o RHEL 5.
Você pode obter os pacotes no link abaixo:
Como nos efetuamos uma instalação bem limpa do sistema, precisamos resolver algumas dependências, vamos faze-lo utilizando o gerenciador de pacotes do CentOS. (aplica-se também à distros Debian Based)
OBS.:. Nesta dica, para facilitar o andamento, utilizaremos o "#" para ilustrar comandos efetuados como root, e o "$" para comandos efetuados como usuário comum.
Em um terminal, como root, digite:
# yum update

# yum install Pearl, fetchmail, OpenSSL, Libxml, gmp, compat-libstdc++-33, Sudo, audit-libs, Libtool, libtool-libs, GCC, Make, compat-libstdc++-33, openssl097a, compat-db
ou, se for Debian-based
# apt-get update

# apt-get install Pearl, fetchmail, OpenSSL, Libxml, gmp, compat-libstdc++-33, Sudo, audit-libs, Libtool, libtool-libs, GCC, Make, compat-libstdc++-33, openssl097a, compat-db
Você precisa remover qualquer aplicativo servidor de e-mail, como postfix, sendmail e exim, que possam estar instalados em seu servidor, pois o Zimbra irá tomar conta dos serviços de e-mail por nós. Ele traz consigo uma compilação específica do Postfix, customizada para ele. Também remova servidores Web (Apache), LDAP (OpenLDAP), IMAP/POP (Dovecot/Courrier) e etc, pois todos estes são disponibilizados pelo próprio Zimbra, e caso exista algum rodando em seu computador, a instalação poderá falhar, ou o Zimbra irá utilizar portas não padrão para rodar, o que não nos trará um resultado muito legal :)
Feito isso, atualize TODA a distribuição, com o comando abaixo:
# yum upgrade
ou, caso seja Debian:
# apt-get dist-upgrade
Agora, precisamos organizar o arquivo hosts, que fica em /etc.
Este arquivo é responsável pela resolução de DNS interna do seu computador, este é o primeiro arquivo a ser consultado (antes do servidor de DNS, inclusive) durante uma resolução DNS.
Neste arquivo, deve constar o domínio e o hostname do seu servidor. No caso, será o endereço no qual o Zimbra irá responder.
Edite o arquivo com seu editor de texto favorito, eu prefiro o mcedit.
# mcedit /etc/hosts
O arquivo /etc/hosts deve ficar organizado da forma abaixo:
Exemplo:
#IP hostname.dominio hostname

192.168.0.1 host.meudominio.com.br host
127.0.0.1 localhost.localdomain localhost

## IpV6

::1 localhost6.localdomain6 localhost6
Onde:
  • hostname ? Nome do seu computador
  • exemplo: zimbrasrv
  • meudominio.com.br ? Seu domínio (pode ser .com, .net e por aí vai). Exemplo: server.com.br
Com estes dois, nos montamos o endereço completo "host.meudominio.com.br"
  • Exemplo: zimbrasrv.server.com.br
Antes de prosseguir com a instalação, certifique-se de que o servidor de DNS que você utilizará, já possua os apontamentos corretos feitos para o seu servidor.
Agora, finalmente iremos iniciar a instalação.
Efetue o download da última versão do Zimbra, normalmente eu salvo estes arquivos em /opt:
# cd /opt/
# wget http://h.yimg.com/lo/downloads/5.0.14_GA/ zcs-5.0.XX_GA_XXX.RHEL5.XXXXXXXXXXXXXX.tgz
OBS.: Não coloquei o link completo acima pois dentro de poucos meses deve sair uma nova revisão do Zimbra.
Agora, tendo terminado o Download, acesse o diretório (caso ainda não esteja nele) e descompacte o arquivo.
# tar -zxvf zcs-5.0.XX_GA_XXX.RHEL5.XXXXXXXXXXXXXX.tgz
OBS.: substituí os números da versão por X, pois você pode estar utilizando outra versão do aplicativo
Agora, podemos acessar o diretório que foi criado, onde devem estar os scripts de instalação, bem como os pacotes pré-compilados.
# cd zcs-5.0.XX_GA_XXX.RHEL5.XXXXXXXXXXXXXX
Torne o install.sh executável, para que possamos iniciar a instalação:
# chmod +x install.sh
Finalmente, execute o script de instalação:
./install.sh --platform-override
OBS.: --platform-override : Esta opção é utilizada para que o script não faça o check de distribuição. Como estamos instalando em um CentOS5, com pacotes do Red Hat, o script irá abortar a instalação pois a distribuição não confere.
Para maiores informações sobre outras opções, como pular a checagem de espaço em disco, execute o script install.sh com a opção "--help":
# ./install.sh --help

Apêndice - A Gambiarra

Este passo pode ser necessário caso o sistema não consiga verificar de forma correta as dependências, isto ocorreu apenas na versão 5.0.14, talvez, neste momento, o instalador já tenha sido corrigido.
Edite o Arquivo "install.sh" e localize a função CheckDepend, comente-a e rode o script novamente.

Continuando a instalação

O script deverá listar-lhe algumas informações na tela, como o check de dependências e o famoso contrato de licença. Siga as instruções na tela que não deve haver erro, este ponto é "a la Windows", apenas um "Yes" e "Accept" :).
No próximo ponto o instalador deverá perguntar quais pacotes você deseja instalar. Particularmente, eu não instalo os Proxy's, pois eles gastam mais processamento. Caso você seja fanático por segurança, e tenha uma máquina bem robusta, os Proxy's podem dar uma incrementada neste ponto. (ver tela abaixo)
Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-snmp [Y]
Install zimbra-store [Y]
Install zimbra-apache [Y]
Install zimbra-spell [Y]
Install zimbra-proxy [N]
Pronto, agora nos selecionamos os pacotes que queremos instalar, o script de instalação é que irá se encarregar do trabalho pesado por nós, como conferir os pacotes e etc. Porém, neste pondo um aviso nos será dado (caso você esteja rodando o ContOS). Nada de pânico, lembre-se que estamos utilizando os pacotes do Red Hat, então ele irá nos avisar que o sistema será alterado. Responta sim (com Y) para todas as perguntas: (tela abaixo)
You appear to be installing packages on a platform different
than the platform for which they were built
This platform is CentOS5
Packages found: zimbra-core-5.0.XX_GA_XXX.RHEL5-XXXXXXXXXXXXXX.i386.rpm
This may or may not work
Install anyway? [N] Y
The system will be modified. Continue? [N] Y
Agora, você pode tomar um cafézinho (dependendo do servidor, é claro), e aguardar o termino da instalação dos pacotes, que deverá ser automática. Caso ocorra algum erro, verifique se os pacotes não estão com problemas (pacotes corrompidos devido a problemas no download e etc) ou defeito de hardware.
Concluída a instalação, você irá receber uma mensagem de erro. Não se assuste, esta mensagem é normal. O instalador apenas irá informar que não foi possível resolver o domínio, e lhe perguntará se você quer configura-lo manualmente: (tela abaixo)
DNS ERROR resolving zimbrasrv.server.com.br
It is suggested that the hostname be resolveable via DNS
Change hostname [Yes] Yes
Digite YES, para especificar o endereço completo do seu servidor (zimbrasrv.server.com.br, como no exemplo utilizado anteriormente)
Mais um aviso de erro na resolução DNS será exibido em seguido: (tela abaixo)
DNS ERROR resolving MX for zimbrasrv.server.com.br
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] Yes
Novamente, digite YES, para neste momento especificar apenas o domínio (server.com.br - do exemplo anterior)
Este domínio cadastrado acima, será o domínio principal (Default Domain) do Zimbra, você pode cadastrar mais domínios pelo painel de administração posteriormente. Através dele, você irá fazer o primeiro acesso ao painel de controle e ao webmail. :)
Resolvidos os "problemas", vamos para a configuração básica do Zimbra. Nela, será exibida a tela abaixo:
Main menu

1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled

+Create Admin User: yes
+Admin user to create: admin@debian2.exemplo.com.br
******* +Admin Password UNSET
+Enable automated spam training: yes
+Spam training user: spam.fhdl_h8t@debian2.exemplo.com.br
+Non-spam(Ham) training user: ham.rmg_86214@debian2.exemplo.com.br
+Global Documents Account: wiki@debian2.exemplo.com.br
+SMTP host: debian2.exemplo.com.br
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://debian2.exemplo.com.br:7780/aspell.php

4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Durante a configuração básica, você deve setar APENAS a senha do administrador. Para isto, selecione a opção 3 do menu, e depois no próximo menu, a opção 4, para efetuar a troca da senha do usuário "Admin".
Efetuado o cadastro da senha, pressione "r" até voltar a tela inicial (menu listado anteriormente).
Pronto, precisávamos setar apenas esta senha para que tudo possa funcionar. Para aplicar a configuração, pressione "a".
Em seguida, o instalador irá solicitar-lhe que salve a configuração, basta seguir a instrução na tela que não tem erro :)
Após salvar a configuração, ele irá perguntar se você deseja iniciar o servidor Zimbra; bom, acredito que a esta altura você já esteja curioso para vê-lo funcionando, então selecione sim ("Y")
Pronto, os serviços serão carregados em alguns minutos (dependendo da configuração do servidor, poderá demorar algum tempo), e após terem iniciado, você pode acessar o painel de administração da seguinte maneira, através de seu navegador favorito, em outro computador que esteja na mesma rede:
O acesso ao webmail fica na porta 80 do domínio/host cadastrado, sendo assim, não há necessidade de especificar porta:

Dicas básicas de administração

Para iniciar, parar ou reiniciar os serviços do Zimbra no CentOS ou RHEL, você pode utilizar o comando abaixo, em um terminal:
# service zimbra start/stop/restart
no debian:
# /etc/init.d/zimbra start/stop/restart
ou ainda, utilizamos o su (como root) e rodamos o zmcontrol a partir do usuário "zimbra", criado automaticamente pelo instalador do zimbra:
# su zimbra -z zmcontrol stop/start
Caso queira utilizar mais comandos administrativos, acesse a conta zimbra (mencionada anteriormente):
# su zimbra
E basta dar um zm(tab) para ver as opções administrativas.
Ex.: zmcontrol status -> lista o estado dos servidores do Zimbra
OBS. 1: Os controles do zimbra ficam em /etc/zimbra/bin e /etc/zimbra/libexec, inclusive é possível reconfigurar todo o servidor através de /etc/zimbra/libexec.
OBS. 2: As funções/serviços do zimbra contidos em /etc/zimbra/bin somente funcionam com o usuário zimbra.
Para mante-lo atualizado, basta seguir os mesmos passos da instalação. O script irá detectar que você já possui o zimbra instalado e fará apenas a atualização dos pacotes, de forma transparente, e sem solicitar quaisquer configuração.

Algumas dicas, e resolvendo possíveis problemas

Renovação de certificados SSL

O Zimbra precisa que os certificados de segurança sejam atualizados a cada ano, para isso, basta seguir os passos abaixo:
Criar o certificado CA:
# /opt/zimbra/bin/zmcertmgr createca -new
Instalar o certificado CA:
# cp /opt/zimbra/ssl/ssl/ca/ca.key /opt/zimbra/conf/ca/ca.key
Criar o certificado do servidor:
Para isso, remova antes o certificado antigo:
# rm /opt/zimbra/ssl/zimbra/server/server.crt
Agora crie o novo
# /opt/zimbra/bin/zmcertmgr createcrt self -new dominio.com dominio2.com (e etc.)
Pronto, agora efetue a instalação do certificado:
# /opt/zimbra/bin/zmcertmgr deploycrt self
Agora basta reiniciar o zimbra:
No CentOS
# service zimbra restart
No Debian
# /etc/init.d/zimbra restart
ou, como usuário zimbra
# su zimbra
# zmcontrol stop
# zmcontrol start

Ativar HTTPS para o webmail

Hoje em dia, a segurança é um ponto muito solicitado pelos usuários, e a utilização de SSL para acesso ao webmail passou a ser uma exigência dos usuários. O Zimbra conta com este tipo de acesso, e este pode ser configurado.
Para ativar a conexão SSL no webmail do Zimbra:
Logue-se como usuário zimbra:
# su zimbra
E agora, vamos utilizar o zmylsctl, com um dos parâmetros listados abaixo:
  • http - Apenas modo http (http://webmail.dominio.com)
  • https - Apenas modo https (https://webmail.dominio.com) - Você NÃO será redirecionado do http para o https.
  • mixed - Ambos os modos, ao conectar no modo http, você é direcionado automaticamente para o modo https.
  • both - O usuário pode utilziar tanto http quanto https.
Por exemplo:
# zmtlsctl mixed
Após ter efetuado estas alterações, o Zimbra deve ser reiniciado.
Digite os comandos em no terminal:
No CentOS
# service zimbra restart
No Debian
# sh /etc/init.d/zimbra restart
ou, como usuário zimbra
# su zimbra
# zmcontrol stop
# zmcontrol start
OBS.: Como os certificados não são autenticados por uma certificadora válida, sempre irá ocorrer o famoso erro de certificado nos navegadores, sendo assim, é interessante trabalhar com o "modo both"

Possíveis Problemas

Resolvendo o problema: "Não é possível exibir o status do servidor" - No painel de controle do Zimbra
Caso o Zimbra não consiga exibir o status do sistema no Painel de Administração, deve-se adicionar as tarefas agendadas do mesmo no crontab:
Acesse o crontab do usuário Zimbra:
# crontab -u zimbra -e
Agora, adicione as tarefas abaixo:
#ZIMBRA START -- DO NOT EDIT ANYTHING BETWEEN THIS LINE AND ZIMBRAEND
#
# Log pruning
#
30 2 * * * find /opt/zimbra/log/ -type f -name *.log* -mtime +8 -exec rm {} ; > /dev/null 2>&1
#
# Status logging
#
*/2 * * * * /opt/zimbra/libexec/zmstatuslog
*/10 * * * * /opt/zimbra/libexec/zmdisklog
#
#
# crontab.ldap
#
#
# crontab.store
#
# Log pruning
#
30 2 * * * find /opt/zimbra/mailboxd/logs/ -type f -name *log* -mtime +8 -exec rm {} ; > /dev/null 2>&1
0 2 * * * /opt/zimbra/libexec/zmroll_catalina > /dev/null 2>&1
#
# Purge messages
#
0 3 * * * /opt/zimbra/libexec/zmpurgemessages > /dev/null 2>&1
#
# Clean up the quarantine dir
#
0 1 * * * find /opt/zimbra/amavisd/quarantine -type f -mtime +7 -exec rm -f {} ; > /dev/null 2>&1
#
# Table maintenance
#
30 1 * * 7 /opt/zimbra/libexec/zmmaintaintables >> /dev/null 2>&1
# Report on any database inconsistencies
#
0 23 * * 7 /opt/zimbra/libexec/zmdbintegrityreport -m
#
# Monitor for multiple mysqld to prevent corruption
#
*/5 * * * * /opt/zimbra/libexec/zmcheckduplicatemysqld -e > /dev/null 2>&1
#
# crontab.logger
#
# process logs
#
00,10,20,30,40,50 * * * * /opt/zimbra/libexec/zmlogprocess > /tmp/logprocess.out 2>&1
#
# Graph generation
#
10 * * * * /opt/zimbra/libexec/zmgengraphs >> /tmp/gengraphs.out 2>&1
#
# Daily reports
#
10 1 * * * /opt/zimbra/libexec/zmdailyreport -m
#
#
# crontab.mta
#
#
# Queue logging
#
0,10,20,30,40,50 * * * * /opt/zimbra/libexec/zmqueuelog
#
# Spam training
#
0 23 * * * /opt/zimbra/bin/zmtrainsa >> /opt/zimbra/log/spamtrain.log 2>&1
#
# Spam training cleanup
#
45 23 * * * /opt/zimbra/bin/zmtrainsa --cleanup >> /opt/zimbra/log/spamtrain.log 2>&1
#
# Dspam cleanup
#
#
#0 1 * * * find /opt/zimbra/dspam/var/dspam/data/z/i/zimbra/zimbra.sig/ -type f -name *sig -mtime +7 -exec rm {} ; > /dev/null 2>&1
#8 4 * * * /opt/zimbra/dspam/bin/dspam_logrotate -a 60 /opt/zimbra/dspam/var/dspam/system.log
#8 8 * * * /opt/zimbra/dspam/bin/dspam_logrotate -a 60 /opt/zimbra/dspam/var/dspam/data/z/ou
#
# Spam Bayes auto-expiry
#
20 23 * * * /opt/zimbra/libexec/sa-learn -p /opt/zimbra/conf/salocal.cf --dbpath /opt/zimbra/amavisd/.spamassassin --siteconf
igpath /opt/zimbra/conf/spamassassin --force-expire --sync > /dev/null 2>&1
#
# Clean up amavisd/tmp
#
15 5,20 * * * find /opt/zimbra/amavisd/tmp -maxdepth 1 -type d -name 'amavis-*' -mtime +1 -exec rm -rf {} ; > /dev/null 2>&1
# ZIMBRAEND -- DO NOT EDIT ANYTHING BETWEEN THIS LINE AND IMBRASTART

Cópia de site com WGET

Fonte: http://www2.explorando.com.br/2007/09/como-baixar-sites-inteiros-com-o-wget

wget -r http://www.umsitequalquer.com.etc
Faz com que ele copie todo o site (salvando na pasta atual do prompt), incluindo imagens, seguindo os links e baixando todos os arquivos que encontrar. Claro que isso deve ser usado com responsabilidade, para não prejudicar o site e nem mesmo seu HD, pois facilmente você poderá enchê-lo de porcaria.
DICA QUE SÓ O EXPLORANDO DÁ PARA VOCÊ: por padrão, o wget ignora os arquivos que o produtor do site pediu para ignorar, por meio de um arquivo "robots.txt". Esse arquivo serve para os caçadores de sites dos buscadores, eles identificam quais arquivos não devem seguir os links. Isso impede que o wget baixe determinados arquivos, arquivos esses que muitas vezes são justamente os que você precisa. Para fazê-lo ignorar os arquivos "robots.txt" e baixar tudo o que encontrar, basta usar o parâmetro -erobots=off. Ficaria assim:
wget -r -erobots=off http://www.umsitequalquer.com.etc
Se você quiser baixar apenas arquivos de determinado tipo, use o parâmetro -A seguido da extensão, por exemplo:
wget -r -erobots=off -A ".gif" http://www.umsitequalquer.com.etc
Boa sorte, juízo e por favor, responsa sempre! Use essas dicas com cuidado, pois isso em excesso pode prejudicar os sites. Não somos contra o compartilhamento de informação, cada um faz o uso que quiser, sob sua inteira responsabilidade.
A sintaxe básica é essa aí, deixo aqui o trecho do texto do Eder que fala do wget, vale a pena :)
Aproveitando, comentei recentemente aqui sobre várias críticas ao Linux (algumas exclusivamente pessoais e momentâneas, outras globais), mas há coisas que no Linux você tem primeiro, realmente :) Como digo, eu amodeio o Linux, hehe. Bom, vamos ao tutô do wget!
Comando wget = software que faz o download de arquivos da WWW
por Eder S. G. (Jordam)
ederjordam@yahoo.com.br
http://geocities.yahoo.com.br/ederjordam
Sintaxe:
wget URL:porta/path
- Comeca a fazer o download do arquivo 'file1.avi'
wget http://www.site.com.br/file1.avi
- Caso a conexao termine e o download do arquivo 'file1.avi' não tenha terminado, basta reiniciar do ponto onde caiu a conexão, usando o parametro '-c'
wget -c http://www.site.com.br/file1.avi
- Copia todo o conteúdo do site referente à este dominio
wget -r http://www.dominio.com/
- Baixa apenas páginas html do site, deixando de lado as imagens e outros arquivos. Neste caso você usa o parâmetro '-A', seguido dos tipos de arquivos a serem baixados. O wget automaticamente converte páginas php, asp e outras extensões para html, de forma que esse comando funciona bem com a maioria dos sites
wget -r -A ".html" http://www.uol.com.br
- Baixando um arquivo via FTP com com senha. EX:
wget ftp://login@senha@http://ftp.ibiblio.org/teste.iso
ou
wget ftp://user:password@host/path
- Faz o download do arquivo 'file1.txt' especificando o nome de usuário sendo 'user1', a senha sendo 'senha88', e o caminho do arquivo no servidor ftp
wget user1:senha88@ftp.ederjordam.com/home/ederjordam/file1.txt
- Copia um arquivo especifico, no exemplo seria index.html e grava no diretorio '/tmp' com o nome de 'teste.html'
wget -O /tmp/teste.html http://www.site.com/files/index.html
- Copia todas as páginas HTML do site 'http://www.uol.com.br/remedios'
wget -m -l 0 -A htm http://www.uol.com.br/remedios
- Copia a página web e suas imagens para o respectivo diretório que voce se encontra
wget -r -np -k http://whatever/wherever
- Copia todo o site para o seu computador
wget -t0 -r -F http://www.dominio.com
- Faz o espelhamento (mirror) do site. OBS: Um espelhamento mal projetado pode contribuir para encher seu disco rígido com material não desejado, além de sobrecarregar a Internet e o servidor sendo espelhado
wget -m http://members.xoom.com/edersg/
- Uma aranha, no contexto da Internet é um programa que serve para verificar se os links de uma página estão ativos, ou seja, verificando se cada vínculo HREF está conectado (ativo), verificando se os links de uma determinada página local, chamada de links.html, estão ativos
wget --spider --force-html -i links.html
- Faz o mesmo que a opção acima, porem o arquivo agora analizado se encontra na Internet
wget --spider http://members.xoom.com/edersg/links.html
- Para fazer o download apenas de imagens nos formatos jpg, gif e png
wget -P /tmp/pastaespecifica -r -p http://www.unicamp.br --accept=JPG,jpg,GIF,gif,png,PNG
- Para fazer o download de todos os aquivos de um site
wget -c -r ftp://meu.servidor.com/
- Para fazer o download do arquivo 'arquivo.txt' de um ftp que exija login e senha
wget ftp://login:senha@ftp.servidor.com/pasta/arquivo.txt
wget ftp://usuario:senha@servidor_ftp.com.br/arquivo.extensao
- Para limitar o download a no máximo 10Kbps
wget --limit-rate=10k --continue http://algumendereco/arquivo.zip
- O wget pode também retomar transferências interrompidas (opção '-c') quando se fornece o arquivo incompleto ao qual se acrescenta os restantes dados. Esta operação precisa de ser suportada pelo servidor
wget -c http://o.url.do/arquivo/incompleto
Entretanto, lembre-se que nem todos os sites estão abertos para espelhamento, o direito autoral deve ser respeitado. E também, existem sites que possuem arquivos robots.txt que especificam quais partes do site podem ser copiadas e quais não. Portanto, não se surpreenda se descobrir que determinado site ou página não pode ser recuperado.
- Se tiver tantas interrupções na transferência de arquivo como eu tenho no meu escritório, pode dizer ao wget para tentar o URL várias vezes
wget -t 5 http://coloque.o.seu.url/aqui
aqui desistimos ao fim de 5 tentativas. Use a opcao '-t inf' para nunca
desistir.
- E quanto a proxy firewalls? Use a variável de ambiente "http_proxy" ou o arquivo de configuração ".wgetrc" para especificar um proxy através do qual irá fazer a transferência de arquivos. Um problema com ligações via proxy com ligações interrompidas é que o retomar pode por vezes falhar. Se uma transferência via proxy é interrompida o servidor proxy irá colocar em cache somente uma cópia incompleta do arquivo. Quando tentar usar "wget -c" para obter o resto do arquivo o proxy irá verificar a sua cache e informar erradamente que o arquivo completo já foi transferido. Pode conseguir que a maioria dos proxyes não passe pelo cache, adicionando um cabeçalho especial ao pedido de transferência de arquivos:
wget -c --header="Pragma: no-cache" http://coloque.o.seu.url/aqui
- A opção "--header" pode adicionar qualquer número e tipos de cabeçalhos pelos quais podemos modificar o comportamento dos servidores de rede e dos proxies. Alguns sítios recusam-se a servir arquivos via uma ligação externa; o conteúdo é entregue somente a navegadores se acederem a página via outra página no mesmo sítio. Pode contornar isto adicionando um cabeçalho 'Referer:'
wget --header="Referer: http://site.com/pagina"
http://navegar.para.esta/pagina
- Alguns sites na rede particularmente anti-sociais irão fornecer conteúdo somente a um tipo específico de navegador. Contorne isto com um cabeçalho "User-Agent:" header:
wget --header="User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; WindowsNT; DigExt)" http://so.url.msie/aqui
Aviso: a dica acima pode ser considerada um mecanismo para evitar licenciamento de conteúdo e existem sistemas legais anti-sociais que consideram estas acções ilegais. Verifique a legislação local.
- A opção "-N" para o wget irá verificar o selo temporal do objectivo e parar a transferência se eles coincidirem, o que é uma indicação que o ficheior completo foi transferido. Por isso pode activa-lo e esquece-lo
wget -c -N http://coloque.o.seu.url/aqui
- Recuperando downloads interrompidos - uma das características que tornam interessantes o uso do wget é sua capacidade para recuperar downloads interrompidos, desde, é claro, que o servidor suporte este recurso. Você pode recuperar downloads perdidos especificando a opção '-c' na linha de comando do wget
wget -c http://www.dominio.com/arquivo.tar.gz
- Espelhamento de sites - outro recurso interessante é o espelhamento de sites, também conhecido como mirror. O wget é capaz de fazer espelhamento de sites, mas tenha cuidado: um espelhamento mal projetado pode contribuir para encher seu disco rígido com material não desejado, além de sobrecarregar a Internet e o servidor sendo espelhado. Você faz um espelhamento utilizando a opção -m (de mirror). Lembre-se que nem todos os sites estão abertos para espelhamento. Existem sites que possuem arquivos 'robots.txt' que especificam quais partes do site podem ser copiadas e quais não. Portanto, não se surpreenda se descobrir que determinado site ou página não pode ser recuperado
wget -m http://www.dominio.com/diretorio/
- O comando 'at' pode ser utilizado para agendar uma tarefa em um momento específico do dia. Este comando vai agendar para a 1 hora da madrugada o download do arquivo http://www.dominio.com/file01.tar.gz'. O resultado do download (no caso, mensagens do wget), serão enviados para voce via comando 'mail'
echo "wget http://www.dominio.com/file01.tar.gz" | at 01:00
- Uma 'aranha', no contexto da Internet, é um programa que serve para verificar se os links de uma página estão ativos. A referência surgiu por que o programa examina a página como se fosse um ponto de uma teia (web), verificando se cada fio (vínculo HREF) está conectado (ativo). Para utilizar o wget como aranha, usamos a opção '--spider'. Para verificar se os links de uma determinada página local, chamada de 'bookmark.html' estão ativos, basta digitar o comando acima. A opção '--force-html' obriga o arquivo local 'bookmark.html' a ser tratado como arquivo HTML
wget --spider --force-html -i bookmark.html
Se o arquivo reside na Internet, a sintaxe pode ser simplificada wget --spider http://www.dominio.com/linuxlinks.html
- Baixa o conteúdo de um web site
wget -c -t70 -r -np http://www.dominio.com.br
- Passa alguns parametros como usuário e senha para poder baixar o conteúdo de um site
wget -c -r --http-user=usuario --http-passwd=senha link
-c : esta opção informa ao wget para continuar o download de onde terminou se encontrar um arquivo parcial. Se não fosse informada esta opção, ele criaria novo arquivo e começaria o download do início.
-t0 : com esta opção, estou informando ao wget que, caso o download falhe, ele deve repetir indefinidamente o mesmo. É preciso cuidado com esta opção, principalmente se o comando será executado em uma sexta-feira para ser verificado somente na segunda feira - se a URL estiver errada, o wget vai ficar tentando encontrar o arquivo indefinidamente.
-T30 : o wget utiliza a facilidade de timeout, mas seus limites de tempo não são satisfatórios, pelo menos não para mim. Com esta opção, estou informando ao wget que, se não houver fluxo de dados por 30 segundos, ele deve refazer a conexão.
-i get-list.txt : esta opção informa ao wget que este deve ler as URL's a serem baixadas a partir de um arquivo, a saber, get-list.txt (pode ser qualquer nome), em vez de receber a mesma na linha de comando.

terça-feira, 9 de julho de 2013

ANDROID


Primeiro vamos aos requisitos mínimos para trocar a imagem:
1º Ter acesso ao ROOT do celular;
2º Ter instalado o ROOT EXPLORER no celular;
3º Ter instalado em seu computador o WinRar e o WinZip para futuras modificações; (você baixa os dois programas na internet)
Muito bem, tendo todos os requisitos acima, vamos ao tutorial:
fonte:  http://eusouandroid.com/trocar-animacao-de-boot-do-android/

Passo-a-passo
1º Entendendo a imagem de boot:
A imagem que aparece na inicialização do seu Android nada mais é que varias imagens em .jpg juntas fazendo o efeito de estar mexendo.

As imagens podem ser de diversos tamanhos e variam de aparelho, por exemplo o do SPICE (XT300) é 240×294 e a do XPERIA X10 é 480×854, então independente de qual seja seu aparelho, vai dar certo;
2º Abra o app ROOT EXPLORER navegue até a pasta system/media e nela você verá um arquivo chamado “bootanimation.zip” mantenha pressionado o dedo em cima do arquivo, selecione copiar. Volte ao root (pasta inicial) e abra a pasta sdcard, aperta a tecla paste que estara destacada na parte de baixo do app. Pronto, você ja fez uma copia do sua bootanimation original;
Nota:
“O arquivo da imagem boot, chamado de bootanimation, esta dentro do celular, na pasta system/media/bootanimation.zip, ou seja, não é nenhum bicho de sete cabeças.”
3º Copia a nova bootanimation que você escolheu para o cartão de memoria, em seguida abra novamente o ROOT EXPLORER;
4º Abra a pasta sdcard e copie a nova bootanimation, em seguida volte a pasta ROOT e va para a pasta syste/media nela cole a bootanimation.
5º Pronto, você ja tem sua nova bootanimation instalada.
Abaixo, as bootanimation que peguei na net, inclusive a do SPICE. As imagens estão ruins porque não consegui fazer o upload dos gif’s com boa qualidade.
Obs: Os arquivos estão compactados pelos winrar, descompacte e dentro de cada um, esta a bootanimation referente.

quinta-feira, 4 de julho de 2013

Windows XP Mode

FONTE:  http://www.baixaki.com.br/download/windows-xp-mode.htm
O Windows XP Mode é uma ferramenta para o Windows 7 que, em conjunto com a Windows Virtual PC, permite rodar uma versão do Windows XP no mesmo ambiente, ou seja, é possível acessar programas desenvolvidos para XP no Windows 7. Isso permite eliminar problemas de incompatibilidade de programas em relação ao novo Sistema Operacional da Microsoft, lançado no começo de maio de 2009.
Antes de instalar o Windows XP Mode, é necessário instalar a ferramenta de virtualização da Microsoft: o Windows Virtual PC. Essa ferramenta permite acessar outros sistemas operacionais, como o XP ou Vista, na mesma máquina e ao mesmo tempo.
Requerimentos
Para que todo sistema de virtualização funcione, o computador precisa ter o Windows 7 (Edição Professional, Enterprise ou Ultimate) com cerca de 20 GB de espaço livre no disco rígido, que serão destinados à instalação do Windows XP Mode e do Windows Virtual PC. Além disso, o processador precisa ter a tecnologia de virtualização de hardware (AMD-V ou Intel VT).
Para saber se o computador possui a tecnologia de virtualização, utilize o programa SecurAble. Ele é leve e não requer instalação. Caso o sistema possua a tecnologia de virtualização, talvez seja necessário ativá-la pela BIOS do sistema que, geralmente, está localizado nas configurações avançadas do processador.

Instalação
Depois de baixar os dois componentes necessários para o funcionamento do sistema virtual, instale primeiro o Windows Virtual PC e reinicie a máquina. Em seguida, instale o Windows XP Mode pelo arquivo de instalação. Este último processo demora alguns minutos e é semelhante à instalação normal de um novo Sistema Operacional, só que é feito com o Windows Seven ligado.
Depois de realizar a instalação, o Windows Virtual PC carregará o Windows XP em uma janela. Para visualizar o Sistema em tela cheia, clique na opção “Action” da Barra de Ferramentas da janela e selecione a opção “View Full Screen”. Quando o Sistema estiver nesse modo, aparecerá uma barra no topo da tela que permite visualizar o XP Mode em uma janela.
Windows XP dentro do Windows 
Seven.
Uma versão leve do XP
A versão do Windows XP que inclui o pacote de atualização SP3, Internet Explorer 6 e Windows Media Player 9 não vem com diversos recursos adicionais de uma versão original, como wallpapers, temas, entre outros. Isso torna o Sistema mais leve e rápido, o que permite executar desde as tarefas mais simples até aquelas que exigem mais desempenho do computador.
Apesar de parecer um programa dentro do Windows 7, o Windows XP Mode deve ser atualizado como qualquer outra versão do Windows. Além disso, é recomendável usar os outros softwares que qualquer sistema exige: antivírus, anti-spywares e outros sistemas de segurança disponíveis aqui no Baixaki.
Recursos
A máquina virtual possui integração com o Windows Explorer de ambos os sistemas, o que permite fazer transferências de arquivos através do recurso copiar e colar, ou então, arrastando os arquivos da janela com o Windows XP para o Windows 7, e vice-versa.
O programa também consegue gerenciar dispositivos móveis através das entradas USB do computador. Assim, o usuário pode usar as ferramentas deste dispositivo em qualquer ambiente (XP ou Seven) como impressoras, scanners, câmeras digitais, etc.
O Virtual PC permite abrir   
dispositivos móveis.
Download
O link para download disponível aqui no Baixaki consiste em um sistema 32-bit. Caso queira instalar o Windows XP Mode em um sistema 64-bit, visite a página de download do sistema através deste link. Lembre-se que o Windows XP Mode não funcionam nas versões Starter e Home Premium do Windows 7.
Como o arquivo possui cerca de 500 MB, recomendamos o uso de um gerenciador de downloads, como o Free Download Manager. Assim você garante que não perderá tudo o que já baixou, no caso de quedas de conexão e outros imprevistos.

Lista de Pontos de Acesso - SMARTPHONE

Cada operadora tem uma APN, nome de usuário e senha diferentes. Confira uma lista abaixo com as informações que você vai precisar utilizar.

Claro

  • Ponto de acesso (APN): claro.com.br
  • Nome de usuário: claro
  • Senha: claro

Oi

  • Ponto de acesso (APN): grprs.com.br
  • Nome de usuário: oi
  • Senha: oi

TIM

  • Ponto de acesso (APN): tim.br
  • Nome de usuário: tim
  • Senha: tim

Vivo

  • Ponto de acesso (APN): zap.vivo.com.br
  • Nome de usuário: vivo
  • Senha: vivo

quarta-feira, 3 de julho de 2013

Protocolo H323

Fonte: http://www.rnp.br/newsgen/0111/h323.html

Resumo

Alguns dos artigos sobre vídeo publicados em edições anteriores do NewsGeneration citaram rapidamente o padrão H.323, mas nenhum deles abordou o assunto em detalhes. Este artigo apresenta uma visão geral sobre o H.323 e seus componentes.
^

1. Introdução

O padrão H.323 [3] é parte da família de recomendações ITU-T (International Telecommunication Union Telecommunication Standardization sector) H.32x, que pertence a série H da ITU-T, e que trata de "Sistemas Audiovisuais e Multimídia". A recomendação H.323 tem o objetivo de especificar sistemas de comunicação multimídia em redes baseadas em pacotes e que não provêem uma Qualidade de Serviço (QoS) garantida. Além disso, estabelece padrões para codificação e decodificação de fluxos de dados de áudio e vídeo, garantindo que produtos baseados no padrão H.323 de um fabricante interopere com produtos H.323 de outros fabricantes.
Redes baseadas em pacotes incluem as redes IP (Internet Protocol) como a Internet, redes IPX (Internet Packet Exchange), as redes metropolitanas, as redes de longa distância (WAN) e ainda conexões discadas usando PPP.
O padrão H.323 é completamente independente dos aspectos relacionados à rede. Dessa forma, podem ser utilizadas quaisquer tecnologias de enlace, podendo-se escolher livremente entre as que dominam o mercado atual como Ethernet, Fast Ethernet, FDDI, ou Token Ring. Também não há restrições quanto à topologia da rede, que pode consistir tanto de uma única ligação ponto a ponto, ou de um único segmento de rede, ou ainda serem complexas, incorporando vários segmentos de redes interconectados. A figura 1 [7] ilustra a comunicação entre dois terminais H.323 em uma rede baseada em pacotes.
Terminais H.323 numa rede baseada em pacotes
Figura 1 - Terminais H.323 numa rede baseada em pacotes
O padrão H.323 especifica o uso de áudio, vídeo e dados em comunicações multimídia, sendo que apenas o suporte à mídia de áudio é obrigatório. Mesmo sendo somente o áudio obrigatório, cada mídia (áudio, vídeo e/ou dados), quando utilizada, deve seguir as especificações do padrão. Pode-se ter uma variedade de formas de comunicação, envolvendo áudio apenas (telefonia IP), áudio e vídeo (videoconferência), áudio e dados e, por fim, áudio, vídeo e dados.
Em um artigo anterior do NewsGeneration, "Modelos de Comunicação para Videoconferência", foi abordado o padrão H.323 dentro de um dos modelos de comunicação apresentado, o modelo centralizado. Neste artigo, o H.323 será retomado por ser um padrão amplamente utilizado em sistemas de videoconferência e sistemas de comunicação multimídia de maneira geral. Serão apresentados os benefícios de sua utilização, seus componentes, sua relação com os outros padrões da família H.32x, algumas de suas características e as padronizações que estendem suas funcionalidades, fornecendo ao leitor um conhecimento básico sobre a recomendação ITU-T H.323.
^

2. Benefícios da adoção do padrão H.323

A adoção do padrão H.323 para aplicações multimídia em redes traz uma série de benefícios, entre os quais podemos citar [1] [2] [6]:
  • Independência da rede
    O padrão H.323 é projetado para utilização em redes baseada em pacotes, como as redes IP. Na atualidade, a maioria das redes utilizadas hoje possui uma infra-estrutura com protocolo de transporte baseado em pacotes, assim a adoção do padrão H.323 permite a utilização de aplicações multimídia sem requerer mudanças na estrutura de redes. Por outro lado, à medida que as tecnologias de enlace de redes evoluem e proporcionam maiores limites de velocidade e largura de banda, seus benefícios serão imediatamente incorporados e usufruídos pelas aplicações H.323.

  • Interoperabilidade de equipamentos e aplicações
    O H.323 permite interoperabilidade entre dispositivos e aplicações de diferentes fabricantes. Por isso, vários fornecedores de porte como Intel, Microsoft, Cisco e IBM investem em linhas de produtos H.323.

  • Independência de plataforma
    O H.323 não determina o hardware ou sistema operacional a ser usado. Desse modo, as aplicações H.323 podem ser de naturezas diversas voltadas para mercados específicos, que vão desde software de videoconferência executado em PCs, a telefones IP, adaptadores para TV a cabo, sistemas dedicados, etc.

  • Representação padronizada de mídia
    O H.323 estabelece codificadores para compressão e descompressão de sinais de áudio e vídeo. Ele também prevê mecanismos de negociação dos codificadores a serem utilizados numa conferência a fim de que os seus participantes encontrem um subconjunto comum entre si.

  • Flexibilidade nas aplicações clientes
    Uma conferência H.323 pode envolver aplicações clientes com capacitações multimídia diferentes. É possível que um terminal com suporte apenas para áudio participe de uma conferência com terminais que tenham suporte adicional de vídeo e/ou dados.

  • Interoperabilidade entre redes
    É possível estabelecer conferências entre participantes localizados numa LAN e em outras redes completamente diferentes, como a rede telefônica pública ou ISDN. O H.323 prevê o uso de codificadores que são comuns a vários tipos de redes. Isto é possível através da utilização do componente gateway.

  • Suporte a gerenciamento de largura de banda
    O tráfego dos fluxos de vídeo e áudio é caracteristicamente consumidor de largura de banda em uma rede. O padrão provê mecanismos de gerenciamento que permitem delimitar a quantidade de conferências simultâneas e a quantidade de largura de banda destinada às aplicações H.323. Além do mais, o H.323 também prevê facilidade de contabilidade de uso dos recursos da rede que podem ser usadas para fins de cobrança. Isto é possível através da utilização do componente gatekeeper.

  • Suporte a conferências multiponto
    O H.323 suporta conferências com três ou mais participantes simultâneos.

  • Suporte a multicast
    O H.323 suporta técnicas de multicast nas conferências multiponto. Uma mensagem multicast envia um único pacote a todo um subconjunto de destinatários na rede sem replicação. Esse tipo de transmissão usa a largura de banda de uma forma muito mais eficiente que as transmissões unicast.
^

3. Componentes H.323

O padrão H.323 especifica quatro tipos de componentes que, juntos, possibilitam a comunicação multimídia [2]. São eles:
  • Terminais
    São os computadores pessoais utilizados na rede, a qual provê comunicação em tempo real. Todos os terminais devem suportar voz. O suporte à vídeo e dados é opcional.

  • Gateways
    São elementos opcionais em conferências H.323, que têm como função prover a comunicação de terminais H.323 com outros terminais de padrões diferentes (H.310, H.321, H.322).

  • Gatekeepers
    Componentes mais importantes. Atuam como ponto central para todas as chamadas dentro de sua zona (Zona é oconjunto de todos terminais, gateways e MCUs gerenciados por um único gatekeeper. Uma zona deve incluir, pelo menos, um terminal e pode incluir segmentos de LAN conectados usando roteadores) e provêem serviços de controle de chamada para registrar participantes. Dentre outras coisas, são também responsáveis pelo gerenciamento da largura de banda em conferências H.323.

  • Multipoint Control Units (MCUs)
    Suporta conferências entre três ou mais participantes. Sob H.323, um MCU consiste de um Multipoint Controller (MC) e zero ou mais Multipoint Processors (MP). O MC manipula as negociações entre todos os terminais para determinar capacidades comuns para processamento de áudio e vídeo. Já o MP é o responsável por mesclar, chavear e processar os bits de áudio, vídeo e/ou dados.
Um sistema que utiliza o padrão H.323 e as recomendações ITU-T associadas provê uma forma útil e flexível para comunicação multimídia, e o fato de ser executado sobre diversas plataformas o torna escalável. As recomendações relacionadas ao padrão H.323 continuam a evoluir e a serem adaptadas a novas situações através de um esforço contínuo do grupo de estudo da ITU-T [6]. Muitas dificuldades que surgem na utilização do H.323 são decorrentes de outros problemas relacionados, como por exemplo, a garantia de qualidade de serviço durante toda a sessão.
^

4. O H.323 em relação a outros padrões da família H.32x

A família H.32x de recomendações da ITU-T especifica serviços de comunicação multimídia entre uma variedade de redes distintas, são elas [1]:
  • H.320 sobre Redes Digitais de Serviços Integrados (Integrated Services Digital Network - ISDN);
  • H.321 e H.310 sobre Redes Digitais de Serviços Integrados de Banda larga (Broadband Integrated Services Digital Networks - B-ISDN);
  • H.322 sobre LANs que provêem serviço com garantia de QoS;
  • H.324 sobre Redes de Comutação por Circuito (Switched Circuit Network - SCN).
Uma das principais motivações para o desenvolvimento do padrão H.323 foi a interoperabilidade com outras redes de serviços multimídia. Esta interoperabilidade foi alcançada através do uso de gateway, possibilitando, por exemplo, o estabelecimento de conferências entre participantes da Internet, da ISDN, da rede telefônica e de uma rede ATM.
Na figura 2, podem ser observados os componentes do padrão H.323 e a interoperabilidade com outros padrões da família H.32x.
Componentes do padrão H.323 e a interoperabilidade com outros terminais da família H.32x
Figura 2 - Componentes do padrão H.323 e a interoperabilidade com outros terminais da família H.32x
^

5. Algumas características do padrão H.323

Os algoritmos de codificação de áudio suportados pelo H.323 são todos provenientes de padrões ITU. Terminais H.323 devem suportar o padrão G.711 para codificação de áudio, sendo o suporte aos outros padrões opcional. O G.711 geralmente transmite áudio em 56 ou 64 Kbps.
Qualquer terminal H.323, habilitado com vídeo, deve suportar o codec H.261.O suporte a H.263 é opcional. Geralmente, o H.261 é usado em canais de comunicação que são múltiplos de 64 Kbps. O H.263 possui a qualidade de imagem um pouco melhor que o H.261, dentre vários fatores, por requerer uma técnica de estimativa de movimento de meio (1/2) pixel e uma tabela otimizada de codificação de Huffman para transmissões a baixas taxas de bit. A comunicação entre os padrões é facilitada porque ambos devem suportar QCIF. A tabela 1 mostra uma comparação dos padrões H.261 e H.263 quanto a compatibilidade com padrões de imagem da ITU [2].
Formato da imagem de videoconferência Tamanho da imagem em Pixels H.261 H.263
Sub-QCIF 128x96 Não especificado Requerido
QCIF 176x44 Requerido Requerido
CIF 352x288 Opcional Opcional
4CIF 702x576 N/A Opcional
16CIF 1408x1152 N/A Opcional
Tabela 1 - Formatos ITU-T para videoconferência
O suporte a transmissão de dados durante uma conferência é uma capacidade opcional do padrão H.323 mas, quando suportado, habilita a colaboração através de aplicações como whiteboard compartilhado, aplicações de compartilhamento e transferência de arquivos. Este recurso é possível baseando-se na especificação do padrão ITU-T T.120, o qual endereça tanto conferências de dados ponto-a-ponto quanto multiponto. Na maioria das vezes, o suporte a dados está incorporado nas aplicações clientes ou MCUs.
O H.323 usa tanto comunicação confiável (Transport Control Protocol - TCP) quanto não confiável (User Datagram Protocol - UDP). Os sinais de controle e dados requerem transporte confiável porque devem ser recebidos na ordem que eles foram enviados e não podem ser perdidos. Por outro lado, o fluxo de áudio e vídeo perde sua qualidade com o tempo, sendo mais eficiente quando enviado por transporte não confiável.
Em conferências com múltiplos fluxos de áudio e vídeo, o transporte não confiável, via UDP, usa IP multicast e o Real-Time Protocol (RTP), desenvolvido pelo Internet Engineering Task Force (IETF) para manusear fluxo de áudio e vídeo. O IP multicast é um protocolo para transmissão de multicast não confiável em UDP. O RTP trabalha sobre o topo do IP multicast e foi projetado para manusear os requerimentos de fluxo de áudio e vídeo sobre a Internet. Um cabeçalho contendo um time-stamp e um número de seqüência é adicionado a cada pacote UDP. Com uma "bufferização" apropriada na estação de recebimento, as informações de tempo e seqüência permitem à aplicação, por exemplo, eliminar pacotes duplicados; reordenar pacotes fora de ordem; e sincronizar som, vídeo e dados.
Devido ao H.323 ser baseado em RTP, ele pode operar sobre o Mbone. Para controle do RTP é utilizado o Real-Time Control Protocol (RTCP) que monitora a qualidade de serviço, transporta informações sobre os participantes da sessão e, periodicamente, distribui pacotes de controle, contendo informações de qualidade para todos participantes da sessão.
Em videoconferências, de maneira geral, a quantidade de largura de banda é um fator crítico. O H.323 e alguns produtos que o suportam usam o Resource Reservation Protocol (RSVP), apesar deste não ser oficialmente parte do padrão. O RTP precisa ser suportado pelos terminais, gateways e MCUs com Multipoint Processor, e o RSVP pode ser suportado pelos mesmos componentes e quaisquer switches ou roteadores.
^

6. Padronizações que estendem as funcionalidades do padrão H.323

O ITU-T também desenvolve outras recomendações que estendem as funcionalidades do H.323 ou adicionam novos serviços. São elas:
  • H.235 Security and Encryption for H-Series (H-323 and other H.245-based) Multimedia Terminals [4],

    Essa recomendação introduz um ambiente de segurança para o H.323, provendo serviços de autenticação, integridade, privacidade e não repudiação [6]. Ela usa os mecanismos de criptografia dos protocolos de suporte à segurança IPSEC (Internet Protocol Security) ou TLS (Transport Layer Security). A autenticação é a garantia de que os participantes de uma conferência sejam realmente quem eles dizer ser. A integridade valida se os dados recebidos não foram alterados. A privacidade dos dados impossibilita que intrusos consigam decifrar dados interceptados da rede e é garantida por mecanismos de criptografia. A não repudiação evita que alguém sistematicamente bloqueie a participação de um determinado elemento na conferência.

  • Série H.450.x, para introduzir alguns serviços suplementares ao H.323 que são comuns aos sistemas telefônicos. Eles adaptam o H.323 à Telefonia IP.

    Essa série constitui-se de recomendações para: protocolos genéricos (H.450.1), transferência de chamadas (H.450.2), desvio de chamadas (H.450.3), retenção de chamadas (H.450.4), retenção e retomada de chamadas (H.450.5), espera de chamadas (H.450.6), indicação de mensagens em espera (H.450.7), identificação de nomes (H.450.8) e procedimentos de completar chamadas se ocupado (H.450.9), oferta de chamada (H.450.10), intrusão em chamadas (H.450.11) e características de informações comuns adicionais de rede (H.450.12).
^

7. Considerações finais

A recomendação H.323 consiste em uma solução baseada em padrões para sistemas de comunicação que inclui, desde uma simples telefonia ponto-a-ponto, até uma sofisticada conferência multimídia com compartilhamento de dados. Ele tem sido amplamente utilizado em aplicações de voz sobre IP, videoconferência em desktop, computação colaborativa, ensino a distância, aplicações de helpdesk e suporte, e shopping interativo.
O H.323 é um padrão recente. Sua primeira versão foi divulgada em 1996, provendo um serviço sem garantia de QoS para ser utilizado em LANs e sistemas multimídia audiovisuais. Devido à necessidade de um padrão para voz sobre IP, o H.323 foi revisado e surgiu a versão 2. Na versão 3, foi adicionado suporte à comunicação gatekeeper-gatekeeper, ao fax sobre redes de pacotes e aos mecanismos de conexão rápidos. E, a mais recente, a versão 4, teve como foco importantes áreas, tais como confiabilidade, escalabilidade e flexibilidade. Através de esforços contínuos do grupo de estudo ITU-T, a recomendação H.323 continua evoluindo e adaptando-se a novas situações. O endereçamento coordenado globalmente e a consistência de QoS são duas áreas onde espera-se ver grandes melhoramentos no futuro.
A complexidade e a flexibilidade existentes no padrão H.323 dificulta sua implementação, pois vendedores de produtos e serviços H.323 freqüentemente escolhem implementar um subconjunto do mesmo que atenda seus requerimentos imediatos. Além disso, o ITU-T não provê um guia que possa ajudar assegurar a compatibilidade e interoperabilidade. O International Multimedia Teleconferencing Consortium (IMTC), uma organização que conduz testes de compatibilidade e interoperabilidade de produtos e serviços, tem estabelecido um objetivo para assegurar que vendedores de produtos e serviços sejam interoperáveis.
Existe uma alternativa ao H.323 que é o Session Initiation Protocol (SIP), o qual foi concebido na Universidade de Columbia e depois submetido para aprovação do IETF. Assim como outros protocolos dominantes na Internet (HTTP, FTP, SMTP), o SIP é baseado em texto. O SIP foi aprovado como Request For Comment (RFC) e publicado como RFC 2543, em março de 1999. Um artigo de comparação entre os dois pode ser encontrado em um dos sites selecionados, o Packetizer.
^

8. Sites relacionados

Equivalence Pty Limited - Projeto OpenH323: http://www.openh323.org/
Free H.323: http://www.h323.org/
Packetizer - A resource for packet-switched conversational protocols: http://www.packetizer.com/
^

Referências bibliográficas

[1] Chandra, S. & Mathur, M., "Multimedia Standards - H.323 for Audio Visual Conferencing", 2000.
Disponível em http://www-personal.ksu.edu/~mohit/multimedia.html .
[2] DataBeam Corporation, "A Primer on the H.323 Series Standard", 1998.
Disponível em http://www.lotus.com/products/sametime/sametime.nsf/standards .
[3] H.323, International Telecommunication Union Telecommunication Standardization Sector ITU-T, "Packet Based Multimedia Communications Systems", novembro de 2000.
[4] H.245, International Telecommunication Union Telecommunication Standardization Sector ITU-T, "Security and Encryption for H-Series (H-323 and other H.245-based) Multimedia Terminals", novembro de 2000.
[5] Karim, A., "H.323 and Associated Protocols", 1999.
Disponível em http://www.cis.ohio-state.edu/~jain/cis788-99/h323/index.html .
[6] Toga, J., Elgebaly, H. Demystifying Multimedia Conferencing Over the Internet Using the H.323 Set of Standards, Intel Architecture Labs, Intel Corporation, 1998.
Disponível em http://www.intel.com.tw/technology/itj/ q21998/articles/art4.htm .
[7] Trillium, H.323 Tutorial, International Engineering Consortium, 2001.
Disponível em http://www.iec.org/online/tutorials/h323/topic01.html .
^