12/30/2010


Explicamos cómo instalar GNU Linux Debian 5 en un equipo con Microsoft Windows 7. Mostramos cómo crear y preparar una máquina virtual en VMware Workstation. Como sistema operativo base usamos VMware sobre Microsoft Windows 7.


 

Descarga de la imagen ISO de Debian y preparación de máquina virtual en VMware

En primer lugar descargaremos la imagen ISO de Debian 5, para ello abriremos un navegador web com Mozilla Firefox e introduciremos la URL:

http://cdimage.debian.org/debian-cd/5.0.7
Seleccionaremos la carpeta del tipo de procesador y arquitectura del equipo, en nuestro caso "i386", a continuación selecionaremos el soporte, en nuestro caso "iso-dvd" y pulsaremos en "debian-507-i386-DVD-1.iso" para iniciar la descarga (de 4,4GB):
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Tras la descarga abriremos VMware Workstation (también válido para VMware Server) y pulsaremos en "New Virtual Machine":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Marcaremos "Custom (advanced)" y pulsaremos "Next":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
En "Hardware compatibility" seleccionaremos "Workstation 6.5-7.0", pulsaremos "Next":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Marcaremos "Installer disc image file (iso)" y pulsaremos en "Browse":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Seleccionaremos el fichero ISO descargado:
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
El asistente de creación de una nueva máquina virtual nos detectará el sistema operativo contenido en el fichero ISO ("Debian 5 detected"), pulsaremos "Next":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Introduciremos el nombre descriptivo de la máquina virtual (en "Virtual machine name"), en nuestro caso "Debian 5" y la ubicación (unidad y carpeta donde se crearán los ficheros de la máquina virtual). Pulsaremos "Next":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Seleccionaremos el número de procesadores y el número de cores (núcleos) que se dedicarán a la máquina virtual:
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Seleccionaremos la memoria RAM que dedicaremos a la máquina virtual, en nuestro caso 620 MB:
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Seleccionaremos el tipo de dispositivo de red, en nuestro caso "Use bridged networking":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Marcaremos el tipo de adaptador de entrada salida, en nuestro caso "LSI Logic":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Marcaremos "Create a new virtual disk" y pulsaremos "Next":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Seleccionaremos el tipo de disco duro, en nuestro caso SCSI:
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
En "Maximum disk size (GB)" introduciremos la capacidad para el disco duro de la máquina virtual, en nuestro caso 20 GB. Marcaremos "Store virtual disk as a single file" y desmarcaremos la opción "Allocate all disk space now":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Introduciremos el nombre del fichero para el disco duro virtual, en nuestro caso "Debian 5.vmdk" y la ubicación de éste, si no se especifica se creará en la carpeta de la máquina virtual (especificada anteriormente):
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
Por último, en asistente de New Virtual Machine nos mostrará las opciones seleccionadas, podremos personalizar el hardware pulsando en "Customize Hardware" o podremos finalizar la creación de la máquina virtual. En nuestro caso marcaremos "Power on this virtual machine after creation" y pulsaremos "Finish":
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware
De esta forma se creará definitivamente la máquina virtual para GNU Linux Debian y se iniciará:
AjpdSoft Descarga de la imagen ISO de Debian y preparación de 
máquina virtual en VMware

 

Instalar GNU Linux Debian 5

Tras la creación de la máquina virtual en VMware, la iniciaremos, se iniciará el instalador de GNU Linux Debian, seleccionaremos "Graphical install"y pulsaremos INTRO:
AjpdSoft Instalar GNU Linux Debian 5
Seleccionaremos el idioma para el asistente de instalación y pulsaremos "Continue":
AjpdSoft Instalar GNU Linux Debian 5
Seleccionaremos el idioma del teclado, pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
Introduciremos el nombre del equipo en la red (hostname), por ejemplo "pcubuntu":
AjpdSoft Instalar GNU Linux Debian 5
Introduciremos el nombre del dominio o grupo de trabajo, si el equipo no va a partenercer a un dominio y es un PC doméstico introduciremos un nombre de dominio cualquiera, por ejemplo "ajpdsoft":
AjpdSoft Instalar GNU Linux Debian 5
Seleccionaremos la ubización (zona horaria):
AjpdSoft Instalar GNU Linux Debian 5
A continuación seleccionaremos el método para el particionado de discos, puesto es es una máquina virtual y sólo tenemos un disco duro y queremos usarlo completo seleccionaremos "Manual" y pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
A continuación seleccionaremos "Particionamiento guiado" y pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
Seleccionaremos "Guiado - utilizar todo el disco":
AjpdSoft Instalar GNU Linux Debian 5
Seleccionaremos el disco duro donde se instalará GNU Linux Debian 5, en nuestro caso "SCSI1 (0,0,0) (sda) - 21,5GB VMware, VMware Virtual S":
AjpdSoft Instalar GNU Linux Debian 5
A continuación podremos elegir una de las siguientes opciones:
  • Todos los ficheros en una partición (recomendado para novatos).
  • Separar la partición /home.
  • Separar particiones /home, /usr, /var y /tmp.
Seleccionaremos el método de particionado que deseemos, en nuestro caso "Separar la partición /home" y pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
El asistente de particionado de discos nos mostrará cómo quedará el disco duro, si es correcto marcaremos "Finalizar el particionado y escribir los cambios en el disco". Pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
Nos avisará de que una vez realizados los cambios en el disco duro y el particionado se perderá toda la información que pudiera contener, por lo que procederemos sólo si estamos seguros. Marcaremos "Sí" y pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
Se iniciará el particionado y la instalación del sistema base GNU Linux Debian:
AjpdSoft Instalar GNU Linux Debian 5
A continuación introduciremos la contraseña para el superusuario root:
AjpdSoft Instalar GNU Linux Debian 5
Introduciremos el nombre completo (nombre y apellidos) de un usuario que creará el asistente de instalación:
AjpdSoft Instalar GNU Linux Debian 5
A continuación introduciremos el nick (nombre de usuario) para el inicio de sesión:
AjpdSoft Instalar GNU Linux Debian 5
Introduciremos la contraseña de este usuario que será creado por el asistente y con el que podremos iniciar sesión en Debian:
AjpdSoft Instalar GNU Linux Debian 5
A continuación nos dará la posibilidad de introducir otro DVD si hemos descargado el resto de DVDs de Debian, no son necesarios para el arranque del sistema, contienen paquetes y software que se puede instalar en otro momento. Marcaremos "No" y pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
Marcaremos "No" también en la opción de configurar el gestor de paquetes mediante la red:
AjpdSoft Instalar GNU Linux Debian 5
Marcaremos "No" en la opción de popularity-contest:
AjpdSoft Instalar GNU Linux Debian 5
A continuación podremos instalar algunas colecciones predefinidas de programas como:
  • Entorno de escritorio.
  • Servidor de web.
  • Servidor de impresoras.
  • Servidor DNS.
  • Servidor de ficheros.
  • Servidor de correo.
  • Base de datos SQL.
  • Ordenador portátil.
  • Sistema estándar.
En nuestro caso seleccionaremos "Entorno de escritorio" y "Sistema estándar":
AjpdSoft Instalar GNU Linux Debian 5
Se iniciará la copia de programas y demás para concluir con la instalación de GNU Linux Debian:
AjpdSoft Instalar GNU Linux Debian 5
Marcaremos "Sí" para instalar el cargador de arranque GRUB en el disco duro. Puesto que sólo tenemos el sistema operativo que estamos instalando y sólo tenemos un disco duro no habrá problemas:
AjpdSoft Instalar GNU Linux Debian 5
Tras la instalación de GNU Linux Debian, el asistente nos mostrará la siguiente ventana indicando que el proceso de instalación de Debian ha concluido. Pulsaremos "Continuar":
AjpdSoft Instalar GNU Linux Debian 5
Se reiniciará el equipo por primera vez, por defecto aparecerá seleccionada la opción "Debian GNU/Linux, kernel 2.6.26-2-686", pulsaremos INTRO para arrancar con esta opción:
AjpdSoft Instalar GNU Linux Debian 5
Una vez cargado el modo gráfico de GNU/Linux Debian introduciremos el nombre de usuario y pulsaremos INTRO:
AjpdSoft Instalar GNU Linux Debian 5
Introduciremos la contraseña y pulsaremos INTRO:
AjpdSoft Instalar GNU Linux Debian 5
Y ya tendremos instalado y perfectamente operativo un equipo virtual con GNU Linux Debian 5 como sistema operativo:
AjpdSoft Instalar GNU Linux Debian 5

Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

12/29/2010


Explicamos cómo instalar el navegador web gratuito de Google: Google Chrome en GNU Linux Ubuntu 10.04 desde la línea de comandos con el comando linux apt-get. Explicamos cómo traducir Google Chrome al español en GNU Linux Ubuntu 10.04. Mostramos cómo instalar Google Chrome desde el modo gráfico de GNU Linux Ubuntu 10.04.



Instalar Google Chrome en GNU Linux Ubuntu desde ventana de Terminal

Abriremos una ventana de terminal en nuestro equipo con GNU Linux Ubuntu, para ello pulsaremos Control + Alt + T (o desde el menú "Aplicaciones" - "Accesorios" - "Terminal".
En primer lugar añadiremos dos fuentes al fichero /etc/apt/sources.list, para ello lo editaremos con nano, con el siguiente comando linux:

sudo nano /etc/apt/sources.list
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Añadiremos al final del archivo las siguientes líneas:

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
A continuación agregaremos las llaves a los repositorios, es como una especie de validación que algunos repositorios necesitan, para ello ejecutaremos el siguiente comando linux:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xfbef0d696de1c72ba5a835fe5a9bf3bb4e5e17b5

(todo en una misma línea)
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Actualizaremos el repositorio con el comando linux:

sudo aptitude update
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Y, por fin, instalaremos Google Chrome en GNU Linux Ubuntu, con el comando linux:

sudo apt-get install chromium-browser
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Si todo es correcto, desde "Aplicaciones" - "Internet" - "Navegador web Chromium" podremos abrirlo:
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Por defecto, al descargarlo e instalarlo de esta forma, nos aparecerá en inglés, para traducir Google Chrome al castellano ejecutaremos el siguiente comando linux:

sudo apt-get install chromium-browser-l10n
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu

 

Instalar Google Chrome en GNU Linux Ubuntu desde el modo gráfico

Abriremos, desde nuestro equipo con GNU Linux Ubuntu, el navegador web Mozilla Firefox, introduciremos la URL:

http://www.google.com/chrome?hl=es
De forma automática, el sitio web de Google Chrome detectará nuestro sistema operativo y nos mostrará la descarga de esta navegador para Linux, pulsaremos en el botón "Descargar Google Chrome":
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Seleccionaremos el paquete de descarga, en nuestro caso, puesto que tenemos GNU Linux Ubuntu de 32 bits, seleccionaremos ".deb de 32 bits (para Debian/Ubuntu)" y pulsaremos "Aceptar e instalar":
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Seleccionaremos "Abrir con... Instalar de paquetes GDebi (predeterminada)" y pulsaremos "Aceptar":
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Nos mostrará la información sobre el paquete: google-chrome-stable (The web browser from Google, Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier). Pulsaremos "Instalar el paquete":
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Deberemos introducir la contraseña del usuario actual, por seguridad:
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Se iniciará la descarga e instalación del paquete google-chrome-stable mediante la aplicación gdebi-gtk:
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Una vez finalizada la instalación, gdebi-gtk nos mostrará un mensaje indicando "Instalación finalizada. Se ha instalado el paquete "google-chrome-stable_current_i386.deb". Pulsaremos en "Cerrar":
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu
Y ya tendremos instalado y disponible Google Chrome, que podremos abrir desde "Aplicaciones" - "Internet" - "Navegador web Chromium":
AjpdSoft Cómo instalar el navegador web Google Chrome en GNU Linux 
Ubuntu


Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

12/12/2010


La ubicación de los archivos temporales de Outlook 2007 en Windows 7 es:

C:\Users\nombre_usuario\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook\RUUFW7W6

La última subcarpeta RUUFW7W6 puede variar.

12/08/2010


Descarga gratuita (freeware) del código fuente (source code) 100% open source, desarrollado con Borland (ahora Codegear) Delphi 6 de la aplicación AjpdSoft Chat UDP: aplicación desarrollada como ejemplo de envío y recepción de mensajes de texto mediante el protocolo UDP. Esta aplicación servirá de ejmplo para desarrolladores de cómo usar el protocolo UDP para comunicaciones entre equipos en una red LAN o a través de Internet. Usa los componentes gratuitos OverByte ICS.
Enviar y recibir datos mediante el protocolo UDP con Borland Delphi
 6



Explicamos cómo enviar y recibir datos mediante el protocolo UDP con Borland Delphi 6. Mostramos en este artículo cómo usar el protocolo UDP (User Datagram Protocol) para enviar y recibir datos. Para ello usamos el componente gratuito OverByte ICS para Delphi. Explicamos el funcionamiento y cómo se hizo AjpdSoft Chat UDP.


 

Protocolo UDP User Datagram Protocol

UDP (User Datagram Protocol) es un protocolo del nivel de transporte basado en el intercambio de datagramas. Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.
En la familia de protocolos de Internet UDP proporciona una sencilla interfaz entre la capa de red y la capa de aplicación. UDP no otorga garantías para la entrega de sus mensajes y el origen UDP no retiene estados de los mensajes UDP que han sido enviados a la red. UDP sólo añade multiplexado de aplicación y suma de verificación de la cabecera y la carga útil. Cualquier tipo de garantías para la transmisión de la información deben ser implementadas en capas superiores
La cabecera UDP consta de 4 campos de los cuales 2 son opcionales. Los campos de los puertos fuente y destino son campos de 16 bits que identifican el proceso de origen y recepción. Ya que UDP carece de un servidor de estado y el origen UDP no solicita respuestas, el puerto origen es opcional. En caso de no ser utilizado, el puerto origen debe ser puesto a cero. A los campos del puerto destino le sigue un campo obligatorio que indica el tamaño en bytes del datagrama UDP incluidos los datos. El valor mínimo es de 8 bytes. El campo de la cabecera restante es una suma de comprobación de 16 bits que abarca la cabecera, los datos y una pseudo-cabecera con las IP origen y destino, el protocolo, la longitud del datagrama y 0's hasta completar un múltiplo de 16, pero no los datos. El checksum también es opcional, aunque generalmente se utiliza en la práctica.

Enviar datos usando el protocolo UDP y Borland Delphi, AjpdSoft Chat UDP

Instalar componente gratuito OverByte ICS en Delphi

Para el caso de Borland Delphi 6 descargaremos OverByte ICS versión 5.0 (Download ICS-V5 Distribution (Sep 12, 2009)).

http://www.overbyte.be/frame_index.html
Una vez descargado el ficheo "OverbyteIcsV5.zip", lo descomprimiremos y copiaremos el contenido de la carpeta "Delphi/Vc32":
AjpdSoft Instalar componente gratuito OverByte ICS en Delphi
Y lo pegaremos en la carpeta Lib de la instalación de Delphi:

AjpdSoft Instalar componente gratuito OverByte ICS en Delphi
Abriremos Delphi 6, accederemos al menú "File" - "Open":

AjpdSoft Instalar componente gratuito OverByte ICS en Delphi
Seleccionaremos el fichero "IcsDelphi60.dpk" de la carpeta "Lib" de Delphi:

AjpdSoft Instalar componente gratuito OverByte ICS en Delphi
Pulsaremos el botón "Install" en la ventana de Package de IcsDel60.dpk:

AjpdSoft Instalar componente gratuito OverByte ICS en Delphi
Si todo es correcto mostrará una ventana como la siguiente:

AjpdSoft Instalar componente gratuito OverByte ICS en Delphi

Con el texto:


---------------------------
Information
---------------------------
Package c:archivos de programaborlanddelphi6ProjectsBplIcsDel60.bpl has been installed.
The following new component(s) have been registered: DnsQuery.TDnsQuery, EmulVT.TEmulVT, FingCli.TFingerCli, FtpCli.TFtpClient, FtpSrv.TFtpServer, HttpProt.THttpCli, HttpSrv.THttpServer, IcsLogger.TIcsLogger, MbxFile.TMbxHandler, MimeDec.TMimeDecode, NntpCli.THtmlNntpCli, NntpCli.TNntpCli, Ping.TPing, Pop3Prot.TPop3Cli, Pop3Prot.TSyncPop3Cli, SmtpProt.THtmlSmtpCli, SmtpProt.TSmtpCli, SmtpProt.TSyncSmtpCli, TnCnx.TTnCnx, TnEmulVT.TTnEmulVT, TnScript.TTnScript, Wait.TWait, WSocket.TWSocket, WSocketS.TWSocketServer, WSocketTS.TWSocketThrdServer.
---------------------------
OK
---------------------------
Nota: a veces hay que copiar el contenido de la subcarpeta ZOBJ123 de la carpeta Vc32 a la carpeta Lib de Borland Delphi.

 

Crear aplicación Chat UDP en Delphi con OverByte ICS, AjpdSoft Chat UDP

Abriremos Borland Delphi, crearemos un nuevo proyecto ("File" - "New" - "Application"), en el formlulario principal añadiremos los siguientes componentes:
  • Un TEdit llamado "txtIPDestinatario": para que el usuario introduzca la IP o el nombre de red (hostname) des destinatario de la conexión de chat.
  • Un TEdit llamado "txtPuerto": para que el usuario introduzca el puerto con el que se establecerá la conexión UDP.
  • Un TEdit llamado "txtNick": para que el usuario introduzca su nick (para diferenciar el propietario de los mensajes).
  • Un TButton llamado "bActivarLeer": botón para activar la lectura de los mensajes que llegen por el puerto indicado mediante el protocolo UDP.
  • Un TButton llamado "bPararLeer": detiene la lectura del puerto indicado, no llegarán mensajes.
  • Un TButton llamado "bEnviar": botón para enviar el texto introducido al destinatario indicado.
  • Un TMemo llamado "txtChat": cuadro de texto donde irán apareciendo los mensajes enviados y recibidos.
  • Un TMemo llamado "txtTexto": texto del mensaje que se enviará al destinatario mediante el protocolo UDP y el puerto indicado.
  • Un TWSocket llamado "wSocketEnviar": componente OverByte ICS para envío y recepción de datos mediante Socket (admite protocolos tcp, udp, etc.), éste será usado para enviar el mensaje.
  • Un TWSocket llamado "wSocketLeer": componente OverByte ICS para envío y recepción de datos mediante Socket (admite protocolos tcp, udp, etc.), éste será usado para leer los mensajes.
AjpdSoft Crear aplicación Chat UDP en Delphi con OverByte ICS, 
AjpdSoft Chat UDP
A continuación mostramos el código fuente (source code) en Borland Delphi 6 (válido para otras versiones) de la aplicación completa, de las funciones, de los botones y los eventos de los componentes WSocket:

unit UnidadMenuPrincipal;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls, shellapi,
  WSocket, WinSock, ComCtrls;

type
  TformMenuPrincipal = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    txtIPDestinatario: TEdit;
    txtPuerto: TEdit;
    txtChat: TMemo;
    txtTexto: TMemo;
    LWEB: TLabel;
    bEnviar: TButton;
    wSocketEnviar: TWSocket;
    wSocketLeer: TWSocket;
    be: TStatusBar;
    bActivarLeer: TButton;
    bPararLeer: TButton;
    txtNick: TEdit;
    Label3: TLabel;
    procedure LWEBClick(Sender: TObject);
    procedure bEnviarClick(Sender: TObject);
    procedure wSocketEnviarDataSent(Sender: TObject; ErrCode: Word);
    procedure wSocketLeerDataAvailable(
        Sender: TObject; ErrCode: Word);
    procedure wSocketLeerSessionConnected(
        Sender: TObject; ErrCode: Word);
    procedure wSocketLeerSessionClosed(
        Sender: TObject; ErrCode: Word);
    procedure bActivarLeerClick(Sender: TObject);
    procedure bPararLeerClick(Sender: TObject);
    procedure wSocketEnviarError(Sender: TObject);
    procedure wSocketEnviarSessionConnected(Sender: TObject;
      ErrCode: Word);
  private
    { Private declarations }
    FSenderAddr    : TInAddr;
  public
    { Public declarations }
  end;

var
  formMenuPrincipal: TformMenuPrincipal;

implementation

{$R *.dfm}

function atoi(value : string) : Integer;
var
  i : Integer;
begin
  Result := 0;
  i := 1;
  while (i <= Length(Value)) and (Value[i] = ' ') do
    i := i + 1;
  while (i <= Length(Value)) and (Value[i] in ['0'..'9']) do
  begin
    Result := Result * 10 + ord(Value[i]) - ord('0');
    i := i + 1;
  end;
end;


procedure TformMenuPrincipal.LWEBClick(Sender: TObject);
begin
  ShellExecute(Handle, Nil, PChar('http://www.ajpdsoft.com'),
      Nil, Nil, SW_SHOWNORMAL);
end;

procedure TformMenuPrincipal.bEnviarClick(Sender: TObject);
begin
  wSocketEnviar.Proto := 'udp';
  wSocketEnviar.Addr := txtIPDestinatario.Text;
  wSocketEnviar.Port := txtPuerto.Text;
  //wSocketEnviar.LocalPort := txtPuerto.Text;
  wSocketEnviar.Connect;
  wSocketEnviar.SendStr('[' + txtNick.Text + '] ' + txtTexto.Text);
end;

procedure TformMenuPrincipal.wSocketEnviarDataSent(Sender: TObject;
  ErrCode: Word);
begin
  be.Panels[0].Text := 'Enviando datos';
  wSocketEnviar.Close;
end;

procedure TformMenuPrincipal.wSocketLeerDataAvailable(
    Sender: TObject; ErrCode: Word);
var
    Buffer : array [0..1023] of char;
    Len    : Integer;
    Src    : TSockAddrIn;
    SrcLen : Integer;
begin
  be.Panels[0].Text := 'Leyendo datos';
  SrcLen := SizeOf(Src);
  Len := wSocketLeer.ReceiveFrom(@Buffer,
      SizeOf(Buffer), Src, SrcLen);
  if Len >= 0 then
  begin
    if (FSenderAddr.S_addr = INADDR_ANY) or
        (FSenderAddr.S_addr = Src.Sin_addr.S_addr) then
    begin
      Buffer[Len] := #0;
      txtChat.Text := txtChat.Text + chr(13) + chr(10) +
           IntToStr(atoi(txtChat.Text) + 1) +
          '  ' + StrPas(inet_ntoa(Src.sin_addr)) +
          ':'  + IntToStr(ntohs(Src.sin_port)) +
          '--> ' + StrPas(Buffer);
   end;
 end;
end;

procedure TformMenuPrincipal.wSocketLeerSessionConnected(
    Sender: TObject; ErrCode: Word);
begin
  bActivarLeer.Enabled := false;
  bPararLeer.Enabled := true;
  be.Panels[0].Text := 'Conectado (lectura)';
end;

procedure TformMenuPrincipal.wSocketLeerSessionClosed(
    Sender: TObject; ErrCode: Word);
begin
  bActivarLeer.Enabled := True;
  bPararLeer.Enabled := false;
  be.Panels[0].Text := 'Desconectado (lectura)';
end;

procedure TformMenuPrincipal.bActivarLeerClick(
    Sender: TObject);
begin
  FSenderAddr := WSocketResolveHost('0.0.0.0');
  if FSenderAddr.S_addr = htonl(INADDR_LOOPBACK) then
    FSenderAddr := WSocketResolveHost(LocalHostName);
  wSocketLeer.Proto := 'udp';
  wSocketLeer.Addr := '0.0.0.0';
  wSocketLeer.Port := txtPuerto.Text;
  wSocketLeer.Listen;
end;


procedure TformMenuPrincipal.bPararLeerClick(Sender: TObject);
begin
  bActivarLeer.Enabled := true;
  bPararLeer.Enabled := false;
  wSocketEnviar.Close;
end;

procedure TformMenuPrincipal.wSocketEnviarError(
    Sender: TObject);
begin
  be.Panels[0].Text := 'Error en envío';
end;

procedure TformMenuPrincipal.wSocketEnviarSessionConnected(
    Sender: TObject; ErrCode: Word);
begin
  be.Panels[0].Text := 'Conectado';
end;

end.

Aplicación AjpdSoft Chat UDP en funcionamiento, apertura de puerto en Router o Firewall

En primer lugar, si tenemos un router o un cortafuegos en nuestra red deberemo abrir o mapear el puerto elegido para el protocolo UDP, en el siguiente artículo explicamos cómo mapear o redireccionar un puerto a un equipo de nuestra red en un router:
Abriremos la aplicación AjpdSoft Chat UDP en el primer equipo, introduciremos en "IP destinatario" la IP o hostname del equipo de destino (al que enviaremos los mensajes UDP), en "Puerto" introduciremos el puerto que usaremos para la comunicación, en "Nick" introduciremos el nombre de usuario. Introduciremos estos datos y pulsaremos "Activar leer":
AjpdSoft AjpdSoft Chat UDP
En otro equipo, realizaremos la misma operación, abriremos AjpdSoft Chat UDP, introduciremos la IP del destinatario (la IP o hostname del equipo anterior), el mismo puerto, el nombre de usuario y pulsaremos "Activar Leer":
AjpdSoft AjpdSoft Chat UDP
Para enviar mensajes entre equipos será suficiente con escribir el texto del mensaje (en el cuadro de texto de la parte inferior y pulsar el botón "Enviar".
Si todo es correcto, la aplicación destino recibirá el mensaje y lo mostrará en el cuadro de texto, mostrará la IP origen, el puerto usado, el nick del emisor y el mensaje:
AjpdSoft AjpdSoft Chat UDP


Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

12/06/2010


Código fuente (source code) en Borland Delphi 6 (válido para otras versiones) 100% gratuito (freeware) de la aplicación AjpdSoft Ping Visual: realiza un ping a una URL, Host ó IP determinada. Permite indicar el número de intentos de Ping a realizar. Muestra en dos gráficas (de forma visual) el resultado (tiempo de respuesta) de cada ping realizado. En otra gráfica muestra el valor de respuesta máximo, mínimo y la media. En un cuadro de texto va mostrando el resultado del ping realizado (se puede copiar al portapapeles).

12/05/2010


Explicamos qué son los metadatos, cómo se pueden ver o consultar, los distintos tipos de archivos que pueden contener metadatos (PNG, PDF, DOC, JPEG, ...) y publicamos una aplicación desarrollada en Delphi que lee los metadatos del los archivos de imagen PNG. También publicamos otra aplicación gratuita con código fuente que obtiene la miniatura (thumbnail) de las imágenes JPEG.




Definición de metadatos

Los metadatos en informática son datos adicionales almacenados en un fichero. Estos datos suelen definir más en profundidad algunas características de un fichero. Por ejemplo, un pdf de Acrobat contiene la información propia (imágenes y texto) y puede contener información adicional que no se ve directamente en forma de metadatos como: título del documento, asunto, autor, cargo del autor, descripción, autor de la descripción, palabras clave, estado de copyright, aviso de copyright, URL de la información sobre copyright, etc.
El uso de los metadatos más frecuente es para mejorar la velocidad y rendimiento de las búsquedas, pues los buscadores pueden buscar previamente en los metadatos antes de hacerlo en todo el contenido del fichero. Usando informaciones adicionales los resultados son más precisos, y el usuario se ahorra filtraciones manuales complementarias.
Otro de los usos de los metadatos es facilitar el flujo de trabajo convirtiendo datos automáticamente de un formato a otro. Para eso es necesario que los metadatos describan el contenido y la estructura de los datos.
Algunos metadatos hacen posible una compresión de datos más eficaz. Por ejemplo, si en un vídeo el software sabe distinguir el primer plano del fondo puede usar algoritmos de compresión diferentes y así mejorar la cuota de compresión.

 

Estándar para música y vídeos: ID3, AjpdSoft Modificar ID3 MP3

En algunos casos se han definido estándares para metadatos, como es el caso del ID3 que es usado para incluir metadatos (etiquetas) en un archivo contenedor audiovisual, tales como álbum, título o artista. Se utiliza principalmente en ficheros sonoros como MP3.
El etiquetado de ficheros audiovisuales es imprescindible para su catalogación. La clasificación mediante carpetas y nombres de fichero es insuficiente para grandes colecciones ya que solamente facilita un único criterio de búsqueda.
Mediante el etiquetado es posible organizar una colección mediante múltiples criterios. Permite una búsqueda más rápida y sencilla de aquellos archivos que se desean.
A continuación mostramos una aplicación desarrollada en Delphi (con código fuente o source code incluido) completa y gratuita que obtiene los metadatos de un fichero MP3 usando el estándar ID3:
En este truco se muestra cómo obtener los ID3TAG de un fichero MP3 con Delphi:
Y esta otra aplicación que permite modificar las etiquetas ID3 de uno o varios ficheros MP3 a la vez:
AjpdSoft Modificar ID3 MP3

Estándares para imágenes: Exif, IPTC, XMP

A continuación indicamos algunos de los estándares más conocidos para guardar metadatos en las imágenes:
  • Exif: Exchangeable image file format es una especificación para formatos de archivos de imagen usado por las cámaras digitales. Fue creado por la Japan Electronic Industry Development Association (JEIDA). La especificación usa los formatos de archivos existentes como JPEG, TIFF y RIFF, el formato de archivo de audio WAVE, a los que se agrega tags específicos de metadatos. No está soportado en JPEG 2000 o PNG.
  • IPTC: es un estándar desarrollado en la década de 1970 por el Consejo de la Prensa Internacional de Telecomunicaciones. Fue desarrollado inicialmente como un estándar para el intercambio de información entre las organizaciones de noticias y ha evolucionado con el tiempo. Alrededor de 1994, Adobe Photoshop "File Info" habilitó un formulario para que los usuarios pudieran insertar y editar los metadatos de IPTC en archivos de imagen digital. Posteriormente fue aprobado por las agencias de fotografía, convirtíéndose en un estándar válido para almacenar metadatos en ficheros de imágenes.
  • XMP: es un nuevo estándar basado en XML, desarrollado por Adobe en 2001. Adobe trabaja con el IPTC para incorporar la antigua "encabezados IPTC" en el nuevo marco de XMP y en 2005 el "esquema básico de IPTC XMP" pliego de condiciones fue puesto en libertad. XMP es un código abierto, estándar público, por lo que es más fácil para los desarrolladores a adoptar la especificación en software de terceros. metadatos XMP se puede añadir a muchos tipos de archivos, pero para imágenes gráficas en general se almacenan en archivos JPEG y TIFF.

 

Cómo consultar los metadatos de los ficheros PNG, DOC, PDF, XLS, JPEG, AVI

En sistemas operativos Microsoft Windows

En el caso de Microsoft Windows 7, para consultar los metadatos de un fichero png, doc, xls, jgeg, etc., es suficiente con abrir el Explorador de Windows, seleccionaremos el fichero, pulsaremos el botón derecho del ratón y seleccionaremos "Propiedades":
AjpdSoft Cómo consultar los metadatos de los ficheros PNG, DOC, 
PDF, XLS, JPEG
En la pestaña "Detalles" de la ventana de Propiedades del fichero podremos ver los metadatos adicionales: título, asunto, clasificación, etiquetas, comentarios, autores, fecha de captura, nombre del programa, fecha de adquisición, copyright, etc. Podremos editar muchos de estos metadatos directamente:
AjpdSoft Cómo consultar los metadatos de los ficheros PNG, DOC, 
PDF, XLS, JPEG
Si queremos eliminar todos los metadatos de un fichero, en la ventana anterior pulsaremos en "Quitar propiedades e información personal", en la ventana que aparecerá de "Quitar propiedades" marcaremos "Quitar las siguientes propiedades de este archivo" y seleccionaremos todas o las que deseeemos eliminar:
AjpdSoft Cómo consultar los metadatos de los ficheros PNG, DOC, 
PDF, XLS, JPEG
En el caso de ficheros PDF, para consultar los metadatos, tendremos que instalar Adobe Acrobat Reader.
Para el caso de Microsoft Windows XP:
AjpdSoft Cómo consultar los metadatos de los ficheros PNG, DOC, 
PDF, XLS, JPEG

 

Consultar metadatos de ficheros en GNU Linux Ubuntu

Para el caso del sistema operativo GNU Linux, deberemos instalar alguna aplicación que nos permita consultar los metadatos de los ficheros. Por ejemplo, para consultar metadatos de ficheros de imagen, vídeo, audio, etc. podremos instalar hachoir-metadata. Para instalarlo, en el caso de GNU Linux Ubuntu 10, abriremos una ventana de terminal y ejecutaremos el comando Linux:

sudo apt-get install python-hachoir-metadata
Una vez instalado, para consultar los metadatos de un fichero, será suficiente con escribir el comando:

hachoir ruta_nombre_fichero
Por ejemplo:

hachoir /home/ajpdsoft/captura_ajpdsoft.png
Devolverá algo así:
Metadata:
- Image width: 448 pixels
- Image height: 336 pixels
- Bits/pixel: 24
- Pixel format: YCbCr
- Compression rate: 18.0x
- Compression: JPEG (Baseline)
- Comment: JPEG quality: 86% (approximate)
- Format version: JFIF 1.02
- MIME type: image/jpeg
- Endian: Big endian



AjpdSoft Leer metadatos PNG

AjpdSoft Leer metadatos PNG es una aplicación 100% open source, desarrollada en Borland Delphi 6, gratuita (freeware) que obtiene y muestra los metadatos almacenados en el fichero de imagen PNG (Portable Network Graphics) seleccionado. La aplicación obtiene todos los metadatos de tipo EXt y también permite obtener su valor.
AjpdSoft Leer metadatos PNG

AjpdSoft Modificar ID3 MP3

AjpdSoft Modificar ID3 MP3 es una aplicación 100% open source, desarrollada en Borland Delphi 6, gratuita (freeware) que permite modificar los ID3 Tag de los ficheros MP3 seleccionados. Admite selección de múltiples ficheros MP3. Permite modificar el album, artista, género, comentario, año y pista. Admite las versiones 1.0 y 1.1:
AjpdSoft Modificar ID3 MP3

AjpdSoft Extraer y eliminar miniatura JPG

AjpdSoft Extraer y eliminar miniatura JPG es una aplicación es una aplicación 100% open source, desarrollada en Borland Delphi 6, gratuita (freeware) que extrae la miniatura (thumbnail) de una imagen JPG ó JPEG, si la tiene. Permite guardar la miniatura (thumbnail) de una imagen JPG en un fichero. Por seguridad y por preservar la privacidad, también por ahorrar espacio, es recomendable eliminar la miniatura (thumbnail) que algunas aplicaciones incluyen en los metadatos EXIF de los ficheros JPG o JPEG. AjpdSoft Extraer y eliminar miniatura JPG también permite eliminar esta miniatura.
Seleccionando el fichero de imagen JPG en "Fichero de imagen JPEG", la aplicación mostrará la vista previa de la imagen (a la izquierda) y la vista previa de la miniatura de la imagen (si existe) a la derecha. Si existe miniatura en la imagen JPG, podremos eliminarla pulsando el botón "Eliminar miniatura":
AjpdSoft Extraer y eliminar miniatura JPG
Antes de eliminarla, la aplicación nos indicará que se creará un nuevo fichero JPG sin la miniatura y se dejará el fichero JPG actual intacto para evitar pérdidas de información:
AjpdSoft Extraer y eliminar miniatura JPG
Seleccionaremos el destino de la imagen JPG sin miniatura (thumbnail):
AjpdSoft Extraer y eliminar miniatura JPG
Si abrimos el fichero guardado anteriormente sin la miniatura (thumbnail) veremos que ya no aparece:
AjpdSoft Extraer y eliminar miniatura JPG
La aplicación también permite guardar la miniatura o thumbnail del fichero JPG en un fichero también JPG, pulsando el botón "Guardar miniatura".

 

Los metadatos pueden ser peligrosos para la confidencialidad de los datos

Tras mostrar las posibilidades de los metadatos en los distintos tipos de ficheros que permiten albergarlos queda claro que pueden ser muy útiles para catalogar ficheros de forma automática y para una mejor y más rápida búsqueda de información. Pero también queda claro que los metadatos pueden ser peligrosos para la confidencialidad de los datos, imagenemos, por ejemplo, que hemos realizado una fotografía muy personal con una cámara digital, una vez descargada esta foto en el PC, la retocamos con algún software de retoque fotográfico para quitar la parte que no queremos mostrar, la subimos a algún sitio público o la enviamos a algunos amigos. Si el software de retoque no es muy bueno, habrá dejado la miniatura (thumbnail) de la imagen original sin retocar, con lo cual cualquiera, usando una software como AjpdSoft Extraer y eliminar miniatura JPG podrá ver la imagen original.
Siempre que vayamos a publicar o compartir ficheros que puedan contener metadatos (doc, xls, pdf, jpg, png, avi, mpeg, mp3, mp4, etc.) es muy recomendable verificar que los metadatos que contienen no son datos confidenciales. Para ello pueden usarse distintas aplicaciones, como las que hemos mostrado en este artículo:
Por supuesto, existen aplicaciones profesionales en el mercado que permiten consultar y eliminar o modificar los metadatos de los ficheros.
Hay que tener mucha precaución con las fotos obtenidas con cámaras digitales, pues estas suelen incluer metadatos en los ficheros de imagen JPG obtenidos tales como el modelo de la cámara, la fecha de realización de la foto, la miniatura de la imagen original, etc. También con los ficheros de tipo Word (doc, docx) o Excel (xls, xlsx) pues estas aplicaciones ofimáticas suelen guardar el autor del documento como un metadato sin que el usuario se percate de ello.
Por lo tanto, los metadatos bien usados pueden ser muy útiles para catalogar los ficheros pero con desconocimiento pueden ser muy peligrosos para nuestra confidencialidad.


 

Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

Código fuente (source code) en Borland Delphi 6 (válido para otras versiones) 100% gratuito (freeware) de la aplicación AjpdSoft Traceroute: realiza una traza de la URL o Hostname indicados. Permite indicar el número máximo de saltos, el número de intentos por salto, el tiempo de espera, el tamaño del paquete, etc. AjpdSoft Traceroute obtiene los caminos realizados para llegar a una URL. También permite obtener la IP (Lookup) de la URL indicada. El resultado de los caminos obtenidos (traza) puede guardarse en un fichero.