Informática


TCP/IP (Transmission Control Protocol Internet Protocol)


TCP/IP -Tema 1

APRENDIENDO UN POCO DEL TCP/IP
------------------------------

Bueno, este articulillo va a ser un poco mas complicado. Mas complicado para mí ya que precisamente no me explico todo lo bien que quisiera.

El objetivo que pretendo, es clarificar un poco sobre el TCP y aprender basicamente como con el TCP puedo convivir en un ordenador que esté conectado con dos adaltadores de red. Es decir por una parte a una red interna (intranet), mediante tarjeta de red, y a la vez esté conectado a internet via modem. Y ser posible referenciar y utilizar simultaneamente la intranet y el internet.

Este tema que parece una tontería no lo es tanto. Y el dia de mañana, cuando tengamos más de un PC en casa unidos mediante red, y a la vez uno de ellos por modem a internet, el evitarnos quebraderos de cabeza. Igualmente en esta situacion estará mucha gente en su trabajo. Intranet para la red corporativa e internet via modem.

Antes de entrar en detalles, es necesario entender unos pocos terminos.

INTRODUCCION
------------

1) DIRECCION IP
---------------

Bajo TCP/IP cada ordenador, debe tener una direccion unica en el mundo. Esta direccion viene especificada por 4 numeros, separados por puntos. Y cada uno de estos numeros puede ser de 0 a 255. Es decir, la direccion mas pequeña será:

0.0.0.0

y la maxima:

255.255.255.255

Un direccion normal, por ejemplo, es: 128.10.34.234 e identifica a un unico PC en el mundo.

Hay direcciones que por definicion, se consideran reservadas. Es decir te garantizan que no existen en internet y por tanto pueden utilizarse para una Intranet. Un ejemplo de estas direccion es la red "10". Es decir la 10.x.x.x. (por eso, infovia, que no es mas que una gigantesta intranet, lo utiliza). Otras reservadas son la: 169.x.x.x.

Esa direccion IP, debe existir para cada tarjeta de red (y la conexion telefonica es "otra" tarjeta de red) que existan en nuestro PC. Por tanto, si nuestro PC tiene una tarjeta de red interna y ademas una conexion telefonica, cuando estemos conectados a internet, tendremos DOS direcciones IP. Una para nuestra tarjeta interna de red y otra para la conexion telefonica.

Siempre mediante el comando WINIPCFG podemos ver la direccion que tenemos en CADA una de las tarjetas adaptadoras de red de nuestro PC.

Igualmente el comando:

ipconfig /all

nos dá una informacion mayor que el anterior. Este comando ocupa mas de una pantalla, por lo que lo mejor es darlo con:

ipconfig /all | more

2) MASCARA DE SUBRED
--------------------

Aunque este concepto no es tan basico, voy a intentar definirlo (pero de una manera MUY simplificada, y con terminologia de uso corriente, es decir, es más potente de lo que vamos a ver aquí). Se define como MASCARA, aquella direccion que enmascarando nuestra direccion IP, nos indica si otra direccion IP, pertenece a nuestra SUBRED o no.

Es decir, imaginemos que nuestra direccion IP es la 10.2.3.4 con mascara 255.255.0.0. Esto le indica al sistema, que todas las maquina 10.2.x.x pertenecen a nuestra subred y por tanto cualquier mensaje enviado a nuestra subred es "soltado" inmediatamente a la red, ya lo recogerá quien corresponda. Si está fuera de nuestra subred, el circuito de envio del mensaje es totalmente diferente.... y fuera del ambito de este articulo (por ahora).

3) SERVIDORES DE DIRECCIONES
----------------------------

Bueno, y la pregunta del millon ¿como obtenemos o asignamos una direccion IP? Existe evidentemente un problema: dos maquinas en el mundo en la misma red, no pueden tener la misma direccion IP (todo Internet es una UNICA red. INFOVIA es otra unica red entendida como intranet gigantesca).

Olvidemonos por ahora de Internet. Imaginemos que yo estoy en una Empresa con 100 PCs. Evidentemente como "administrador", yo tendría que asignar a cada PC una direccion unica y llevarlas apuntadas y tener cuidado que no haya dos duplicadas. Evidentemente muy engorroso y puedo cometer fallos.

Otra posibilidad, que tenga un "servidor de direcciones" DHCP es el sistema mas corriente. Es decir nuestro ordenador no tiene direccion IP, pero lo hemos configurado para que obtenga una mediante DHCP (todo esto se puede configurar en Panel de Control->Red). Entonces nuestro ordenador al encenderlo, busca un servidor DHCP en la red, y le pide un numero de direccion IP. El servidor se lo dá, y ya está. El propio servidor se encarga de que no haya IPs duplicadas. (Windows NT puede actuar como servidor DHCP, y linux, y Unix.....).

Ultima posibilidad -la más elegante-, pero solo aplicable a windows 98. Ento no es aplicable a win95. Windows 98 incorpora un mecanismo llamado "Autonet Configuration". Consiste en que sino tenemos direccion IP, y no existe servidor DHCP, el solo se "inventa" una direccion en ese momento. Evidentemente primero "busca" en nuestra intranet una direccion que no este ocupada. En este caso siempre busca una direccion del tipo 169.254.x.x (con mascara de tipo 255.255.0.0). Esta direccion como vimos al principio es una de las reservadas y de las que se garantiza que no existan en internet.

4) SERVIDORES DE NOMBRES (DNS)
------------------------------

Esto supongo que ya "sonará" más. El famoso DNS.

DNS = Domain Name Solver

Es decir el "resoluctor" de nombres. Cuando estamos en internet, nosotros tecleamos simplemente www.microsoft.com y nos conectamos al ordenador de microsoft. ¿como es posible, si en un mensaje TCP, tiene que ir la direccion, es decir los 4 numeritos de direccion?

Pues alguien lo tiene que resolver.

El TCP/IP sigue el siguiente orden:

a) Primero busca a ver si existe un fichero llamado HOSTS en nuestro directorio de windows. (ver un ejemplo que viene siempre en el fichero hosts.sam). En este fichero, tenemos asociadas direcciones a nombres (o podemos tener....)

b) Si el fichero HOSTS no existe o bien no contiene el nombre que buscamos, entonces se lo preguntará al DNS. El DNS resuelve el nombre y nos devuelve direccion y ahora ya nuestro TCP, sabe a que direccion debe ir.

4) GATEWAY
----------

Es la direccion de la maquina que nos va a dar salida a la red. (suponiendo que exista tal maquina). Evidentemente si tal maquina no existe, somos "nosotros" mismos, o sea nuestra propia maquina.

*********************************++

TABLAS DE RUTAS
---------------

Bien creo que con estos conceptos, ya podemos empezar un poco. Vamos a analizar primero como está nuestra maquina. Supongamos que tenemos una tarjeta de red y un modem. Supongamos tambien que *no* estamos conectados a internet.

Tal y como hemos visto antes, nuestra tarjeta de red, tendrá una direccion. Bien porque se la hemoss dado a mano, bien porque nos la ha dado un servidor DHCP. o bien porque windows 98 se la ha "inventado".

Tenemos el comando "winipcfg" para mirar la direccion. Igualmente (y yo lo utilizo mucho), el comando

route print

nos sacará una informacion similar a esta:

Network Address Netmask Gateway Address Interface Metric

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

169.254.0.0 255.255.0.0 169.254.1.15 169.254.1.15 1

169.254.1.15 255.255.255.255 127.0.0.1 127.0.0.1 1

169.254.255.255 255.255.255.255 169.254.1.15 169.254.1.15 1

224.0.0.0 224.0.0.0 169.254.1.15 169.254.1.15 1

255.255.255.255 255.255.255.255 169.254.1.15 0.0.0.0 1

Fijemonos que muestor PC en este cao tiene la direccion 169.254.1.15 (inventada por win98), y tambien debemos saber, que la direccion 127.0.0.1 tambien es siempre nuestro PC (es la llamada "localhost")

Esta tabla de rutas (que puede ser modificada y puede ser mucho mas complicada si tenemos varios adaptadores de red o bien tenemos abierta ademas una conexion telefonica), se lee de abajo a arriba. (y las direcciones que empiezen por 255 y 224 son reservadas y por tanto las ignoramos y las direcciones que terminene en 255 tambien estan reservadas).

Leyendola de abajo a arriba quiere decir:

a) Ignoramos la ultima, penultima y anterior. Ahora nos encontramos con 169.254.1.15 su mascara es 255.255.255.255 (es decir se refiere a esa SOLA direccion), y si gateway es el 127.0.0.1 es decir el "localhost" por tanto es la direccion de la propia maquina. Mejor dicho, la direccion de la tarjeta de red de nuestro PC. ESTO ES IMPORTANTISIMO.

b) Para las direcciones 169.254.0.0 mascara 255.255.0.0 es decir entonces para cualquier dirteccion del tipo 169.254.x.x el gateway es 169.254.1.15, es decir nuestra propia tarjeta de red. Por tanto, todo lo que enviemos a cualquiera de esas direcciones, saldrá por la tarjeta de red.

c) 127.0.0.0 es igual a "localhost".

d) No hay mas, por tanto cualquier otra direccion, nos dará inmediatamente un error de direccion o direccion no encontrada. Pero inmediatamente, sin llegar a salir de a la red.

** Veamos ahora un caso mass complicado. La misma maquina y ademas de la tarjeta de red, abrimos una comunicacion telefonica.

Network Address Netmask Gateway Address Interface Metric

0.0.0.0 0.0.0.0 195.232.3.129 195.232.3.129 1

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

169.254.0.0 255.255.0.0 169.254.1.15 169.254.1.15 2

169.254.1.15 255.255.255.255 127.0.0.1 127.0.0.1 1

169.254.255.255 255.255.255.255 169.254.1.15 169.254.1.15 1

195.232.3.0 255.255.255.0 195.232.3.129 195.232.3.129 1

195.232.3.129 255.255.255.255 127.0.0.1 127.0.0.1 1

195.232.3.255 255.255.255.255 195.232.3.129 195.232.3.129 1

224.0.0.0 224.0.0.0 195.232.3.129 195.232.3.129 1

224.0.0.0 224.0.0.0 169.254.1.15 169.254.1.15 1

255.255.255.255 255.255.255.255 195.232.3.129 195.232.3.129 1

Leamosla de abajo a arriba:

a) Ignoramos las 4 ultimas por el razonamiento anterior.

b) La primera significativa es la 195.232.3.129. Con mascara 255.255.255.255 apunta al localhost. Por tanto esta es la direccion que me acaba de asignar mi proveedor de internet a mi tarjeta de red (en este caso el modem). Tambien vemos que para los 255 PCs de la submascara de red permitidad, están disponibles directamente en mi subred (resto de PCs de mi subred que el proveedor me dejaria acceder inmediatamente sin salir a internet).

c) Luego, ascendiendo en la tabla de rutas nos encontramos con lo visto anteriormente. Pero con un detalle curioso. La metrica de los PCs de mi subred a traves de la tarjeta adaptadora es la "2". Por tanto, se acaban de "enumerar" los adaptadores de red. Primero el modem, y luego mi tarjeta de red. Esto es importante.

d) Y por fin vemos arriba del todo que para cualquier direccion (0.0.0.0) que no hayamos encontrado antes en la tabla de rutas e investigando primero por orden de las metricas correspondientes, mi gateway es mi direccion IP a traves del modem y por tanto saldré a la red a traves del modem.

*************************************************

Bueno como introduccion está bien....... y en un segundo articulo , terminamos de completar esto pequeños conocimientos basicos y ademas lo mas importante. Buscarle su utilidad.

TCP/IP -Tema 2

Recordando un poco la Parte 1 de este articulo, teoricamente ya tenemos los conceptos y las definiciones como para poder hacer alguna cosilla, y sobre todo que la terminologia del TCP nos suene.

OTROS CONCEPTOS QUE DEBEMOS CONOCER
-----------------------------------

Host: debemos ser conscientes que en TCP/IP todas las maquinas son hosts. Desde nuestro humilde PC hasta el mainframe mas gigantesco que exista.

Bien, sabemos ya lo que es una direccion IP. Pero existe otro concepto que muchas veces se maneja: un "puerto".

Un "puerto" no es nada más que un sitio al donde podemos ir via TCP en nuestro PC. Es un numero de 2 bytes, por tanto puede ser desde el 0 al 65535.

Pero para uqe vayamos a un puerto, y seamos capaces de hacer algo, "alguien" deberá estar en espera en ese puerto.

El TCP instalado en nuestor PC, se reserva para sí, los puertos 0 a 1023, y en muchos de ellos, coloca a ese "alguien" en espera. (no es otra cosa que un programa que "escucha" en dicho puerto.

Para que dos PCs hablen entre sí, hay que establecer un canal de comunicacion. Esto es lo que se llama un "SOCKET". Para establecer dicho canal (o dicho SOCKET), es necesario una direccion y puerto origen y una direccion y puerto destino. Es decir, esta combinacion de 2 direcciones y dos puertos es lo que se llama un socket. Evidentemente habá, un programa en nuestro PC que "escuche" y escriba en el purto de nuestro PC y otro programa en el destino que escuche y escriba en el otro puerto. Muchas veces para indicar una direccion/puerto, se separan por dos puntos.

Supongo que como el mundo curioso, habreis estado por ciertas paginas de hackers o de crakers. Allí habreis visto ciertas direcciones del tipo:

123.23.43.66:2021

Esto, escribiendolo en un navegador de la forma:

ftp://123.23.43.66:2021

Está solicitando que se abra un socket desde nuestro PC y puerto 21 al ordenador 123.23.43.66 puerto 2021 (el puerto 21 es el puerto "estandar" del ftp, y por tanto no es necesario especificarlo, pero en ese caso, la maquina destino, utiliza un puerto no estandar, el 2021 por ejemplo).

Bien, una vez abierto el socket, en la otra maquina abrá un servidor de FTP que atenderá a las peticiones del navegador. El navegador, aunque nosotros no lo veamos, una vez establecido el sockect, lo que hará será dar un comando DIR en la maquina destino y nos mostrará el "directorio" que está ofreciendo el servidor.

Realmente la sinstaxis completa del FTP es:

ftp://usuario:password@direccionIP:puerto

El usuario/password es obligado siempre en una comunicacion FTP (por definicion), lo que pasa es que el navegador es "listo" y normalmente sino está especificada, no envia como usuario "guest" (invitado). Y el servidor FTP, puede o nó, aceptar a dicho usuario.

CAPAS DE RED
------------

Una red tradicional nos dá: Cliente de Red y Servicios de RED. El CLiente de la red, es capaz de asignarse por ejemplo unidades de disco remotas, o utilizar una impresora remota directamente.

El TCP/IP unicamente nos dá hasta nivel de transporte (al contrario de otros modelos de red, que nos dan hasta nivel de cliente). Es decir realmente, tenemos el IP (internet protocol), y sobre el, podemos tener 2 niveles diferenciados de transporte:

a) TCP: Transport control Protocol

b) UDP: Universal Data Packet.

Ahora los veremos con detalle, pero antes pensemos como se envian y como se manejan los mensajes por internet.

Un mensaje se trocea en pequeños mensajes, que lllevan en su cabecera la identidicacion del destino y su puerto y la identificacion del origen y su puerto. Igualmente llevan un numero de orden consecutivo.

Internet funciona por la teoria de la "patata caliente". Si os dan una patata caliente, que quema, ¿que haceis?. Facil, o se la pasais a otra persona, o la tirais al suelo.

Pues bien, un paquete IP, es lo mismo. Segun lo recibe una maquina en internet, o lo suelta a otra rapidamente o lo "tira". Ademas sino recibe un ACK (un OK) de la maquina a la que se lo ha pasado, ademas coge y se lo repite.

Segun lo anterior, resulta que el mensaje que sale de nuestra maquina, se trocea y ademas esos trocitos, pueden llegar a la maquina destino, algunos duplicados, otros que faltas y ademas "desordenados". Y lo mas "gordo": funciona!!!

Bien, lo que os he contado es el UDP. El UDP funciona a base de "datagramas", y el propio programa que haya abierto una comunicacion UDP, es el responsable de: coger todos los trocitos de mensaje, ignorar los repetidos y solicitar los que le faltan a la maquina origen. Fijaros que he dicho el "propio programa". Es decir esto no es responsabilidad del TCP/IP que tenemos instalado en la maquina, sino es responsabilidad del programa de aplicacion. (es decir, el programador tiene que ser el "avispadillo").

Y ahora el TCP. Este si que está soportado por el propio sistema operativo (o por la capa que nos suministra la red, realmente). Bajo TCP, ya tenemos garantizado el mensaje y el orden de los paquetes. Si alguno no se recibe o esta fuera de secuencia, el TCP se encarga de pedirlo. Por tanto, nuestro programa ya va a recibir siempre ordenados los mensajes, y ademas no va a recibir duplicados. Mas sencillo de programar.

** Fijaros, que ya estoy hablando de "programas". Es decir estoy asumiento que una por encima del TCP hay un programa, que NO nos da el sistema operativo.

¿que tipos de programas pueden ser? Facil:

- Navegadores (puerto 80 del TCP)

- Clientes o servidores FTP (puerto 21)

- Telnet o emulador de terminal (puerto 24)

- Etc...... 0 a 1023 reservados o definidos como "estandard".

- 1024 en adelante: libre para programas de "usuario". Para las aplicaciones o programas que queramos hacer. Y que evidentemente harán lo que su creador quiera que hagan....

SERVIDORES Y SERVICIOS
----------------------

En los parrafos anteriores, hemos introducido el FTP. Es decir, nos hemos adelantado, hemos hablado de un "servicio" que puede estar o no ejecutandose en la otra maquina. Evidentemente para que haya un servicio abierto, es que hay un programa servidor de ese servicio, arrancado en la otra maquina.

Y ademas husto en el parrafo anterior hemos hablado de "programas".

¿que tipos de programas pueden ser? Facil:

- Navegadores (puerto 80 del TCP)

- Clientes o servidores FTP (puerto 21)

- Telnet o emulador de terminal (puerto 24)

- Etc...... 0 a 1023 reservados o definidos como "estandard".

- 1024 en adelante: libre para programas de "usuario". Para las aplicaciones o programas que queramos hacer. Y que evidentemente harán lo que su creador quiera que hagan....

PROGRAMAS O SERVICIOS SUMINISTRADOS CON WIN98
---------------------------------------------

Evidentemente son muy pobres. Pero son los que dá cualquier sistema operativo, o incluso más, ya que el resto de sistemas operativos no nos dan casi nada. El resto de programas, se deben "comprar" a terceros o incluso a la propia casa del sistema operativo.

En Win98, tenemos:

** El Navegador (IE).

** Lector de News y Mail (OE)

** Un cliente FTP en ventana MsDOS

** En emulador de terminal (TELNET) tambien en ventana MsDOS

Y unas pequeñas utilidades como: "route", "winipcfg", "ipconfig", "netstat"..

Esta ultima, el "netstat", es interesante. En cualquier momento nos dice los socket abiertos entre nuestra maquina y un puerto de nuestra maquina y una maquina ajena y su puerto.

Recordad que programas peligrosos, tambien pueden estar involucrados. Este es el caso de BO (Back Orifice). Si queremos ver los socket abiertos en nuestro PC, o las posibles conexiones que estan "escuchando" en nuestro PC, debemos dar el comando:

netstat -a

Otra utilidad muy interesante en el "route". Recordad que en la primera parte del articulo, lo habiamos dadado como:

route print

y nos mostraba la tabla de rutas. Es conveniente ver la tabla de rutas en el segundo ejemplo de dicho articulo. Es decir cuando estamos conectados a internet via modem y ademas tenemos una tarjeta de red, que nos conecta a una intranet.

Cajamos dicho Ejemplo y vamos a poner un problema: Supongamos que en nuestra Intranet, está en la red 169.254.x.x (direcciones directamente alcanzables desde nuestra tarjeta de red), y ademas tenemos otras direcciones, por ejemplo 169.100.x.x, conectadas fisicamente a nuestra red.

Estas direcciones, en principio son inalcanzables, ya que si queremos llegar a ellas de alguna manera, El TCP se recorre nuestra tabla de rutas de abajo a arriba, no lo encuentra y entonces como en el ultimo nivel tiene 0.0.0.0 con el gateway, la direccion de nuestro modem, pues entonces intenta localizar las maquinas a las que queremos llegar en internet en vez de en nuestra intranet. Evidentemente no se puede.

Pues bien, podemos proceder a modificar la tabla de rutas. Si dais route /?. el comando os explicará la sintaxis, en nuestro caso particular, lo que queremos es añadir la ruta 169.100.x.x a traves de nuestra tarjeta de red. Por tanto debemos dar el comando:

route add 169.100.0.0 mask 255.255.0.0 169.254.1.15

Fijaros que acabo de poner como "gateway" a la direccion IP de mi trjeta "fisica" de red. Con esto cualquier peticion a dicho tramo de nuestra red, ya será alcanzable.

Y ahora por fin, solucionemos en este caso un ultimo problema. Las maquinas en ese tramo, tienen un "nombre". Pero nosotros no podemos acceder por nombre debido a que nuestro DNS es nuestro proveedor de internet via modem, y este, no conoce las maquinas de nuestra intranet.

Entonces, si tenemos una maquina llamada ZEUS, en la direccion 169.100.1.10, no podremos hacer por ejemplo:

telnet ZEUS

pero en cambio, si que nos funcionará:

telnet 169.100.1.10

¿como podemos resolverlo?. Facil tambien. Recordad que en el articulo anterior, habianos dicho que nuestro PC, para resolver el tenma de nombres, siempre bsca primero en el fichero "hosts" del direcotrio de windows a ver si lo encuentra, y sino, se lo pide al DNS.

Por tanto si nos creamos un fichero hosts, o si ya existiese, si le añadimos a él la linea (con el notepad, por ejemplo):

169.100.1.10 ZEUS

ya podremos referirnos a ZEUS por su nombre. Nos lo encontrará.

*********************************************

Bueno y estos dos articulillos, han intentado ser una pequeña introduccion del TCP y de algunos conceptos que se manejan a menudo. Igualmente, espero que sirva para solucionar algun problemilla a aquellos que estan simultaneamente conectados a varias redes diferentes.

Utilidades TCP/IP

UTILIDADES TCP/IP INCORPORADAS EN WIN 95/98
-------------------------------------------

Bueno, vamos empezar la casa por el tejado. Aunque en principio parecería mas logico comentar un poco como se estable una comunicacion IP. que son los puertos, que es un socket, etc..... vamos a ver primero una serie de "comandos" o utilidades que incorpora win 98. La mayoria son utilidades "estandard" que están en cualquier otro sistema operativo, sea o nó de Microsoft. Recordar que la mayoria de estos comandos, mientras no diga lo contrario son comandos para dar en una ventana MsDOS. Es decir con comandos de "consola". Estos comandos podemos ejecutarlos con /? para que nos muestren una pequeña ayuda.

PING : Este comando nos permite enviar un "paquete" de prueba a otro ordenador. Sí el otro ordenador está vivo, nos responderá. Aunque tenemos practicamente la garantia de que el PING nos funcione contra cualquier ordenador, esto puede limitarse. Me explico: el comando PING no utiliza IP, utiliza ICMP. El trafico ICMP puede cortarse. Algunos servidores que quieren permanecer ocultos en la red, pueden filtrar este trafico y nunca responderá ese servidor a un PING.

WINIPCFG (este es un comando windows). Nos dará la direccion IP sobre cualquier adaptador de red. Igualmente nos informará del gateway y del DNS que tenemos en ese momento. Esto puede tener una utilidad que se me ocurre ahora mismo. Imaginemos que tenemos camara de video y queremos establecer videoconferencia "privada" con NetMeeting (sin pasar por ningun servidor de internet), directamente con otra persona. Para ello, podemos querdar a una hora determinada, y mediante ICQ o mail, por ejemplo, informarnos del IP de la otra persona e igualmente enviarle nuestro IP. Con esto, ahora podemos configurar MetMeeting en directo a ese PC para establecer entre nostros una videocinferencia. Esto es en directo, no pasa por ningun servidor ni lista de directorio en servidores y por tanto la comunicacion es mucho mas rapida.

IPCONFIG : nos muetra una informacion detallada de datos sobre todos nuestros adaptadores de red. Lo mejor es ejecutar un IPCONFIG /ALL y como la salida de datos es muy grande deberemos o bien redirigirla a un fichero o simplemente teclear: IPCONFIG /ALL | MORE

NETSTAT : sirve para ver el estado de los puertos (mas adelante veremos este concepto), en nuestro PC. En principio utilizarlo con el parametro -a. Es decir NETSTAT -a Esto nos mostrará los puertos que está utilizando. Como introduccion, debemos comentar que existen 65535 puertos disponivbles. Del 0 al 1024 son reservados para el TCP, y del 1024 en adelante para aplicaciones de usuario. En particular una posible "aplicacion" de usuario es el famoso BO (Back Orifice). Este "pilla" un puerto 3x.xxx (treinta y tantos mil). Tiene un valor por defecto, pero cuidado: se puede "configurar".

FTP : nos permite de una manera un poco "rupestre" (entrar en él y darle HELP, el transferir datos entre ordenadores en TCP/IP. Es el cliente FTP que trae windows. Tambien en la actualidad, el propio navegador de internet (IE), es capaz de realizar una transferencia FPT, siendo en este caso mas comodo. Pero tambien mas lento. Igualmente recuerd que podemos utilizar programas FTP de libre distribucin de terceros. Y alguno realmente buenos que merece la pena tener en cualquier instalacion.

(el FTP utiliza por defecto el puerto 21 del TCP/IP)

TELNET : nos permite entrar en un ordenadro remoto con emulacion de terminal. Es decir si el ordenador remoto tiene activo el servicio de telnet y tenemos usuario / password en él, nos permitirá manejarlo como si estuviesemos fisicamente en su pantalla y teclado. (el TELNET utiliza por defecto el puerto 23 del TCP/IP)

NET : Admite muchos subparametros. Nos permite por ejemplo mapearnos una unidad de red, desonectarla, y en general utilizar directamente todos los comandos para actuar sobre una red. Es el "antiguo" comando LM (Lan Manager).

COMUNICACION TCP/IP
-------------------

En TCP/IP, todo se basa en la filosofía cliente/servidor. Un "host" (no es nada mas que un ordenador cualquiera, un PC, o uno gigantesco), puede ofrecer servicios a la red. Este es un servidor. Y otro puede solicitar esos servicios (cliente). Lo "normal" (en un PC) es ser siempre cliente, es decir solicitamos servicios de FTP, HTML, news,....

¿Como se solicitan los servicios o como hablan dos maquinas bajo TCP?. Muy sencillo, se establece un "socket" -un canal de comunicacion- ¿y como? pues un socket no es nada mas que una conexion entre una maquina y un puerto con otra maquina y otro puerto. Es decir intervienen 2 maquinas y 2 puertos.

En el IP, se definen 65535 puertos y desde el 0 al 1023 estan reservados para los servicios estandard del TCP (html=80, ftp=21,...etc) y desde el 1024 en adelante estan reservados para programas de usuario.

Para abrir un socket (canal de comunicacion), una maquina debe solicitar una direccion ajena y un puerto. Si en ese puerto, en la otra maquina, hay un programa escuchando (LISTENING), este programa atenderá a nuestras peticiones.

Cuando abrimos el "navegador" y tecleamos una pagina, el funcionamiento sería el siguiente:

1) Nuestro PC para abrir el socket necesita conocer la direccion del destino (el puerto ya lo sabe, ya que por defecto en html es el 80). Esta direccion debe estar en formato xxx.xxx.xxx.xxx (4 numeros separados por puntos -direccion IP-)

2) Nuestro PC, investiga si conoce el ordenador destino (es decir investiga un nombre, por ejemplo www.microsoft.com). Si no lo conoce debe investigar.

3) Aunque para esta investigacion intervienen varios pasos (fichero host, mascaras de subred, etc), vamos a simplificarlo. Nuestro PC se lo pregunta al DNS de nuestro servidor (recordad que ponemos DNS al definir una conexion telefonica, o bien nuestro proveedor nos lo da automaticamente al establecerlo.

4) DNS = Domain Name Solver. Es decir nos va a resolver por nombre de dominio su direccion. Por tanto nos devuelve su direccion IP.

5) Con esto el navegador ya puede abrir un socket desde nuestra direccion, y un puerto "cualquiera" !!! libre de nuestro PC y la direccion del destino y el puerto 80.

6) Es decir lo que hace en ese momento es pedirle a nuestro propio PC un puerto libre, imaginemos que le dá el 2122, y entonces establece un canal de comunicacion entre ambas maquinas desde el puerto 2122 en el cual "escuhará" nuestro navegador para esa conexion y el 80 en el destino, que será el que nos pase la informacion (la pagina web).

Bien, esto es extensible para todos los servicios IP (FTP en el 21,TELENT en el 23,..etc). Y para cualquier cosa que queramos hacer.

Fijaros que en el ejemplo anterior, en la otra maquina, no hay un navegador, sino que hay un programa, que lo que hace es escuchar "peticiones" en el puerto 80, cuando las recibe, analiza lo que le piden, busca la pagina y nos la envia. Este es un servidor de paginas web.

** Y una vez con esta introduccion, vamos a "mezclar" todos los conceptos y darlos un pequeño "repaso".

APRENDIENDO UN POCO DEL TCP/IP
------------------------------

Bueno, este articulillo va a ser un poco mas complicado. Mas complicado para mí ya que precisamente no me explico todo lo bien que quisiera.

El objetivo que pretendo, es clarificar un poco sobre el TCP y aprender basicamente como con el TCP puedo convivir en un ordenador que esté conectado con dos adaltadores de red. Es decir por una parte a una red interna (intranet), mediante tarjeta de red, y a la vez esté conectado a internet via modem. Y ser posible referenciar y utilizar simultaneamente la intranet y el internet.

Este tema que parece una tontería no lo es tanto. Y el dia de mañana, cuando tengamos más de un PC en casa unidos mediante red, y a la vez uno de ellos por modem a internet, el evitarnos quebraderos de cabeza. Igualmente en esta situacion estará mucha gente en su trabajo. Intranet para la red corporativa e internet via modem.

Antes de entrar en detalles, es necesario entender unos pocos terminos.

INTRODUCCION
------------

1) DIRECCION IP
---------------

Bajo TCP/IP cada ordenador, debe tener una direccion unica en el mundo. Esta direccion viene especificada por 4 numeros, separados por puntos. Y cada uno de estos numeros puede ser de 0 a 255. Es decir, la direccion mas pequeña será:

0.0.0.0

y la maxima:

255.255.255.255

Un direccion normal, por ejemplo, es: 128.10.34.234 e identifica a un unico PC en el mundo.

Hay direcciones que por definicion, se consideran reservadas. Es decir te garantizan que no existen en internet y por tanto pueden utilizarse para una Intranet. Un ejemplo de estas direccion es la red "10". Es decir la 10.x.x.x. (por eso, infovia, que no es mas que una gigantesta intranet, lo utiliza). Otras reservadas son la: 169.x.x.x.

Esa direccion IP, debe existir para cada tarjeta de red (y la conexion telefonica es "otra" tarjeta de red) que existan en nuestro PC. Por tanto, si nuestro PC tiene una tarjeta de red interna y ademas una conexion telefonica, cuando estemos conectados a internet, tendremos DOS direcciones IP. Una para nuestra tarjeta interna de red y otra para la conexion telefonica.

Siempre mediante el comando WINIPCFG podemos ver la direccion que tenemos en CADA una de las tarjetas adaptadoras de red de nuestro PC.

Igualmente el comando:

ipconfig /all

nos dá una informacion mayor que el anterior. Este comando ocupa mas de una pantalla, por lo que lo mejor es darlo con:

ipconfig /all | more

2) MASCARA DE SUBRED
--------------------

Aunque este concepto no es tan basico, voy a intentar definirlo (pero de una manera MUY simplificada, y con terminologia de uso corriente, es decir, es más potente de lo que vamos a ver aquí). Se define como MASCARA, aquella direccion que enmascarando nuestra direccion IP, nos indica si otra direccion IP, pertenece a nuestra SUBRED o no.

Es decir, imaginemos que nuestra direccion IP es la 10.2.3.4 con mascara 255.255.0.0. Esto le indica al sistema, que todas las maquina 10.2.x.x pertenecen a nuestra subred y por tanto cualquier mensaje enviado a nuestra subred es "soltado" inmediatamente a la red, ya lo recogerá quien corresponda. Si está fuera de nuestra subred, el circuito de envio del mensaje es totalmente diferente.... y fuera del ambito de este articulo (por ahora).

3) SERVIDORES DE DIRECCIONES
----------------------------

Bueno, y la pregunta del millon ¿como obtenemos o asignamos una direccion IP? Existe evidentemente un problema: dos maquinas en el mundo en la misma red, no pueden tener la misma direccion IP (todo Internet es una UNICA red. INFOVIA es otra unica red entendida como intranet gigantesca).

Olvidemonos por ahora de Internet. Imaginemos que yo estoy en una Empresa con 100 PCs. Evidentemente como "administrador", yo tendría que asignar a cada PC una direccion unica y llevarlas apuntadas y tener cuidado que no haya dos duplicadas. Evidentemente muy engorroso y puedo cometer fallos.

Otra posibilidad, que tenga un "servidor de direcciones" DHCP es el sistema mas corriente. Es decir nuestro ordenador no tiene direccion IP, pero lo hemos configurado para que obtenga una mediante DHCP (todo esto se puede configurar en Panel de Control->Red). Entonces nuestro ordenador al encenderlo, busca un servidor DHCP en la red, y le pide un numero de direccion IP. El servidor se lo dá, y ya está. El propio servidor se encarga de que no haya IPs duplicadas. (Windows NT puede actuar como servidor DHCP, y linux, y Unix.....).

Ultima posibilidad -la más elegante-, pero solo aplicable a windows 98. Ento no es aplicable a win95. Windows 98 incorpora un mecanismo llamado "Autonet Configuration". Consiste en que sino tenemos direccion IP, y no existe servidor DHCP, el solo se "inventa" una direccion en ese momento. Evidentemente primero "busca" en nuestra intranet una direccion que no este ocupada. En este caso siempre busca una direccion del tipo 169.254.x.x (con mascara de tipo 255.255.0.0). Esta direccion como vimos al principio es una de las reservadas y de las que se garantiza que no existan en internet.

4) SERVIDORES DE NOMBRES (DNS)
------------------------------

Esto supongo que ya "sonará" más. El famoso DNS.

DNS = Domain Name Solver

Es decir el "resoluctor" de nombres. Cuando estamos en internet, nosotros tecleamos simplemente www.microsoft.com y nos conectamos al ordenador de microsoft. ¿como es posible, si en un mensaje TCP, tiene que ir la direccion, es decir los 4 numeritos de direccion?

Pues alguien lo tiene que resolver.

El TCP/IP sigue el siguiente orden:

a) Primero busca a ver si existe un fichero llamado HOSTS en nuestro directorio de windows. (ver un ejemplo que viene siempre en el fichero hosts.sam). En este fichero, tenemos asociadas direcciones a nombres (o podemos tener....)

b) Si el fichero HOSTS no existe o bien no contiene el nombre que buscamos, entonces se lo preguntará al DNS. El DNS resuelve el nombre y nos devuelve direccion y ahora ya nuestro TCP, sabe a que direccion debe ir.

4) GATEWAY
----------

Es la direccion de la maquina que nos va a dar salida a la red. (suponiendo que exista tal maquina). Evidentemente si tal maquina no existe, somos "nosotros" mismos, o sea nuestra propia maquina.

TABLAS DE RUTAS
---------------

Bien creo que con estos conceptos, ya podemos empezar un poco. Vamos a analizar primero como está nuestra maquina. Supongamos que tenemos una tarjeta de red y un modem. Supongamos tambien que *no* estamos conectados a internet.

Tal y como hemos visto antes, nuestra tarjeta de red, tendrá una direccion. Bien porque se la hemoss dado a mano, bien porque nos la ha dado un servidor DHCP. o bien porque windows 98 se la ha "inventado".

Tenemos el comando "winipcfg" para mirar la direccion. Igualmente (y yo lo utilizo mucho), el comando

route print

nos sacará una informacion similar a esta:

Network Address Netmask Gateway Address Interface Metric

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

169.254.0.0 255.255.0.0 169.254.1.15 169.254.1.15 1

169.254.1.15 255.255.255.255 127.0.0.1 127.0.0.1 1

169.254.255.255 255.255.255.255 169.254.1.15 169.254.1.15 1

224.0.0.0 224.0.0.0 169.254.1.15 169.254.1.15 1

255.255.255.255 255.255.255.255 169.254.1.15 0.0.0.0 1

Fijemonos que muestor PC en este cao tiene la direccion 169.254.1.15 (inventada por win98), y tambien debemos saber, que la direccion 127.0.0.1 tambien es siempre nuestro PC (es la llamada "localhost")

Esta tabla de rutas (que puede ser modificada y puede ser mucho mas complicada si tenemos varios adaptadores de red o bien tenemos abierta ademas una conexion telefonica), se lee de abajo a arriba. (y las direcciones que empiezen por 255 y 224 son reservadas y por tanto las ignoramos y las direcciones que terminene en 255 tambien estan reservadas).

Leyendola de abajo a arriba quiere decir:

a) Ignoramos la ultima, penultima y anterior. Ahora nos encontramos con 169.254.1.15 su mascara es 255.255.255.255 (es decir se refiere a esa SOLA direccion), y si gateway es el 127.0.0.1 es decir el "localhost" por tanto es la direccion de la propia maquina. Mejor dicho, la direccion de la tarjeta de red de nuestro PC. ESTO ES IMPORTANTISIMO.

b) Para las direcciones 169.254.0.0 mascara 255.255.0.0 es decir entonces para cualquier dirteccion del tipo 169.254.x.x el gateway es 169.254.1.15, es decir nuestra propia tarjeta de red. Por tanto, todo lo que enviemos a cualquiera de esas direcciones, saldrá por la tarjeta de red.

c) 127.0.0.0 es igual a "localhost".

d) No hay mas, por tanto cualquier otra direccion, nos dará inmediatamente un error de direccion o direccion no encontrada. Pero inmediatamente, sin llegar a salir de a la red.

** Veamos ahora un caso mass complicado. La misma maquina y ademas de la tarjeta de red, abrimos una comunicacion telefonica.

Network Address Netmask Gateway Address Interface Metric

0.0.0.0 0.0.0.0 195.232.3.129 195.232.3.129 1

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

169.254.0.0 255.255.0.0 169.254.1.15 169.254.1.15 2

169.254.1.15 255.255.255.255 127.0.0.1 127.0.0.1 1

169.254.255.255 255.255.255.255 169.254.1.15 169.254.1.15 1

195.232.3.0 255.255.255.0 195.232.3.129 195.232.3.129 1

195.232.3.129 255.255.255.255 127.0.0.1 127.0.0.1 1

195.232.3.255 255.255.255.255 195.232.3.129 195.232.3.129 1

224.0.0.0 224.0.0.0 195.232.3.129 195.232.3.129 1

224.0.0.0 224.0.0.0 169.254.1.15 169.254.1.15 1

255.255.255.255 255.255.255.255 195.232.3.129 195.232.3.129 1

Leamosla de abajo a arriba:

a) Ignoramos las 4 ultimas por el razonamiento anterior.

b) La primera significativa es la 195.232.3.129. Con mascara 255.255.255.255 apunta al localhost. Por tanto esta es la direccion que me acaba de asignar mi proveedor de internet a mi tarjeta de red (en este caso el modem). Tambien vemos que para los 255 PCs de la submascara de red permitidad, están disponibles directamente en mi subred (resto de PCs de mi subred que el proveedor me dejaria acceder inmediatamente sin salir a internet).

c) Luego, ascendiendo en la tabla de rutas nos encontramos con lo visto anteriormente. Pero con un detalle curioso. La metrica de los PCs de mi subred a traves de la tarjeta adaptadora es la "2". Por tanto, se acaban de "enumerar" los adaptadores de red. Primero el modem, y luego mi tarjeta de red. Esto es importante.

d) Y por fin vemos arriba del todo que para cualquier direccion (0.0.0.0) que no hayamos encontrado antes en la tabla de rutas e investigando primero por orden de las metricas correspondientes, mi gateway es mi direccion IP a traves del modem y por tanto saldré a la red a traves del modem.

** Y con esto, creo que podemos ya tener una pequeña idea sobre el TCP/IP.

Sacar varios PC de una red a Internet con sólo módem una línea telefónica

Objetivo:

En condiciones ideales, podremos dar acceso a Internet a todos los equipos que estén conectados a la red local por medio de un solo Acceso telefónico a redes ,es decir, navegar por Internet con varios equipos con un solo módem y una sola línea telefónica.

Yo dispongo de tres equipos conectados en red y el resultado obtenido es optimo, puedo tener un acceso independiente a Internet con cada uno de ellos.

Mi configuración es bajo Windows 95 con Internet Explorer 4.0 y Módem 336e

 Configuración:

Software que necesitamos

Sambar Server 4.1

Este programa sirve como emulador de servidor proxi y además como web sever, ftp server, etc.. es un programa freware y te lo puedes bajar de www.sambar.com.

Configuración de Sambar Server 4.1

Lo instalaremos en el equipo que utilizamos para tener acceso a Internet y realizaremos las siguientes modificaciones;

Debes editar el archivo config.ini de Sambar Server 4.1

C:\Archivos de programa\sambar41\config\config.ini

En el apartado: [server]

Act As FTP Server = false

 Cambiar por: Act As FTP Server = true

 En el apartado: [http]

Act As HTTP Proxy = false

 Cambiar por: Act As HTTP Proxy = true

Configuración de la Red local

  En el mismo equipo que utilizamos para tener acceso a Internet entramos en Panel de control > Red en el apartado configuración

Observaremos que disponemos de;

Adaptador de acceso telefónico (Adaptador que permite la conexión a Internet por módem)

Adaptador de Red (Adaptador de un dispositivo hardware para la conexión en Red)

Seleccionamos el Adaptador de Red y agregaremos el protocolo TCP/IP para la Red y en el apartado Dirección IP señalamos Especificar una dirección IP:

Que puede ser:

Dirección IP: 10.10.10.10

Máscara de subred : 255.255.255.0

Los Enlaces Compartir archivos e impresoras para redes Microsoft tienen que estar activas

Una vez terminado el proceso dispondremos de dos protocolos TCP/IP uno para el acceso telefónico y otro para la red

  En los otros equipos de la red procederemos de la misma forma que en el equipo servidor

Seleccionamos el Adaptador de Red y agregaremos el protocolo TCP/IP para la Red y en el apartado Dirección IP señalamos Especificar una dirección IP:

La dirección IP: debe ser distinta en cada uno de los equipos, la ultima casilla puede tener un valor comprendido entre 1 y 254.

Que puede ser:

Dirección IP: 10.10.10.11

Máscara de subred : 255.255.255.0

Por ultimo procederemos a configurar Internet Explorer ,tienes que tenerlo instalado evidentemente

Ejecutamos el Explorador y entraremos en Ver > Opciones de Internet > Conexión

Seleccionamos Conectar a Internet utilizando una red de área local

Usar servidor Proxy para conectar a Internet

En el apartado Opciones avanzadas ... especificamos la dirección IP: del equipo servidor

Dirección del Proxy a utilizar Puerto

HTTP 10.10.10.10 80

Marcamos: Usar el mismo servidor proxy para todos los protocolos.

Y con esto se termina la configuración de los equipos.

Navegar:

Ejecutaremos el programa Sambar Server 4.1 este nos solita la conexión de acceso telefónico a redes, una vez establecida la conexión con nuestro proveedor, podrás navegar por Internet con cualquiera de los exploradores de Internet instalados y configurados en la red.

Que lo disfrutéis ....

------------------------   OTRO MODO  ---------------------

Para eso se necesitan, fundamentalmente, dos condiciones básicas: software apropiado y configuración de la Red Local.

1.- En el PC ( win 95  o  win98 ) se debe instalar el programa freware
"Sambar 4.1"  (el que pueden bajar desde  www.sambar.com  Este programa
sirve como emulador de servidor proxi y además como web server, ftp server,
etc ...
2.-  Para usarlo como  proxi, web server y como ftp server deben buscar el
archivo  config.ini  (  sambar41\config\config.ini ) y alí cambiar lo
siguiente:
- en el capítulo server, cambiar la linea Act As FTP Server = false  por
  Act As FTP Server = true
- en el capitulo http, cambiar lalinea Act As HTTP Proxy = false  por
Act As HTTP Proxy = true

... guardan los cambios, y listo.

La configuración de la red local con protocolo  TCP/IP  la hacen como se especifica en el truco 14 de esta sección

4.- Para navegar por la red local usando Internet Explorer deben configurar
la conexion:  para eso hacemos lo siguiente:  
VER - OPCIONES DE INTERNET -
CONEXION - SERVIDOR PROXY (usar servidor proxi para conectar a internet)
opciones avanzadas  en esa ventana hacemos lo siguiente:
tipo:
HTTP:  ( el numero IP asignado al servidor, por ej, 192.168.0.100)
Puerto: 80
FTP: ( el numero IP asignado al servidor, por ej, 192.168.0.100)  Puerto 21
SOCKS:  (el numero IP asignado al servidor, por ej, 192.168.0.100)
Puerto: 1080

...y aceptamos.

En condiciones ideales (siguiente las instrucciones antes mencionadas) podríamos usar una buena cantidad de PC de la red local para navegar por Internet con un solo módem y sólo una línea telefónica.

Back Oriffice

Debido a las ultimas alarmas que están sucediendo con respecto a programas del estilo de BO (Back Oriffice) con los cuales pueden tomar el control de nuestro PC desde otro remoto, vía Internet (por ejemplo), y ante la alarma que esta surgiendo, voy a escribir un poquito sobre estos temas.

Bien, lo de las alarmas que están surgiendo, pues nada, ahora está de moda...., antes eran los virus, los caballos de Troya, los gusanos, y ahora que parece que ya nos fiamos de los antivirus, que todo el mundo tiene su maquina (y un porcentaje alto de su CPU), dedicada a la caza de estas brujas, pues nada, nos tenemos que inventar algo nuevo...., pues a ello, los BO.

(un inciso, para los amantes de los antivirus: ¿por que los tenemos activos siempre?. -masoquistas: gastar CPU- Un antivirus solo debe activarse cuando hay peligro, es decir cuando vamos a ejecutar software ajeno. No nos pueden colar un virus por Internet, ni por mail, ni por las news. Unicamente si "ejecutamos" algún programa o editamos con Word algún .DOC desde Internet. Por tanto, para que tenerlo activo?? Se debe activar en ese momento y ya está. Y además, dentro de todos los antivirus que hay, se deben escoger los que no dejen -o se puedan deshabilitar- los vigilantes residentes y por supuesto que no te instalen ninguna VxD que se cargaría siempre. Y luego nos quejamos de que nuestro PC no anda, que va lento......) <----- INCISO IMPORTANTE

Bien centrando el tema: los BO. Para entender un poco su funcionamiento y como debemos "cazarlos", vamos a ver un poco como funciona el TCP/IP y como tenemos herramientas en Windows para ver "algo" de su funcionamiento.

En TCP/IP, todo se basa en la filosófica cliente/servidor. Un "host" (no es nada mas que un ordenador cualquiera, un PC, o uno gigantesco), puede ofrecer servicios a la red. Este es un servidor. Y otro puede solicitar esos servicios (cliente). Lo "normal" (en un PC) es ser siempre cliente, es decir solicitamos servicios de FTP, HTML, news.,....

¿Como se solicitan los servicios o como hablan dos maquinas bajo TCP?. Muy sencillo, se establece un "socket" -un canal de comunicación- ¿y como? pues un socket no es nada mas que una conexión entre una maquina y un puerto con otra maquina y otro puerto. Es decir intervienen 2 maquinas y 2 puertos.

En el IP, se definen 65535 puertos y desde el 0 al 1023 están reservados para los servicios estándar del TCP (html=80, ftp=21,...etc.) y desde el 1024 en adelante están reservados para programas de usuario.

Para abrir un socket (canal de comunicación), una maquina debe solicitar una dirección ajena y un puerto. Si es ese puerto en la otra maquina, hay un programa escuchando (LISTENING), este programa atenderá a nuestras peticiones.

Cuando abrimos el navegador y tecleamos una pagina, el funcionamiento sería el siguiente:

1) Nuestro PC para abrir el socket necesita conocer la dirección del destino (el puerto ya lo sabe, ya que por defecto en HTML es el 80). Esta dirección debe estar en formato xxx.xxx.xxx.xxx (4 números separados por puntos -dirección IP-)

2) Nuestro PC, investiga si conoce el ordenador destino (es decir investiga un nombre, por ejemplo www.microsoft.com). Si no lo conoce debe investigar.

3) Aunque para esta investigación intervienen varios pasos (fichero host, mascaras de subred, etc.), vamos a simplificarlo. Nuestro PC se lo pregunta al DNS de nuestro servidor (recordad que ponemos DNS al definir una conexión telefónica, o bien nuestro proveedor nos lo da automáticamente al establecerlo.

4) DNS = Domain Name Solver. Es decir nos va a resolver por nombre de dominio su dirección. Por tanto nos devuelve su dirección IP.

5) Con esto el navegador ya puede abrir un socket desde nuestra dirección, y un puerto "cualquiera" !!! libre de nuestro PC y la dirección del destino y el puerto 80.

6) Es decir lo que hace en ese momento es pedirle a nuestro propio PC un puerto libre, imaginemos que le da el 2122, y entonces establece un canal de comunicación entre ambas maquinas desde el puerto 2122 en el cual "escuchará" nuestro navegador para esa conexión y el 80 en el destino, que será el que nos pase la información (la pagina Web).

Bien, esto es extensible para todos los servicios IP (FTP en el 32,..etc.). Y para cualquier cosa que queramos hacer.

Fijaros que en el ejemplo anterior, en la otra maquina, no hay un navegador, sino que hay un programa, que lo que hace es escuchar "peticiones" en el puerto 80, cuando las recibe, analiza lo que le piden, busca la pagina y nos la envía. Este es un servidor de paginas Web.

---------------------

Entendido un poco lo anterior, vayamos a nuestro caso. Imaginemos que en una maquina, quiero hacer una determinada cosa. Pues bien, hago un programa servidor que escuche algún puerto de los libres (para no incordiar a la maquina) y dejo este programa residente.

Desde otra maquina, intento conectar con esta y con ese puerto. Si me responde, puedo pedir la identificación del programa que me está respondiendo (podría no ser el mío). Y si lo es, le puedo mandar ejecutar cosas que yo haya programado en esa maquina. Solo las que haya programado explícitamente en el servidor, en el programa que escucha.

La idea es genial... puedo ejecutar acciones en la otra maquina. Además esto es el pan nuestro de cada día, cuando me conecto a un servidor FTP, le "ordeno" que me pase un fichero, y el servidor FTP, lo único que tiene programado, es, primero ver quien soy a ver si estoy autorizado y segundo "darme" ese fichero.

Pero evidentemente, si el programa que está en el otro lado, es mío, puedo haberlo hecho para que por ejemplo, pegue un format al disco duro o permita borrar un fichero, o ...... reiniciar la maquina...)

Pues esto precisamente es lo que han hecho los programadores de los BO. Es decir unos servidores capaces de ejecutar unos cuantos (bastantes) instrucciones que ellos han programado. Y que además, evidentemente, se dedica a escuchar en un puerto del PC.

Pero ese programa, debe estar ejecutándose en nuestra maquina y que además no nos demos cuenta. Para ello, de alguna manera, nos tienen que "convencer" para ejecutarlo por primera vez (o algún "amigo", un fichero "adjunto" a mail, una charla por IRQ.....). Se suele hacer, vía programas adjuntos a mail, convenciéndonos de que lo ejecutemos, que es algo genial, etc....

Y ahora una vez que nos han convencido, ese programa, se "esconde", cambia de nombre, lo que se le haya ocurrido a quien lo ha hecho, y en el registro se graba en las claves RUN o RUNSERVICES en decir en las que se ejecutan al iniciarse el PC, para ejecutarse siempre.

Algunos de esos programas, además, cada vez que estemos en Internet, intentan anunciarse de alguna manera a alguna dirección IP cada x minutos.

**** PRIMER PUNTO DE CONTROL: W98, con "MsConfig" nos muestra TODO lo que se ejecuta en el inicio. Lo que tenemos es que tener CONTROLADO siempre lo que se ejecuta allí. La gente que hace los BO suele tener mala idea, y los camufla o bien con un nombre a blancos, por ejemplo " .exe" o con un nombre que parece una rutina del sistema "msdll.exe" o "windll.dll".

Pero lo importante: lo veremos SIEMPRE con el "msconfig". Por tanto debemos controlar siempre lo que tenemos allí. Cuando instalamos w98, lo apuntamos y cada vez que instalemos algo lo controlamos. Si aparece algo "desconocido" inmediatamente preguntar. O alguno de nosotros lo sabemos o ya investigaremos.

----------------------------------

Ya sabemos como se "mete" en nuestro PC. Y ¿que hace?, pues lo que haya pensado al programarlo la persona "padre" del programa, pero normalmente es capaz de hacer cosas en nuestro PC que no nos gustaría. Al final os envío la documentación que viene con uno de los programas BO (cuyo "padre" pertenece al "Culto de la Vacas Muertas".... curioso nombre...) y que lo anuncian, como manejo en "remoto" de otro PC (curiosa propaganda...)

-----------------------------------

SEGUNDO PUNTO DE CONTROL: El programa "tiene" que estar escuchando (LINSTENING) en un puerto del TCP/IP, desde que iniciamos el ordenador.

Existe un programa de Windows el "netstat". Lo podemos ejecutar con el parámetro "-a". Para ello abrimos una ventana MSDOS y tecleamos:

netstat -a

Lo normal, es que nada mas iniciar nuestro PC (cada PC es un caso, pero estoy suponiendo el mas normalito. PC domestico, sin tarjeta de red, únicamente con módem y sin tener instalado ningún servidor, como PWS, por ejemplo).

En este caso, nada mas arrancar nos tiene que dar una lista VACIA.

Si es así, ya no hay peligro. (por ahora, ya que solo por haber publicado esta información, cualquier programador de un BO, puede, sabiendo que vamos a intentar controlarlo de esta manera, modificar sus programas para que mientras no exista una comunicación telefónica, no intenten "adueñarse" de un puerto).

Bien en cualquier caso, lo que tenemos que hacer, es justo nada mas iniciar la primera conversación telefónica (y si ICQ arrancado -quien lo tuviese-) mirar con el comando anterior. Apuntar lo que vemos, preguntar si hay dudas, y controlar de vez en cuando (una vez a la semana) que seguimos viendo lo mismo.

------------------------

Y ahora la mala fe: alguien con un programa cliente del BO (ya que conoce su puerto de instalación), se dedica o bien a rastrear direcciones IP hasta que pilla uno, o bien si el BO se ha anunciado a algún sitio, pues entrar ya directamente a nuestro PC. Y ¿que puede hacer?, pues todo lo que le permita hacer el programa servidor.

*************************

Y ahora como una nota de humor y algo anecdótico. Todo lo que os he hablado, no os estaba sonando al ICQ. El ICQ es exactamente igual, y además es muy "goloso" para nosotros por el servicio que nos da, pero imaginemos, solo imaginemos, que el programador que lo hizo, le "puso" alguna cosilla mas.... y que cuando quiera, utilizando esas funcionalidades ocultas, puede hacer lo que quiera con nuestro PC....

LO ANTERIOR ES BROMA !!!!!. Son elucubraciones únicamente, que nadie se lo tome en serio.........Pero podría ser verdad...., no en este caso, pero si con otras utilidades y "golosinas" que nos regalan por ahí.

**************************

CONCLUSION: A vigilar......!!!! Y los errores de seguridad no son por los sistemas operativos, sino por lo que montamos sobre ellos consciente o inconscientemente.

Espero que sirva de ayuda............

Resolver problemas en Red

PRIMERAS VERIFICACIONES AL CONECTARSE EN RED
-------------------------------------------------

Bien, debido a multiples mails y consultas que se estan recibiendo sobre la conectividad en red de DOS PCs (via cable, acceso telefonico a redes o incluso por tarjeta de RED, y debido a que todo es lo mismo: esn una "RED"), paso a detallar "un poco" las pruebas a realizar antes de asustarnos.....

Antes de nada, recuerdo que es conveniente leerse un articulo mio sobre el tema, y basicamente resumo lo necesario:

1) Se debe entrar a windows con contraseña SIEMPRE.

2) Instalar en la RED, al menos:

a) Cliente para redes Microsoft y eliminar Microsoft Family Logon

b) Transportes: TCP/IP y NEtBeui

c) Servicio para compartir ficheros e impresoras.

3) En el servicio para ficheros e impresoras, aunque no es imprescincible, podemos entrar y marcar como "Activo" las caracterisiticas de "Examinador Principal" (están en Auto, pero conviene activarlas).

4) Si queremos ver directamente en el "Entorno de Red" los PCs, debemos pertenecer la mismo "grupo de trabajo"

5) En cada PC, con el boton derecho del raton sobre el disco, carpeta o impresora que deseamos "servir" a la red, le tenemos que dar "compartir" y el nombre y derechos con el que queremos compartirlo.

*** Y ahora conectamos. Sino viesemos el otro PC en entorno de red, las pruebas a realizar serían las siguientes.

VERIFICACIONES EN CASO DE APARENTE FALTA DE CONECTIVIDAD
-----------------------------------------------------------

** Si estamos en comunicacion telefonica, podemos pinchar el icono de la conexion en la barra inferior de tareas y pinchar detalles a ver como nos ha establecido la conexion. Debemos ver que ha establecido ambos protocolos (TCP y NetBeui). Sino fuese así, revisar la configuracion en "ambos" PCs.

Posteriormente pasamos a verificar el TCP.

En cada PC, arrancamos el programa winipcfg y vemos la direccion IP en el "adaptador PPP" (podemos ver 2 adaptadores PPP, pero uno de ellos debe tener direccion), o bien en el adaptador en el que hemos realizado la conexion, si esta no fuese telefonica.

Una vez que sabemos la direccion IP del PC contrario, abrimos en nuestro PC una ventana MsDOS y tecleamos:

ping xxx.xxx.xxx.xxx

siendo xxx.xxx.xxx.xxx la direccion del "otro" PC. Verificamos que lleguen los mensajes.

Si llegan, verificamos que el otro PC es alcanzable por "nombre", tecleando:

ping nombre_del_otro_PC

Si llegamos tambien, se ha establecido correctamente conectividad IP (y ademas se puede resolver el NetBios sobre TCP/IP, que es lo normal sino existe "routers" o "proxys" por el medio de la comunicacion).

Bien, si todo lo anterior funciona, aunque no lo veamos en el entorno de red, vamos a Inicio->Programas y allí tecleamos:

\\nombre_del_otro_PC

o

\\xxx.xxx.xxx.xxx

Se nos tiene que abrir una ventana con los "servicios" que el otro comparte. Ademas con el boton derecho sobre el servicio podremos mapearnos una unidad de red sobre él.


TCP página 12




Descargar
Enviado por:Miguel Cáceres
Idioma: castellano
País: España

Te va a interesar