lunes, 21 de mayo de 2007

¿Cómo enviar correos anónimos?

Eddy

Primero empezaremos hablando de los servidores SMTP. Estos servidores ofrecen a través de su puerto 25 el servicio de envío de correo electrónico. Pero el acceso a este puerto no está controlado por contraseñas ni autentificación de ningún tipo.

Si conocemos un servidor SMTP o tenemos correo a través de uno podemos usarlo para nuestros propósitos. Para conectarnos a dicho puerto abrimos Telnet: Inicio->Ejecutar, tecleamos "telnet" y pulsamos Enter.

Luego que aparezca en pantalla la ventana de consola, tecleamos:
o <Nombre del servidor SMTP> 25
Ej: o vanguardia.co.cu 25. Esto abre (open, por eso la "o") el servidor por el puerto 25.

El server responde más o menos con:
220 vanguardia.co.cu SMTP Ready

Para identificarnos tecleamos:
HELO <No.IP>
El número de IP usado aquí puede ser falso como 0.0.0.0

El servidor responde:
250 mail.etecsa.net

Para enviar el correo indicamos el FROM.
MAIL FROM:pepe@vanguardia.co.cu
El dominio que ponemos aquí tiene que ser válido para ese servidor. En este caso es vanguardia.co.cu, pero el nombre de la cuenta puede ser lo que tú quieras.

El servidor responde:
250 sender is pepe@vanguardia.co.cu

Le decimos para quién es el correo:
RCPT TO:jaguero@infomed.sld.cu
Para que nuestro amigo Alien reciba el mail, o podemos especificar cualquier dirección sin distinción.

El servidor responde:
250 recipient jaguero@infomed.sld.cu

Para poner el texto del correo ponemos:
DATA
y pulsamos Enter.

El servidor responde:
354 Start mail input; end with <CR><LF>.<CR><LF>
Escribimos todo lo que se quiera y para finalizar damos dos Enter, ponemos un "." sólo y damos Enter. Así nuestro mensaje es salvado y enviado...

Finalmente para desconectarnos ponemos:
quit

Esto es todo por ahora. Si tiene alguna duda de cómo usar esto de mejor forma puede escribirme un comentario.

Para saber más...

Continuar leyendo

QoS: Quality of Service

Alien

Quizás por este nombre muchos no lo conozcan, pero si les digo QoS (las siglas en inglés de Quality of Service), algunos ya se imaginarán de qué les hablaré.

Sucede que desde el mismo instante que configuramos la red, se nos instala junto con ésta y, de forma silenciosa, este “pesado” componente, que no es más que el que se encarga de verificar el control del tráfico de la red, sólo que para esto necesita constantemente estar enviando y recibiendo paquetes, cosa que nos ralentiza la conexión.

Quizás los que se hayan guiado por las revistas anteriores, y tengan configurada su conexión para que se desconecte al estar inactiva por un tiempo determinado, se habrán dado cuenta de que no siempre al estar por ese tiempo sin actividad en la red la conexión se pierde, y esto pudiera ser entre otras cosas debido al dichoso QoS.

Resulta ser que este componente nos “roba” el 20% del ancho de banda para estas gestiones, y no digo que no sea necesario, pero aquí en Cuba, donde las conexiones aún son en su mayoría por módem, y generalmente se envía un paquete a cada máquina, no es necesario. Necesario es para nosotros enviar y recibir los correos lo mas rápido posible, necesario es para nosotros entrar a gran velocidad a las páginas, necesario es poder bajar un archivo de música de un ftp sin tener que estar contando los minutos. Y no es que deshabilitándolo podamos bajarnos de ftp.sld.cu (el ftp de Infomed), un CD completo de Carlos Varela, pero un 20%, es un 20%.

Para los que quieran aprovechar este 20%, sólo tienen que escribir en ejecutar gpedit.msc, y una vez allí, dirigirse hacia esta dirección: Plantillas administrativas->Red->Programador de paquetes QoS.

Una vez allí, hacer doble clic en “Limitar ancho de banda reservado”.

Se nos aparecerá una ventana que en todo su conjunto hay tres opciones, por defecto estará marcada “No configurada”, lo que tenemos que hacer es habilitarla, y establecer el porciento de límite de ancho de banda a 0, luego aplicamos, aceptamos, y todo está hecho.

Vale aclarar que no configurar esta opción, o deshabilitarla, seguirá teniendo el mismo efecto que hasta el momento, es decir, no restaría el 20% de ancho de banda.

Otra vía de hacer esto es dirigiéndonos a Mostrar todas las conexiones, que está en el menú Inicio->Conectar a, y marcar la conexión que hayamos configurado, dentro de las propiedades de la misma, dirigirnos a la pestaña “Funciones de red”, allí nos aparecerá nuevamente el dichoso QoS, sólo que nos da solamente la opción de desinstalarlo, cosa que se puede deshacer desde ese mismo lugar.

Para saber más...

Continuar leyendo

El CD por fuera

Krlo

Se habla mucho de la estructura física de los Discos Compactos (o CD por sus siglas en inglés), pero poco se menciona la manera lógica en que se distribuye la información. En este trabajo pretendo introducir el tema, apoyándome en el sistema de ficheros más usado y extendido para trabajar con CD, el ISO 9660.

La información en un medio de almacenamiento es contralada y organizada por el Sistema de Ficheros (FS por sus siglas en inglés). Los más conocidos por todos son: FAT en todas sus variantes, NTFS, Ext 2, Ext 3 y HFS para Mac. Los CD se almacenan con la particularidad de que no se efectuarán futuras modificaciones en los datos, se quema el disco y no se guardan archivos nuevos o se modifican los existentes. En todo caso, el disco tendrá que ser quemado nuevamente pero ya sería otro sistema el que contiene. En otras palabras: los CD son READ-ONLY.

En 1986, las autoridades de normalización americanas ISO estandarizaron la propuesta de un sistema anterior, y publicaron la norma ISO 9660 (a partir de ahora solo ISO), que describe un FS para los CD. Este sistema de ficheros se diseñó para que fuera común a los ordenadores basados en plataformas MS-DOS, Microsoft Windows, Mac OS y UNIX.

Estructura

Un sistema de ficheros ISO divide el CD en Bloques Lógicos. Aunque el tamaño de los mismos puede variar, podemos asumir sin preocupaciones que un bloque lógico siempre constará de 2048 bytes (2Kb).

En los primeros 15 bloques puede aparecer información que nada tiene que ver con el estándar ISO, es usada por el Sistema Operativo(OS por sus siglas en inglés también, qué remedio) para sus propios fines. No olvidar que ISO especifica una estructura del disco para lograr compatibilidad entre diferentes SO, no es un programa o una implementación, es un patrón o modelo que debe cumplir la información del CD.

En el bloque 16 comienza una sucesión de Descriptores de Volumen que ayudan a describir la información y forma de trabajar con el disco. Cada Descriptor utiliza 2 Kb(un bloque de hecho), y se ubican uno detrás de otro. A continuación referimos la estructura general de un Descriptor, sus campos comunes.

El primer byte determina que tipo de Descriptor es, entre los posibles:
0: Boot Record.
1: Primary Volume Descriptor (PVD). Debe aparecer al menos una vez en la secuencia. El mismo se describirá detalladamente más adelante, por ser el más importante de todos.
2: Supplementary Volume Descriptor.
3: Volume Partition Descriptor.
4-254: son valores reservados.
255: Volume Descriptor Set Terminator. El Volume Descriptor Set Terminator (255) determina el fin de la secuencia de Descriptores.

EL PVD se encarga entre otras cosas de brindar el nombre del disco (31 caracteres a lo sumo, traten de quemar un disco con un nombre mayor), la cantidad de bloques que contiene el disco (recuerden que son de 2KB), para qué sirven los primeros 15 bloques del disco (si sirven para algo), ubicación del directorio raíz del disco (sin duda lo más importante), así como la ubicación y tamaño de la tabla de caminos. La tabla de caminos o Path Table se verá más adelante.

Toda carpeta y archivo del CD tiene una estructura llamada Directory Record, la misma es variable, no tiene tamaño fijo:

El campo Location of Extent representa la ubicación de la información del Record (no es más que el contenido del fichero o directorio en cuestión). Si el bit 1 es 0 entonces extend está la información del archivo, desde esa posición hasta los n bloques que especifíca el campo Data Length. En caso contrario es una secuencia de Directory Records hasta que especifique el Data Lentgth también.

La tabla de Caminos

La tabla de caminos brinda al Sistema Operativo (SO) acceso rápido a cada directorio en el disco, evitándole tener que recorrer cada directorio para llegar al archivo buscado. Por cada directorio distinto al raíz, la TC contiene un registro que lo describe.

Es mucho más rápido buscar en memoria la dirección en disco de /juegos/starcraft/victorias/, que ir a root, buscar su extent, luego localizar juegos, su extent, localizar starcraft,…

La mayoría de los SO hacen una copia de toda la Tabla de Caminos en memoria, para evitar continuadas lecturas a disco. Por esa razón en el PVD está la dirección de la misma y su tamaño para que sea reservado por el SO.

Restricciones

En cuanto al Nombre:
• Nivel 1: Los nombres de archivos cumplen el formato 8.3 de MS-DOS. La profundidad máxima de los directorios es 8.
• Nivel 2: Los nombres de archivos pueden llegar hasta 31 caracteres.
• Nivel 3: Archivos pueden ser fragmentados (para permitir la escritura por paquetes o grabación incremental.

Otras restricciones:
• Todos los niveles restringen a los nombres ha ser representados por caracteres en mayúsculas, números, underscores (_) y puntos. Linux convierte mayúsculas a minúsculas mientras monta sistemas de archivos ISO.
• Los nombres de archivos no pueden empezar o terminar con un punto.
• Los nombres de archivos no pueden tener más de un punto.
• Los directorios no pueden usar ningún punto.

En cuanto al límite de profundidad de los directorios:
Las restricciones en la longitud de los nombres y la profundidad de los directorios (hasta 8 niveles incluyendo el directorio raíz), han sido las más serias limitaciones de este sistema de archivos.

En cuanto al límite de memoria:
Normalmente, un archivo en un disco formateado con ISO no puede ser superior en tamaño a 231-1. La causa es que su tamaño se guarda en un campo de 32 bit, para el cual 231 -1 es el valor máximo.

En cuanto al limite de numero de directorios:
Existe otra, menos conocida limitante: recordemos la estructura con que ISO cuenta llamada “tabla de direcciones” o “path table”. Por cada archivo la tabla brinda un identificador de su directorio padre. El problema llega cuando nos enteramos que el identificador es de 16-bit, lo que restringe a 65 535 el numero de carpetas. Algunos SO como Windows usan esta estrategia, y otros como Linux no. Si un disco ISO consiste en mas de 65 535 carpetas, será leído en Linux pero en un ambiente Windows todos los ficheros de los directorios adicionales serán visibles, pero vacios (longitud cero).

Conclusiones

Existen extensiones a ISO como Joliet(Windows) y Rock Ridge(UNIX) para quitarnos estas restricciones de arriba, y hacer más potables los CD. Espero que ahora cuando quieran quemar un disco en Nero sepan de que va lo de ISO+Joliet, o los niveles en el tamaño de nombres. Un disco con Joliet es posible trabajarlo desde Linux, pero uno de Rock Ridge no estoy seguro de que sea compatible con Windows.

A modo de curiosidad, el formato UDF es un sistema de archivos con estándar ISO 9660 que utiliza las grabadoras de CD/DVD como un dispositivo de almacenamiento lógico (como los discos duros), este formato permite leer, escribir o modificar los archivos contenidos en discos CD/DVD re escribibles (RW) del mismo modo que se hace en el disco duro, memorias USB o disquete; igual permite la característica de arrastrar y soltar; estas propiedades solo se pueden usar en las grabadoras de CD/DVD no en las lectoras. El único inconveniente es que no aprovecha todo el disco, uno de 700mb te los deja en 550.

Para saber más...

Continuar leyendo

¿Quién domina Internet? (I)

ZorphDark

Los grandes inventores y soñadores que nos antecedieron en la historia de la humanidad jamás pudieron imaginar que en la segunda mitad del vigésimo siglo se desatara un fenómeno sin precedentes. Las ocho letras que pasaron a conformar su nombre integraron los resultados del trabajo de miles de científicos e investigadores que contribuyeron a su concepción y desarrollo. Internet ha traído consigo grandes progresos, novedosos medios de comunicación, un modo de pensar y de hacer las cosas con mayor eficiencia y, sobre todo, ha formado una nueva cultura que junto al ciberespacio se encuentra en constante evolución.

Pero hay un detalle de esta poderosa estructura que nos sorprende a todos: Internet no existe como una entidad independiente, no pertenece a ningún gobierno, a ninguna organización, por lo que carece de un centro de control. Es algo asombroso, pero su arquitectura impide que sea de otra forma. Su funcionamiento se basa en la interconexión de miles de redes que se encuentran distribuidas a lo largo de nuestro planeta.

Entonces, ¿quién domina Internet? Para poder responder esta incógnita es necesario hacer un poco de historia.

Sus inicios…

Aunque surgió como resultado de un programa estratégico llevado a cabo por la Agencia de Proyectos de Investigación Avanzados (ARPA) del Departamento de Defensa de los Estados Unidos, en la actualidad Internet no se asemeja mucho a la concepción inicial de sus creadores.

En medio de la guerra fría, los norteamericanos, en su paranoico temor de convertirse en el escenario de un conflicto bélico, iniciaron ese proyecto de consecuencias impredecibles en aquellos años. Bajo la dirección de J.C.R. Licklider, el objetivo preliminar de la futura red sería constituir un sistema descentralizado de transmisión de datos, donde las estaciones tuviesen autonomía propia y pudieran conectarse entre sí por diferentes vías. De este modo, en caso de guerra, la destrucción de varios puntos de conexión no afectaría a los demás y se mantendría en funcionamiento la red.

Pero desde el 2 de septiembre de 1969, día en que se instaló el primer conmutador de paquetes en la Universidad de California y nació ARPAnet, esta red se utilizó fundamentalmente con fines investigativos y no militares. En aquellos tiempos sólo gozaban del privilegio de conexión las universidades donde trabajaban los científicos e ingenieros estrechamente vinculados a este proyecto. La transmisión de información digital sobre líneas dedicadas de alta velocidad entre nodos ubicados a grandes distancias era una novedad muy codiciada. Para tener una idea de esto, en diciembre de 1969, tres meses después de su surgimiento, sólo 4 supercomputadoras de un costo millonario constituían ARPAnet.

El tráfico de datos en aquel entonces estaba bajo el estricto control del personal que trabajaba en su desarrollo. El uso que se le daba a esta red estaba claramente definido y supervisado, debido a que las normas y protocolos que regían el transporte de datos eran bastante exigentes. Los nodos eran administrados por personas experimentadas y el acceso a las computadoras con conexión era muy limitado. En 1971 existían ya 14 puntos a todo lo largo de Estados Unidos y uno en las islas Hawai.

¿Seguridad en las redes?

A medida que se expandía este novedoso fenómeno y más personas tenían acceso a las redes de área amplia, comenzaban a surgir varios problemas. Uno de ellos y el más importante era el de concebir medidas de seguridad efectivas, que impidieran fundamentalmente el acceso a la información restringida. Luego de la creación e implementación del NCP (Network Control Protocol o Protocolo de Control de Red) en los nodos de ARPAnet, los usuarios podían desarrollar aplicaciones de red. Esto significaba un gran avance, pero también podía ser empleado con fines contraproducentes, lo que agravaba la situación anterior.

Al integrarse el correo electrónico -desarrollado por Ray Tomlinson en 1972- como un servicio de red, el procesamiento de datos dejó de ser lo único que se realizaba en las redes de larga distancia. Ahora los investigadores estaban usando ARPAnet para intercambiar información y colaborar en sus proyectos. Los responsables de controlar el tráfico de datos por la red muchas veces se enfadaban cuando ésta se utilizaba para discutir sobre asuntos personales, pero realmente muy poco podían hacer. La dificultad surgía a la hora de cuestionar qué era importante y que dejaba de serlo en el envío de notas y mensajes particulares. El problema se intensificó cuando poco después surgieron los mailing lists (listas de correos) y los newsgroups (grupos de noticias), que permitían a un gran número de usuarios intercambiar información acerca de un tema en específico. En ellos se podía hablar desde libros, música o ciencia-ficción hasta asuntos exclusivos de adultos. A medida que el número de servidores, personas y escritos era más formidable, se hacía más difícil e incluso imposible registrar e inspeccionar todo lo que se transfería por los sistemas de comunicación digital.

Internetting

A principios de la década de 1970, con la proliferación de diversos tipos de red, como las de transmisión de paquetes por satélite o por radio, se hizo indispensable la concepción de un modelo estándar para poder interconectarlas. Hasta ese momento, el único modo de enlazar redes distintas era mediante la conmutación de circuitos, que permitía intercambiar bits sincrónicamente a lo largo de un circuito que unía ambos extremos. Pero la idea de una red de arquitectura abierta, que enlazara un grupo de redes individuales, diseñadas y desarrolladas de acuerdo con los requerimientos específicos de sus usuarios, hizo a Robert Kahn ampliar las fronteras de sus ingenios. Cautivado con el propósito de interconectar ARPAnet con PRNET (Packet Radio Network o Red de Paquetes de Radio) de la Universidad de Hawai y con SATNET (Satellital Network o Red Satelital), le pidió a Vinton Cerf que trabajara con él en el diseño de un nuevo protocolo. Como resultado surgieron el TCP (Transmission Control Protocol o Protocolo de Control de Transmisión), que se dedicaba al control de flujo y la recuperación de paquetes perdidos y el IP (Internet Protocol o Protocolo de Internet), encargado de direccionar y reenviar los paquetes. Ambos formaron el conjunto TCP/IP, que fue presentado oficialmente en una conferencia del INWG (International Network Working Group o Grupo Internacional de Trabajo sobre Redes) en la Universidad de Sussex en septiembre de 1973.

Mediante la adopción del TCP/IP por las redes existentes y por las que iban surgiendo poco a poco, comenzaba a hacerse realidad el revolucionario concepto Internetting (“entre redes”). Cerf y Kahn demostraron sólidamente las posibilidades que brindaba la interconexión de distintos tipos de redes a nivel internacional en el año 1978. Cinco años después, tras la estandarización global del TCP/IP, comenzó a acelerarse el incremento del número de servidores, por lo que hubo que reestructurar el diseño y algoritmo de enrutamiento de los gateways o puertas de acceso a redes que utilizan diferentes protocolos. Consiguientemente, se dificultó la comprensión de los rotulados y direcciones de los nodos de Internet. En ese mismo año, 1983, Paul Mockapetris y otros colegas desarrollaron el DNS (Domain Name System o Sistema de Nombre de Dominios). Este cómodo servicio se instauró al año siguiente, permitiendo memorizar las direcciones de los servidores en forma literal en vez de las complicadas rutas IP y asignar nombres de dominios para identificar la categoría de la red (.com, .org, .edu, .net, .mil, .gov).

Para saber más...

Continuar leyendo

lunes, 14 de mayo de 2007

15 Mitos sobre Linux

Alien

Si uno busca en la red, puede encontrar muchos documentos en los cuales gente conocedora hace una comparación objetiva entre Linux y Windows (tanto en servidores como en estaciones de trabajo). En muchos de los documentos se exponen puntos válidos y vigentes en contra de Linux, pero en muchos otros sólo se perpetúan algunos mitos acerca de este sistema operativo.

Algunas personas conocieron a Linux en los tiempos del viejo Red-Hat 6.0 y debido a esto todavía creen en ellos. Algunos de estos mitos son:

1. Si uso Linux me quedaré aislado del resto.
Esto es tan falso como los romances de Michael Jackson (con mujeres). Se ha hecho un gran esfuerzo en integrar a Linux a los ambientes corporativos multiplataformas y los resultados son muy satisfactorios. Los sistemas con Linux pueden integrase a un dominio Windows y hacer uso de los recursos compartidos. Se pueden editar archivos de Word y Excel en Linux e imprimirlos en la impresora del XP y viceversa. También se puede revisar Hotmail y usar el Messenger y ICQ en un equipo Linux. De igual manera los PDF y todos los tipos de archivos de imagen, video y audio están soportados, todo sin problemas.

2. Linux no está estandarizado.
De todo los mitos, quizás este es el más infundado. Linux es la plataforma que más busca sujetarse a los estándares. Existen estándares para todo, desde aquellos que definen como se debe comportar un manejador de ventanas hasta el formato de las hojas de cálculo y los desarrolladores de linux son muy respetuosos de apegarse a todas estas reglas.

3. Sólo un experto programador puede instalar y usar Linux.
Otro mito infundado. Cualquier persona puede ser un usuario eficiente de Linux. Si su empresa compra un equipo con Linux pre-instalado, usted encenderá el equipo, usará el quemador, leerá sus emails, imprimirá sus documentos, escuchará música, navegará por Internet y al final de día apagará la computadora e irá a casa (Linux es famoso por su gran estabilidad ). Todo ello sin saber una jota de programación.

4. Linux está bien como juego, pero no para algo serio.
Me gustaría saber qué opina el ICBC, (el banco más grande de China con fondos que superan los 640 mil millones de dólares y que usa Linux como plataforma). Asímismo, me gustaría saber qué opina Google, Amazon.com, las automotrices Ford y VolksWagen, la fabricante de aeronaves de la comunidad europea Airbus y los astronautas de la estación orbital (en la cual se usa Linux extensivamente) sobre la opinión de que Linux es un "juego". De cualquer manera es un juego que todos quieren jugar: más de 38 mil millones de dólares en ganancias al año y sigue creciendo.

5. Linux no genera empleos.
"Al no haber facturación por licencias, Linux daña la economía de los países, pues no hay impuestos para el gobierno ni hay empresas que pueden crear empleos". En realidad lo que está haciendo Linux es impulsar el desarrollo tecnológico (y la calidad de vida) de los países del tercer mundo: al no haber pago por licencias, las empresas de tecnología (incluso las pequeñas) pueden cobrar por los servicios de soporte, personalización y desarollo. Si antes las empresas latinoamericanas sólo aspiraban a quedarse con una pequeña fracción del precio de la licencia, ahora pueden pelear por una rebanada más grande del pastel ofreciendo software libre y su experiencia. Hay más trabajo para los programadores locales.
Si los antiguos administradores de Windows sólo sabían apretar una bonita secuencia de botones sin entender lo que pasaba, ahora en Buenos Aires, Santiago y México se están desarrollando verdaderas secciones de código en C o Java a un nivel de complejidad e innovación que hace apenas cinco años era impensable. Eso tiene un mayor impacto en la economía: Brasil e India (dos grandes entusiastas de Linux) se están convirtiendo en los exportadores de software de sus respectivas regiones. Por supuesto que Linux daña la economía, pero no de los países, sino la de una empresa de Redmond, en Washington, USA. ;-) .

6. Linux es feo.
Linux ha cambiado mucho, sobre todo en los tres últimos años. Hasta la versión 7.2 de Mandrake, que salió al público a mediados del 2000, Linux o más precisamente, sus escritorios principales, KDE y Gnome, adolecieron de un desarrollo gráfico que fuera al mismo ritmo que su desarrollo técnico. No todo era culpa de los escritorios, un aspecto fundamental del ambiente gráfico, el desplegado de las fuentes, lo realiza el Xserver, y su implementación no era la mejor. Todo eso cambio al inicio del 2001 con el nuevo KDE y las mejoras al Xserver. Note que estoy hablando del 2001, de esto hace cuatro años. Actualmente Linux posee uno de los entornos gráficos más atractivos de la industria (más atractivo que el de Windows y sólo superado por el MacOSX de Apple). El ambiente gráfico de Linux es también, y por mucho, el más flexible y personalizable. Con frecuencia diseño páginas usando CSS y es una sorpresa para mí ver que en Windows las fuentes pierden definición mientras en Linux se ven nítidas.
Pero todo tiene un precio: Linux se dio a conocer en 1994 como el SO más rápido del mundo, lo que era cierto. Esa rapidez, lógicamente, se ha perdido con los escritorios corporativos. No obstante, aún existen los hacker's desktops como Windowmaker, Fluxbox o FVWM, que son entornos funcionales y visualmente atractivos.

7. En Linux no hay aplicaciones.
Aunque hubo el día en que esto era cierto, ahora no pasa de ser un mito. Linux está lleno de programas maduros y totalmente funcionales:
1. K3B y Nautilus queman CD's y DVD's sin problemas.
2. Koffice, GnomeOffice y OpenOffice.org son suites de oficina llenas de funciones avanzadas y dotadas de herramientas de integración.
3. Gnomeeting es compatible con Microsoft NetMeeting si deseamos usar nuestra cámara Web.
4. Gimp es uno de los mejores editores bitmap y retoque fotográfico del mundo.
5. Konqueror, Mozilla, Mozilla-Firefox, Epiphany, y Galeon son excelentes navegadores, inmunes al código malicioso de algunos sitios.
6. Kontact y Evolution manejan nuestra agenda e información personal.
7. Eclipse, Netbeans y Kdevelop son herramientas gráficas de programación similares a VisualStudio.
8. Linux está lleno de reproductores multimedia como Mplayer o Xine con el que podemos ver todos los tipos de películas.
9. Con Quanta y Screem se crean fácilmente páginas Web.
10. Con Gaim y Kopete tenemos mensajería instantánea.
11. Usando KmyMoney2, Gnucash o Facturalux, manejamos nuestras finanzas personales o las de una empresa.
Sólo existen dos grupos de programas que actualmente no pueden encontrase muy desarrollados en Linux: juegos y diseño en vectores. Sin embargo, Quake, Doom y Wolfenstein están disponibles para linux e Inkscape es un buen editor de imágenes vectoriales.

8. Linux es gratis y por tanto, lo que se haga en él no se puede cobrar.
Doblemente Falso. Linux no es gratis, que no se deba gastar en la licencia no significa que no habrá otros costos, como la capacitación y el tiempo en investigación de soluciones. El costo Total de Propiedad o TOC por sus siglas en inglés, suma los costos totales por implementar y sostener un sistema operativo. En términos generales, Linux es un 30% más barato que Windows, y ese porcentaje de ahorro aumenta año con año, pero eso no significa que Linux no requiera inversión.
Por otro lado, la licencia GPL no prohíbe cobrar por lo que se haga en Linux, de hecho, en la facturas se cobra por la instalación, configuración y en su caso, programación de software libre.

9. Linux es difícil de manejar.
Repita tres veces conmigo “Ningún sistema operativo es fácil de usar”. Tres anécdotas para el caso:
  1. Una vez arreglé una computadora para un pequeño despacho. Como suelo hacer en estos casos, primero respaldé todo el disco duro, luego lo formateé y reinstalé el SO con los programas (todos los usuarios de Windows saben a lo que me refiero, pues lo deben hacer cada año, quiéranlo o no). Al final copié las carpetas de regreso, comprobé que todo funcionaba y regresé el equipo. Tres horas después, un iracundo arquitecto me reclamaba que todos sus archivos se habían perdido, que yo los había borrado y que todos eran importantísimos. Fui muy preocupado a verlo, pues me gusta ser serio en mi trabajo. Al llegar me explicaron: “todo se había perdido” según ellos, porqué la carpeta “Proyectos” del “papel tapiz” no estaba. En realidad la carpeta en C:/Mis documentos/Proyectos no tenía un acceso directo al escritorio y como no estaba allí, pues no existía. Alguien había hecho ese acceso directo años atrás y era la única manera que conocían para llegar a ellos, además de los archivos recientes del menú “File” de Excel. En esa misma empresa había una secretaria que se jactaba de usar la muy avanzada tecla Tab para dar formato a los documentos de Word en lugar de dar muchos espacios.
  2. Luego de una acalorada discusión, le aposté a un colega una comida si era capaz de encontrar, en el piso donde trabajábamos, tres personas que supiesen cambiar el IRQ de su mouse. Vale la pena mencionar el hecho de que el piso era de un banco, donde trabajaban más de cincuenta graduados universitarios. Ese día comí gratis.
  3. Hace cosa de un mes, una vecina vino a pedirme de favor si podía descargar e imprimir un documento Word que le habían enviado por hotmail, en ese momento yo estaba usando KDE. Ella abrió Mozilla, entró a hotmail, al descargar el archivo, Mozilla sugirió OpenOffice.org ella dijo OK, el archivo sólo era de dos hojas, cambio unos títulos y las palabras que el corrector ortográfico le marcó, dio un clíck en imprimir, redactó la respuesta en hotmail, se puso de pié para marcharse con su impresión, en la puerta me dijo “que raro Windows”, luego me dio las gracias y se marchó. Ella había usado Linux sin siquiera darse cuenta. Por supuesto, todo salió bien porque el quipo estaba correctamente configurado, como si fuese un equipo OEM de fábrica.
No es que Linux sea difícil y Windows fácil, lo que pasa es que nosotros somos la primera generación de usuarios y lo que encontramos fue Windows. Si hubiese sido MacOS, NeXT u OS/2 hubiésemos aprendido a batallar con eso, pero en realidad Windows o Linux poseen el mismo grado de dificultad.

10. En el software libre no hay innovación
La mejor innovación que han hecho los sistemas abiertos es el mismo Internet: el protocolo TCP/IP, que le da vida a la red, fue desarrollado por el equipo BSD de Berkeley y fue liberado bajo la BSD License, mientras el deficiente protocolo NetBeui ha sido abandonado. También fue en el software libre donde se dió la primer CLI (Common Lenguaje Interface) que fue Jython, años antes que el tardió .NET de Microsoft. Los Weblogs también son una innovación libre. El respaldo distribuido de información y sistemas de monitoreo de redes están también entre las muchas innovaciones libres.

11. Todo mundo puede ver el código de los programas libres y por eso son inseguros.
En realidad, pasa todo lo contrario. Existen dos tipos de esquemas de seguridad: la tipo plaza pública en la cual todo mundo puede ver los detalles de un programa y cuando encuentra una falla avisa a todo mundo y la tipo torre de marfil donde sólo un reducido grupo puede ver el programa y cuando encuentra una falla no avisa a nadie. Al ser revisados por muchas personas y hacer públicas las fallas, es difícil que una error grave no sea detectado en un programa de software libre. En los programas torre de marfil, en cambio, las fallas pasan desapercibidas por el pequeño grupo y cuando la encuentran no avisan. En todo caso, y quizás esto es más grave, la respuesta de los programas torre de marfil es muy lenta, arreglar un grave fallo de seguridad puede tardar meses sin que los usuarios estén conscientes del peligro que corren, como ya ha pasado en varias ocasiones con Windows 2000 y XP. En la plaza pública, al ser dada a conocer una vulnerabilidad, uno puede decidir continuar con ese programa o reemplazarlo por otro que cumpla la misma función. En la torre de marfil uno no tiene esa libertad.

12. El software libre es comunista.
No hay ninguna razón por la cual desarrollar software libre vaya en contra de las reglas del mercado. De hecho, el software libre se ha revelado como un modelo de negocios novedoso y que reporta miles de millones de dólares cada año. IBM, SUN, Computer Associates y Novell son empresas que han descubierto en el SL una manera de abrir el mercado ahí donde estaba copado y han dado nuevos bríos e innovaciones a la industria. Linus Torvald quizás no sea tan rico como Bill Gates, pero ciertamente su fortuna se calcula en millones de dólares y tengo serias dudas de que esté planeando donarlos a la revolución cubana.

13. No hay virus en Linux porque poca gente lo usa.
Durante décadas, Unix fue el único sistema operativo que estaba disponible, su cuota de mercado era del 99%. Durante todo ese tiempo nunca hubo un virus. Los virus aprecieron al sumar Windows + Internet. Hay quienes dicen que Windows no es un sistema operativo verdadero, sino un "gestionador promiscuo de memoria y ejecutables". Cuando una archivo llega a Linux (por Internet o porque se copia de un CD) no puede ejecutarse porque no posee permisos y, aunque los tuviese, no puede activar ningún servicio porque no es dueño del demonio que lo ejecuta. Esto revela un sistema operativo maduro y bien diseñado. Existen otros peligros para Linux como los troyanos o algún exploit, pero por cada uno de ellos hay miles de virus. Concluyendo: en Linux (como en todos los Unix) nunca habrá virus.

14. En linux no hay soporte.
Este mito ha sido despedazado por el último reporte de ganancias trimestrales de IBM: 27.700 millones de dólares (casi el triple que Microsoft). La mayoría de este dinero proviene de servicios y soporte para Linux. EL software libre ha revolucionado el mercado: ya no se venden licencias, se venden las consultorías y el know how. Ésto ha beneficiado a las empresas pequeñas de cada país, que pueden competir dando soporte a Linux a precios muy razonables. De esta manera el dinero que se iba al norte por el estéril pago de licencias, se queda en cada país por pago de servicios.

15. Linux no le quita mercado a Windows, sino a Unix.
Si bien es cierto que Linux ha jubilado a AIX de IBM y Solaris de SUN, lo cierto es que muchas migraciones Unix->Windows se han visto canceladas en beneficio de las nuevas Unix->Linux. El modesto crecimiento de los servidores con Windows Server 2003 durante los dos útimos años es debido a que Linux se ha convertido en la gran opción de muchas empresas que gustan de Unix pero lo encontraban muy costoso. Las únicas razones por las cuales la gente sigue instalando servidores con Windows es por pereza o por ignorancia.

Continuar leyendo

Los 10 mandamientos del Hacker

Alien

Casi seguro estoy de que la mayoría de ustedes tendrá una idea de a qué me referiré con sólo leer el título, pero lamento decirles que están equivocados. Con este artículo sólo pretendo ajustar los famosos 10 mandamientos a nuestra era y más aún, a nuestro país.

Particularmente yo he leído varios artículos que hablan sobre el tema, pero todos tienen dos cosas en común:

1. Son viejos.
2. No son cubanos.

Muchos de ustedes quizás también se han leído estos famosos 10 mandamientos, pero para los que no han tenido la oportunidad, aquí les van:

LOS DIEZ MANDAMIENTOS DEL HACKER:
1. Nunca destroces nada intencionalmente en la Computadora que estés crackeando.
2. Modifica solo los archivos que hagan falta para evitar tu detección y asegurar tu acceso futuro al sistema.
3. Nunca dejes tu dirección real, tu nombre o tu teléfono en ningún sistema.
4. Ten cuidado a quien le pasas información. A ser posible no pases nada a nadie que no conozcas su voz, número de teléfono y nombre real.
5. Nunca dejes tus datos reales en un BBS, si no conoces al sysop, déjale un mensaje con una lista de gente que pueda responder de ti.
6. Nunca hackees en computadoras del gobierno. El gobierno puede permitirse gastar fondos en buscarte mientras que las universidades y las empresas particulares no.
7. No uses BlueBox a menos que no tengas un servicio local o un 0610 al que conectarte. Si se abusa de la bluebox, puedes ser cazado.
8. No dejes en ningún BBS mucha información del sistema que estas crackeando. Di sencillamente "estoy trabajando en un UNIX o en un COSMOS...." pero no digas a quien pertenece ni el teléfono.
9. No te preocupes en preguntar, nadie te contestara, piensa que por responderte a una pregunta, pueden cazarte a ti, al que te contesta o a ambos.
10. Punto final. Puedes pasearte todo lo que quieras por la WEB, y mil cosas mas, pero hasta que no estés realmente hackeando, no sabrás lo que es.

La mayoría de estos mandamientos (para no ser absoluto), fueron escritos fuera de nuestro país y en una época en la que quizás contar con un teclado inteligente, un televisor Caribe y guardar los juegos en casettes de música, eran privilegios de los “escapados”. Como pueden apreciar, quizás hay muchos que se ajustan a nuestra sociedad, a nuestro tiempo, pero otros como el 7 (por solo citar un ejemplo), son simplemente historia para recordar.

Con este artículo no quiero ser yo quien dicte cuáles serán los nuevos mandamientos cubanos para los actuales y futuros hacker. No me creo con el conocimiento suficiente como para eso, pero sí les propongo una reflexión, reflexión que dé como conclusión la de crear unos nuevos 10 mandamientos que sean completamente compatibles con la realidad objetiva de Cuba, donde actualmente la gran totalidad de las personas interesadas en estos asuntos del hacking carecen de una conexión, y los que la tienen, estoy casi seguro que un gran porciento es de Infomed. Les propongo crear unos nuevos 10 mandamientos para un país donde el acceso a la web (la de verdad), es muy limitado, y se ve amenazado constantemente por más limitaciones. 10 mandamientos para donde los que tienen la mayor conexión, es usando módems de 56 Kb/s.

Se que quizás muchos de los que en estos momentos están leyendo este artículo no tienen ni la más mínima idea de qué nuevos mandamientos se deberían poner, pero los que saben a qué me refiero, les hago saber que tienen de este lado del teclado un oído en el que puedan descargar todas sus sugerencias...

Continuar leyendo

UUencode

ZorphDark

Cuando queremos enviar un programa o un clip de video a través del correo electrónico y el servidor SMTP nos devuelve la noticia de que es imposible la entrega, debido a restricciones en las políticas de seguridad de la red, acudimos al envío punto a punto utilizando el HyperTerminal de Windows. Lamentablemente, la alternativa falla cuando no tenemos un módem o una línea telefónica disponible. Pero no vale la pena enojarse con nuestro prehistórico sistema de telecomunicaciones, ya que hace varias décadas -por cuestiones tecnológicas, y no de caprichos- se habían presentado situaciones similares. El problema de enviar archivos binarios a través de un protocolo diseñado para la transferencia de textos, se resolvió desarrollando un eficiente algoritmo de conversión de binarios a texto ASCII y viceversa. Nos referimos al UUencode y el UUdecode, respectivamente.

Las molestias ocasionadas por los filtros de nuestros servidores pueden acabarse, gracias al empleo de estas herramientas. Con sólo convertir, por ejemplo, una imagen a texto, podríamos enviarla sin problemas en el cuerpo de nuestro mensaje sin que del lado de allá descubran fácilmente a qué nos dedicamos. Claro que, si empleamos algún método de encriptación sencilla como ROT13, seguramente les pondríamos un poco más difícil el hurgar.

Debido a la ventaja que supone este método, tanto por la infraestructura de comunicación nacional, como por el hecho de tener que ejercitar la mente al abrir la consola de comandos de Microsoft Windows (o de alguna que otra distribución de GNU/Linux), a partir del próximo número se distribuirán todos los ejecutables por esta vía. En la carpeta de programas les enviamos dos pequeños archivos: UUencode.com y UUdecode.com. Este último se utilizará para decodificar el texto publicado en archivos binarios. Pero antes de entrar en detalles, explicaremos cómo funciona el método de codificación.

El UUencode emplea un algoritmo que transforma el código binario en texto ASCII. Normalmente es leído por herramientas de compresión como el WinRAR, WinZIP o WinACE, pero si se abre con un editor de texto, podremos ver que comienza con la línea:

begin <mode> <file>

Donde <mode> indica en octales los permisos de lectura, escritura y ejecución, y <file> muestra la cadena de texto con que se nombrará al archivo binario tras el proceso de decodificación.

El cuerpo del contenido ASCII se divide en subgrupos de 3 bytes, agregando ceros si tienen un tamaño menor de 24 bits. Cada uno de estos grupos está dividido en seis secciones compuestas por los caracteres 32 a 95 de la tabla ASCII. Algunos caracteres ubicados por encima de este rango pueden ser utilizados, pero sólo serán relevantes sus primeros seis bits a la derecha. Cada grupo de 60 caracteres es mostrado en líneas independientes, precedidas por el caracter ASCII 77 (M), excepto la última línea de información. Bajo ésta, se genera el caracter ASCII 96 (`) y, a continuación, la cadena de texto end que indica el final del archivo.

Prácticamente, todos los sistemas operativos actuales se basan en el estándar ASCII, por lo que no debe surgir ningún problema durante el proceso de codificación-decodificación. Pues llevemos a la práctica lo aprendido mediante un ejemplo bien sencillo. A continuación se muestra el nuevo logotipo de la revista, con un formato PNG, cuya paleta de colores adaptativa está reducida a 31 colores para minimizar el tamaño del archivo a alrededor de 1.95 Kb:

begin 644 logo.png
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
;LORX>%;^`_[Z$N;-7)G``````$E%3D2N0F""
`
end

Como se puede apreciar, la conversión ha incrementado el tamaño final en un considerable porciento. Esto es un poco incómodo si queremos ganar en espacio, pero en cuanto a sencillez, se puede decir que vale la pena. Ahora sólo resta copiar todo el código en un editor de texto plano y guardarlo en un archivo, preferentemente de extensión UUE. Luego se debe ejecutar el UUdecode.com y teclear su ruta completa. Es aconsejable ubicar el archivo en la misma carpeta donde se encuentra este programa, para sólo tener que escribir el nombre del archivo. Si queremos sobreescribir un fichero con el mismo nombre del que estamos decodificando, debemos introducir el parámetro -o antes de la ruta; sino, se mostrará un mensaje de error.

Para codificar archivos binarios el procedimiento es muy similar. Sólo basta escribir la ruta y el nombre del fichero para que se genere una copia codificada con extensión UUE de forma predeterminada.

Esto es todo lo básico que se puede explicar acerca de estas herramientas. Esperamos que con un poco de práctica puedan, sin dificultad, convertir todos los programas que publicaremos dentro de la sección "Códigos" en lo adelante.

Continuar leyendo