lunes, 29 de diciembre de 2008

Realidad del Software Libre en Paraguay

Quisiera dar mi opinión sobre la realidad que yo creo que se vive actualmente en nuestro país sobre el Software Libre en general. Existen muchos deseos de superación y aceptación general, en especial a lo respecta a GNU/Linux, por otra parte un gran movimiento exigiendo al Gobierno a que las entidades públicas deben de usar Software Libre y no invertir miles de dolares para el uso de Software Privativo. En sintesis, existen muchos movimientos, muchos planes pero, ¿cual es la realidad que el Paraguay vive hoy frente al Software Libre?.-



* Por un lado lo que nos propone justamente el comic de arriba; los grupos que existen para apoyar y fomentar el uso del Software Libre no se encuentran sino peleados entre si; es conocido y sabido y también muy facil de observar que existe mucho fanatismo en muchas personas que componen estos grupos sobre algun movimiento o distro o software o postura en especial; simplemente termina no llevandose el carro a un mismo lugar, a un mismo objetivo, o tal vez si pero las personas simplemente no se encuentran muy unidas. Por otro lado la postura de un profesional Informático de aceptar y convivir como también conocer y utilizar el Software Libre pero así también Software Privativos y cualquier tipo de Software que podamos encontrar, no es aceptada. Hay que comprender que un Ing. Informático o Analista Informático, etc, no puede cerrarse a un tipo de Software, si puede preferir o bien especializarse en un tipo de Software mas no puede dejar de conocer -como profesional- a otro tipo de Software o tecnología ajustada a su profesión. Este tipo de personas neutras tampoco es que sean muy aceptadas en los grupos de apoyo al Software Libre, “O sos Software Libre o no sos nada” o bien, muchos fanaticos estudiantes de carreras Informáticas, simplemente no aceptan y/o rechazan inmediatamente cualquier tipo de Software y/o tecnología no-libre, creandose así un monton de personas muy poco profesionales y cerrradas.-

* Pero no solo el orgullo, el fanatismo, el desconocimiento, la ignorancia y las peleas son algunas de las barreras del crecimiento del Software Libre en nuestro país, también así la poca iniciativa de muchos, el desinteres de trabajar en conjunto, el de creer que el cambio realmente está en las manos de uno, todos juntos. Es sabido que solo algunos se mueven, y a veces estas personas por mas que muestran algunos intentos de llamar a todos para la unión y el crecimiento y el trabajo en conjunto, realmente son los que más cierran el grupo a nuevas personas que quieran ser parte, que den sus opiniones que sino coinciden con ellos, no está adentro y es inmediatamente rechazado. Esto todos sabemos.-

* La comunidad NO acepta ningun tipo de crecimiento departe de empresas de Software Privativo en nuestro país, NO acepta que éstas empresas presenten proyectos al Ministerio de Educación y a otros entes públicos; sus razones son entendibles y tan llenas de razón, pero … ¿hace algo la Comunidad de Software Libre en el Paraguay más allá de estar al tanto como éstas empresas de Software Privativo crecen y presentan proyectos?, la realidad es que NO. A mi me asusta que se metan con la educación, pero es la realidad de nuestro país hoy, y los cambios no se vienen solos, se deberian venir de nuestras manos, pero debemos ser muchos, no podemos ser 100 pelagatos diciendo “arriba el SL, arriba el SL” y tratar de hablar en nombre de todos. Debemos ser la mayoria, por ello el cambio se viene de abajo, se viene en capacitaciones, charlas reuniones y demases organizaciones sociales para hacer llegar el SL a cada rincon como una alternativa, un camino completamente distinto, no como una obligacion ni nada por el estilo, entonces, personas y profesionales podrán aceptar al Software Libre como la alternativa que realmente es, no una religion, no una obligacion no un mandato mundial, una alternativa .. finalmente presentar un proyecto y lograr el cambio entre todos. Pero .. ¿qué tenemos en la realidad más allá de ideas, planes proyectos, peleas, grupos cerrados, etc?, NADA.-

* Muchas entidades públicas -como empresas- no tienen el 100% de la culpa -digamos culpa- por aceptar altos costos de contratos en Software Privativoa de parte de éstas empresas -usando nuestro dinero para la compra, en el caso de las entidades públicas- la realidad es que NO existe una alternativa presentada LEGALMENTE departe de una FIRMA que se RESPONSABILICE y preste GARANTIAS como SOPORTE al Software Libre en general, por lo que es como que NO exista como una alternativa en la mayoría de los casos. La comunidad en vez de vivir peleanose entre si, debería unirse en usuarios y profesionales que deseen prestar sus conocimientos exclusivamente al Software Libre y formar una única firma que preste estas garantias, soporte y responsabilidad por la implementación del Software Libre mencionado, ya que esto es 100% necesario. Cuando menciono profecionales que deseen ofrecer sus conocimientos exclusivamente al Software Libre, me refiero a profesionales que desean mejor trabajar en el rubro mencionado, aun aceptando y conociendo el Software Privativo, no hablo de fanaticos.-

* NO existe a nivel nacional un plan o un teorema o una vision de negocio sobre el Software Libre implementada y llevada por una Firma Legal que preste todas las garantias, soporte y responsabilidad por el mismo.-

* Existen decenas de personas que tenemos ideas, iniciativa y planes, y todos poseemos herramientas y oportunidades a nuestro alcance, pero ¿con qué chocamos? con las peleas, con grupos peleados, con las creaciones de subgrupos de pocas personas apartir de esto que no nos lleva a nada.-

* Por qué apesar de que GNU/Linux pueda distribuirse de manera gratuita no es la elección predeterminada y el camino en un país tercer mundista como el nuestro? porque es como si no existiera, por el desconocimiento y los mitos que vive en las empresas, en los empresarios, en muchos Informáticos y en la gente; ¿qué hacer?, charlas, reuniones, campañas y cualquier movimiento que produzca una información, un material educativo y adentrado al nivel de las personas para realmente conocer y saber sobre el Software Libre, pero de vuelta, no existe un Grupo unido grande y emprendedor y que haga publicidad y sobre salte en este punto, mas bien existen peleas y diferencias tontas que no producen NADA, tampoco existe una empresa que de su soporte detrás de éste Software.-

Simplemente es una realidad, que habra discusiones, habra negaciones a esto, pero es la realidad que vivimos, muchos de lo que estamos dentro de estos grupos. El Software Libre, mientras se siga manejando asi “entre los perros” nomas y con estos tipos de problemáticas tontas, jamas llegará a donde queremos que llegue, mientras no exista algo serio, una firma seria y gente seria sin desconocimientos, ignorancia y fanatismo.-

Es mi parecer, es lo que me deja la realidad que yo vivo.-

Fuente del Comic.-

Fuente de la Nota

sábado, 27 de diciembre de 2008

Configurar Apache 2 en Debian 4

A diferencia de Apache 1.3 que contaba con un único archivo de configuración (el mítico y añorado /etc/apache/httpd.conf), Apache 2 tiene numerosos archivos de configuración. Veamos algunas de las principales directivas de /etc/apache2/apache2.conf:

  • Información que facilita Apache sobre sí mismo. Por defecto vale Full:
    ServerTokens Full

    Y Apache da toda la información:

    Apache 2.0.4 (Debian - PHP/5.2.0-8+etch3)

    Por seguridad, mejor ponerlo a Prod para que envíe el mínimo de información:

    ServerTokens Prod
  • Datos sobre Apache en el pie de los mensajes de error. Por defecto vale On:
    ServerSignature On

    Y Apache da todos los datos:

    Apache 2.0.4 Server at 192.168.1.3 Port 80

    Por seguridad, mejor ponerlo a Off para dar el mínimo de datos:

    ServerSignature Off
  • Comportamiento del servidor cuando se produce un error. Por ejemplo, podemos configurar Apache para que redireccione a un fichero en nuestro servidor al ocurrir un Error 404. La página no existe:
    ErrorDocument 404 /info.html
  • La directiva Alias permite redireccionar a un directorio que puede estar fuera del árbol de directorios especificado en DocumentRoot. Por ejemplo, con la directiva:
    Alias /icons/ /usr/share/apache2/icons/

    si tecleamos en el browser:

    http://www.domain.com/icons/

    Apache servirá el contenido de:

    http://www.domain.com/usr/share/apache2/icons/

    Para los directorios definidos en las directivas Alias tendremos que crear una directiva Directory en la que se definan los permisos, por ejemplo:

    
    
    ...
  • La directiva userDir permite redireccionar al directorio personal del usuario si se recibe una solicitud del tipo ~usuario:
    userDir public_html

    Si tecleamos en el navegador:

    http://www.domain.com/~francis/

    el servidor accederá a:

    http://www.domain.com/home/francis/public_html/

  • La configuración general de Apache puede sobreescribirse para un directorio determinado si ubicamos en él un archivo .htaccess. La directiva AccessFileName define el nombre de ese archivo:
    AccessFileName .htacces

    Para impedir que los .htaccess puedan ser vistos por los usuarios:

    
    
    Order allow deny
    Deny from all

Otro archivo de configuración de Apache 2 es /etc/apache2/mods-enabled/dir.conf:

  • la directiva DirectoryIndex establece el archivo que busca Apache al entrar en un directorio de nuestra web. Por ejemplo, para decirle que si no encuentra index.html busque index.htm o index.cgi, en ese orden, pondremos:
    DirectoryIndex index.html index.htm index.cgi

Otro archivo más, /etc/apache2/conf.d/charset:

  • la directiva AddDefaultCharset se configura en el archivo /etc/apache2/conf.d/charset y establece qué sistemas de codificación son aceptados y cuál es el sistema por defecto. Admite tres valores:
    • para que Apache sirva la página en ISO-8859-1 sea cual sea la codificación de la página web usaremos on (es la opción por defecto):
      AddDefaultCharset on
    • usaremos para que Apache sirva la página en ese charset concreto, sea cual sea la codificación de la página web. Por ejemplo, para UTF-8:
      AddDefaultCharset utf-8
    • para que Apache sirva la página con el charset especificado en la etiqueta META de la página web usaremos off (es la opción más recomendable):
      AddDefaultCharset off

      Por ejemplo, para UTF-8, la etiqueta META será:

Configurar los hosts

Para configurar nuestro host editaremos el archivo /etc/apache2/sites-available/default. Si nuestro Apache tiene que servir varios dominios crearemos un bloque VirtualHost para cada uno de ellos, siendo el host por defecto el primer host virtual listado.

Supongamos que tenemos dos dominios (www.domain.com y www.otherdomain.com) apuntando a nuestra IP. Para cada uno de ellos existirá una sección VirtualHost, siendo www.domain.com el sitio por defecto:

NameVirtualHost *


ServerName www.domain.com
ServerAlias domain.com *.domain.com
DocumentRoot /var/www/domain
ServerAdmin webmaster@domain.com

Options SymLinksIfOwnerMatch
AllowOverride None


Options -Indexes -Includes -FollowSymLinks Multiviews
AllowOverride None
Order allow, deny
Allow from all

CustomLog /var/log/apache2/access.domain.log combined
ErrorLog /var/log/apache2/error.domain.log



ServerName www.otherdomain.com
ServerAlias otherdomain.com *.otherdomain.com
DocumentRoot /var/www/otherdomain
ServerAdmin webmaster@otherdomain.com

Options SymLinksIfOwnerMatch
AllowOverride None


Options -Indexes -Includes -FollowSymLinks Multiviews
AllowOverride None
Order allow, deny
Allow from all

CustomLog /var/log/apache2/access.otherdomain.log combined
ErrorLog /var/log/apache2/error.otherdomain.log

Examinemos algunas de las directivas que se incluyen en cada VirtualHost:

  • Nombre que el servidor utiliza para identificarse (debe figurar en el DNS). Si no tenemos un dominio registrado usaremos localhost:
    ServerName localhost

    Si tenemos un dominio registrado lo usaremos:

    ServerName www.domain.com
  • Directorio donde está la web, donde Apache busca la página por defecto (si pensamos servir varios dominios, tendremos un directorio para cada uno):
    DocumentRoot /var/www/domain
  • Email del administrador que saldrá cuando haya errores (por ejemplo, Error 404. La página no existe. Contacte con el administrador: webmaster@localhost). Si no tenemos un dominio registrado usaremos localhost:
    ServerAdmin webmaster@localhost

    Si tenemos un dominio registrado lo usaremos:

    ServerAdmin webmaster@domain.com
  • Archivo donde se guardan los logs de acceso y formato (si pensamos servir varios dominios, tendremos archivos de logs de acceso diferentes):
    CustomLog /var/log/apache2/access.domain.log combined

    La directiva LogFormat define los posibles formatos para los logs generados: (full, debug, combined, forensic, common, referer y agent).

  • Ubicación de los logs de error (si pensamos servir varios dominios, usaremos archivos de logs de error diferentes):
    ErrorLog /var/log/apache2/error.domain.log

    Tipo de mensajes que se guardarán en los logs de error (de menos a más gravedad: debug, info, notice, warn, error, crit, alert y emerg):

    LogLevel warn
  • Con la directiva Directory definimos opciones que se aplican al directorio indicado y sus subdirectorios. Lo habitual es configurar unos permisos por defecto muy restrictivos:
    
    
    Options SymLinksIfOwnerMatch
    AllowOverride None

    y posteriormente habilitar el acceso y permisos más amplios en directorios específicos. Por ejemplo, para la raíz del árbol de documentos y sus subdirectorios:

    
    
    Options -Indexes -Includes -FollowSymLinks Multiviews
    AllowOverride None
    Order allow, deny
    Allow from all
    • La opción SymLinksIfOwnerMatch sólo permite que puedan seguirse los enlaces simbólicos si el propietario del link y el del archivo apuntado es el mismo.
    • La opción FollowSymLinks permite que puedan seguirse los enlaces simbólicos. Por seguridad, esta opción la desactivamos.
    • Con la opción Indexes, si se solicita un directorio y no existe la página especificada con DirectoryIndex (index.html, index.htm, etc.), Apache mostrará el contenido del directorio.

      Es preferible desactivar esta opción con -Indexes para no arriesgarnos a que el usuario pueda acceder a archivos sensibles, de manera que Apache mostrará el mensaje de error Forbidden - You don’t have permission. Una solución sencilla muy utilizada para evitar riesgos es ubicar en los directorios que no se desea que sean mostrados un archivo index.html vacío: si alguien entra en estos directorios sólo verá una página en blanco.

      En caso de activar Indexes controlaremos la apariencia del listado con la directiva IndexOptions. Por ejemplo, para mostrar iconos (FancyIndexing) y que se muestren primero los directorios (FoldersFirstcon) pondremos:

      IndexOptions FancyIndexing FoldersFirstcon
    • La directiva AllowOverride controla qué opciones pueden sobreescribirse con un archivo .htaccess. Puede impedirse la modificación con None o permitirse con All.
    • La opción Multiviews permite negociar los contenidos con el navegador para elegir la mejor representación de acuerdo con sus preferencias (idioma, conjunto de caracteres, codificación, etc.).
    • La directiva Includes permite el uso de SSI (Server Side Includes). Las instrucciones SSI se utilizan para generar páginas dinámicas y se incluyen normalmente en ficheros con extensión .shtml. Si no utilizamos SSI es preferible desactivar esta opción con -Includes.
    • Con las directivas Order y Allow se controla el acceso al servidor utilizando el nombre de dominio o la IP del cliente. La directiva Order allow, deny determina que primero se evalúa la lista Allow y luego la Deny. La directiva Allow from all permite acceder a todo el mundo. Las directivas Allow y Deny serán similares a:
      Allow from all
      
      Allow from none
      Allow from 192.168 80.58.61.254 fransberns.com
  • Si tenemos páginas dinámicas a las que se accede pasando parámetros en la URL, pueden convertirse en URLs amistosas con la directiva RewriteRule. En primer lugar, activamos el módulo mod_rewrite sin generar logs para las redirecciones:
    RewriteEngine on
    
    RewriteLogLevel 0

    A continuación, establecemos las reglas de reescritura. Por ejemplo, con la directiva:

    RewriteRule /news/(.+) /index.php?id=$1

    cuando se solicite la página:

    http://www.domain.com/news/medicina.php

    el servidor devolverá (de forma transparente para el usuario):

    http://www.domain.com/index.php?id=medicina.php

  • El módulo mod_rewrite nos permite una cosa muy interesante, protegernos contra el hotlink o "robo de ancho de banda", que consiste en enlazar directamente las imágenes de otros sitios en vez de almacenarlas en el propio servidor, de manera que se perjudica a la web enlazada al incrementar su tasa de transferencia. Evitar el hotlink no es capricho, si nuestro plan de hosting va "justito" superaremos los límites y seremos penalizados. Pondremos algo similar a:
    RewriteEngine on
    
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?mi_dominio.com(/)?.*$ [NC]
    RewriteRule .*\.(gif|jpg|png)$ - [F,NC]

    Para reemplazar la imagen solicitada por otra sustituiremos la última línea por:

    RewriteRule .*\.(gif|jpg|png)$ http://www.mi_dominio.com/nohotlink.jpe [R,NC]

    Y la imagen que se verá en la web ladrona será nohotlink.jpe:

    no hotlink

    Recursos

  • El protocolo HTTP dispone de dos mecanismos de autentificación para restringir el acceso a un directorio mediante nombre de usuario y contraseña: Basic (el usuario y el password viajan por la red sin cifrar) y Digest (el usuario y el password viajan por la red cifrados con MD5). Para utilizar Digest debemos cargar el módulo:
    LoadModule digest_auth_module  /usr/lib/apache2/modules/mod_auth_digest.so

    Ambos mecanismos de autentificación funcionan de forma similar:

    1. crearemos el archivo que contiene los nombres de los usuarios autorizados (que no tienen que coincidir con usuarios del sistema) y sus contraseñas cifradas. Este archivo es /etc/apache2/passwd y se crea al añadir el primer usuario con el comando:

      - Basic:

      # htpasswd -c /etc/apache2/passwd 

      - Digest:

      # htdigest -c /etc/apache2/passwd Private 

      Nos pedirá la contraseña del usuario y su confirmación. La opción -c creará el archivo (si no existe) o lo sobrescribirá (si existe). Para Digest tenemos que especificar el nombre del dominio de autentificación (Private) que figura en la directiva AuthName (es el nombre que se muestra cuando se solicita la autentificación al usuario).

    2. una vez creado el archivo, para añadir usuarios o modificar contraseñas haremos:

      - Basic:

      # htpasswd /etc/apache2/passwd 

      - Digest:

      # htdigest /etc/apache2/passwd Private 
    3. indicaremos al servidor qué recursos están protegidos y cuáles son los usuarios que pueden acceder a ellos. Por ejemplo, para proteger el directorio /var/www/secret pondremos:

      - Basic:

      
      
      AuthType Basic
      AuthName "Only by invitation"
      AuthUserFile /etc/apache2/passwd
      Require valid-user

      - Digest:

      
      
      AuthType Digest
      AuthName Private
      AuthDigestFile /etc/apache2/passwd
      Require valid-user
      lt;/Directory>
    4. a partir de este momento, para acceder a /var/www/secret nos tendremos que autentificar:

      - Basic:

      Directorios protegidos Basic

      - Digest:

      Directorios protegidos Digest

Comprobar Apache

Una vez configurado Apache, guardamos los cambios y reiniciamos el servidor:

# /etc/init.d/apache restart

Comprobaremos si funciona poniendo en el directorio donde está la web (/var/www) la página HTML más sencilla, Hola mundo. El archivo hello.html contiene lo siguiente:




Hola mundo


Hola, mundo.



Si todo está correcto, al abrir http://127.0.0.1/hello.html en el navegador veremos lo siguiente:

Hola mundo HTML

Revista Código Latino

Es una revista latinoamerica, en la que los escritores y editores hacen llegar al publico sus experencias con los lenguajes de programación, dan ejemplos de la misma y algunos programas pequeños para aprender los lenguajes de computación.

El pasado 15 de diciembre fue liberada la edicición 10 de la revista.
Pueden descargas todas las ediciones del 1 al 10 desde aqui: Codigo Latio


Pagina Oficial: revistacodigolatino

jueves, 11 de diciembre de 2008

Linux, comandos básicos de redes

Cambiar de un sistema operativo a otro siempre es un poco lioso, a parte de porque tenemos que adaptarnos a una nueva filosofía porque en un primer momento desconocemos como funcionan muchas de las cosas de este nuevo SO.

Si sois lectores habituales sabréis que no hace mucho cambié de sistema operativo, de Windows XP a Linux (Kubuntu 8.04 y posteriormente a Kubuntu 8.10). Como es lógico soy un novato aún, por ese motivo esta hoja puede ayudar a muchos que como yo se encuentren en la misma situación.

Hoy los que os proponemos es una lista de comandos básicos de redes en Linux.

Para ejecutarlos tan sólo debemos abrir una ventana de terminal y escribir:

ping

Sirve par verificar la respuesta de nuestro host (máquina) en la red. ¿Seguís igual? Bueno lo explicaremos de una forma más sencilla.

Muchas veces abras visto que algunas paginas web no se cargan, este comando nos ayudará a determinar cual es el motivo de alguno de estos fallos. Podemos hacer un ping a la dirección IP de nuestro router a ver si está caido, o bien haremos un ping a una web que sabemos que no se caerá nunca (www.google.com) y ver si carga correctamente. Si los paquetes, al hacer ping a google, se pierden es posible que estemos teniendo problemas con los dns (para comprobar esto último haríamos un ping a la dirección IP de google y veríamos si llegan o no, si lo hacen estamos ante un fallo en las dns y sino es probable que estemos ante un fallo de conexión por parte de nuestro ISP.).

Ejemplo: ping www.google.com

[root@geekets.com ~]# ping google.com
PING google.com (72.14.205.100) 56(84) bytes of data.
64 bytes from google.com (72.14.205.100): icmp_seq=1 ttl=238 time=157 ms
64 bytes from google.com (72.14.205.100): icmp_seq=2 ttl=238 time=155 ms
64 bytes from google.com (72.14.205.100): icmp_seq=3 ttl=238 time=155 ms

traceroute

Con traceroute podemos ver en tiempo real todo el camino que realiza un paquete hasta llegar a su destino. Como os decía antes en algunas ocaciones la carga de páginas webs no se realizará debido a problemas técnicos en algún punto de la red. Con este comando podremos ver donde se pierden los paquetes.

Ejemplo: traceroute www.google.com

netstat –r (–v)

Nos proporciona información sobre nuestra red

[root@geekets.com]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
10.15.0.0 * 255.255.0.0 U 0 0 0 eth0
default 10.10.254.254 0.0.0.0 UG 0 0 0 eth0

netstat –a

Nos permite ver los puertos abiertos en nuestro PC

netstat –nt

Verifica todas las conexiones TCP

[root@geekets.com]# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.18.0.77:49453 192.18.0.20:389 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:48896 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:47444 ESTABLISHED

ifconfig

Muestra la dirección IP de nuestra máquina

[root@geekets.com]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:75:C8:1E:C9
inet addr:192.18.0.20 Bcast:192.18.0.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2562828 errors:0 dropped:0 overruns:1 frame:0
TX packets:819327 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:283710198 (270.5 MiB) TX bytes:119183438 (113.6 MiB)
Interrupt:193 Base address:0×6000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:25326 errors:0 dropped:0 overruns:0 frame:0
TX packets:25326 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7914566 (7.5 MiB) TX bytes:7914566 (7.5 MiB)

telnet

Permite ligar un determinado host a un puerto específico.

Ejemplo: telnet www.google.com 80

dig

Permite hacer consultas más detalladas al servicio de DNS

[root@geekets.com ~]# dig google.com

; <<>> DiG 9.3.3rc2 <<>> google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36771
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com. IN A

;; ANSWER SECTION:
google.com. 274 IN A 72.14.205.100
google.com. 274 IN A 74.125.45.100
google.com. 274 IN A 209.85.171.100

;; Query time: 1 msec
;; SERVER: 172.16.0.2#53(172.16.0.2)
;; WHEN: Tue Dec 9 14:46:26 2008
;; MSG SIZE rcvd: 76

whois

Permite obtener información sobre un determinado dominio.

Ejemplo: whois google.com

nslookup

Nos da el nombre de host para una IP.

[root@geekets.com ~]# nslookup www.google.com
Server: 10.10.0.1
Address: 10.10.0.1#53

Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 74.125.39.147
Name: www.l.google.com
Address: 74.125.39.104
Name: www.l.google.com
Address: 74.125.39.99
Name: www.l.google.com
Address: 74.125.39.103

mtr

Combina los comando ping y traceroute

tcpdump -i

Sniffer de redes.

Ejemplo: tcpdump –i eth0

iptab

Permite crear subnetting

Ejemplo: iptab

[root@geekets.com ~]# iptab
+———————————————-+
| addrs bits pref class mask |
+———————————————-+
| 1 0 /32 255.255.255.255 |
| 2 1 /31 255.255.255.254 |
| 4 2 /30 255.255.255.252 |
| 8 3 /29 255.255.255.248 |
| 16 4 /28 255.255.255.240 |
| 32 5 /27 255.255.255.224 |
| 64 6 /26 255.255.255.192 |
| 128 7 /25 255.255.255.128 |
| 256 8 /24 1C 255.255.255.0 |
| 512 9 /23 2C 255.255.254.0 |
| 1K 10 /22 4C 255.255.252.0 |
| 2K 11 /21 8C 255.255.248.0 |
| 4K 12 /20 16C 255.255.240.0 |
| 8K 13 /19 32C 255.255.224.0 |
| 16K 14 /18 64C 255.255.192.0 |
| 32K 15 /17 128C 255.255.128.0 |
| 64K 16 /16 1B 255.255.0.0 |
| 128K 17 /15 2B 255.254.0.0 |
| 256K 18 /14 4B 255.252.0.0 |
| 512K 19 /13 8B 255.248.0.0 |
| 1M 20 /12 16B 255.240.0.0 |
| 2M 21 /11 32B 255.224.0.0 |
| 4M 22 /10 64B 255.192.0.0 |
| 8M 23 /9 128B 255.128.0.0 |
| 16M 24 /8 1A 255.0.0.0 |
| 32M 25 /7 2A 254.0.0.0 |
| 64M 26 /6 4A 252.0.0.0 |
| 128M 27 /5 8A 248.0.0.0 |
| 256M 28 /4 16A 240.0.0.0 |
| 512M 29 /3 32A 224.0.0.0 |
| 1024M 30 /2 64A 192.0.0.0 |
| 2048M 31 /1 128A 128.0.0.0 |
| 4096M 32 /0 256A 0.0.0.0 |
+———————————————-+

Me habré dejado muchos comando por el camino pero creo que estos son los más interesantes. Podéis descargaros este estupendo pdf donde se recogen estos comandos junto con algunos otros.


Fuente: geekets.com

jueves, 4 de diciembre de 2008

Descomprimir rar en Ubuntu

A mas de uno, nos abra sucedio que bajamos algo en .rar y no podemos descomprimirlo en nuestro sistema.

Con Ubuntu es muy fácil descomprimir la mayoría de los archivos, solamente que los archivos rar no viene por defecto, y lo que tenemos que hacer es instalar un paquete.

Desde la Teminal (Aplicaciones>Accesorios>Terminal) y escribimos:

sudo apt-get install unrar

Si no eres de los que les gusta usar la terminal para instalar cosas (aunque es la manera mas fácil y rápida), puedes buscar en Synaptic el paquete unrar la version non free, aplica los cambios y ya está

Una vez que instalemos esto ya podremos descomprimir y comprimir archivos en rar, para hacerlo solamente dan clic derecho extraer aquí y ya está, o si lo quieren en un lugar específico den doble clic y en el botón que dice extraer los dejará escoger el lugar en el que quieren extraer los archivos.