martes, 13 de julio de 2010

Nociones Básicas de Comandos de Red

1. Utilidad Ipconfig
Comando DOS de mucha ayuda, que nos permite obtener con un par de pasos la información pertinente de todos nuestros adaptadores de red.
ipconfig básicamente funciona sobre Windows XP y 2000... Para las versiones anteriores se escribía desde DOS winipcfg.
Una función bastante importante del comando es que nos permite renovar una dirección IP de un adaptador de red siempre y cuando un servidor DHCP se encuentre disponible.
a) Obteniendo información de configuración
Existen un par de variantes para este comando.
ipconfig
Nos mostrara únicamente detalles básicos de la conexión, como dirección IP asignada, mascara de subred, Puerta de enlace o Gateway

ipconfig /all o ipconfig -all
Desplegara lo mismo que ipconfig y además mostrara si la IP ha sido obtenida usando DCHP o si es configuración Estática como se explicó en la entrada 1
Si la IP fue obtenida por DHCP mostrara además el tiempo valido de la IP.. generalmente son 12 horas luego deberá ser renovada. La mayoría de veces renueva la misma IP.
b) Renovando dirección IP (solo con DHCP)
Es muy probable que debamos renovar nuestra dirección IP algunas veces usando estos comandos...
Esto nos evitara resetear nuestro Router o Modem e incluso nos evitara el fastidioso trabajo de reiniciar nuestra PC, cuando no parece haber otra solución viable.
A veces debido a interrupciones de servicio nuestro router entra en conflicto con la Ip que nos asocio de entrada y surgen los famosos problemas de conexión a Internet...
Nota: Esto funciona solamente si la IP es asignada por DHCP
En el dialogo de DOS escribimos lo siguiente
ipconfig /release
seguido de un
ipconfig /renew
El PC realizara unos procesos y la obligaremos a adquirir una nueva IP valida desde nuestro servidor DHCP (Generalmente el Servidor DHCP reside en el Router)
c) Flush de DNS
El flush de DNS, es renovar la Cache Local del PC, con las DNS Cargadas, esta operación la suele realizar automáticamente cada 24 horas el propio PC, pero si hay entradas erroneas, con ese comando se puede forzar el borrado.
Lo realizamos usando lo siguiente
ipconfig /flushdns
2. Utilidad Ping
En general el comando ping se utiliza para comprobar que exista comunicación de Capa 3 entre dos dispositivos... Ejemplo de PC a PC, PC a Switch, PC a Server Web, PC a Router.
Cuando menciono que comprueba la conexión de capa tres estoy haciendo referencia a OSI ISO... que establece las capas del Networking
1. Capa Física
2. Acceso al medio
3. Red
4. 5. 6. 7. Pero eso lo veremos después
Entonces que dos PC tengan ping exitoso no quiere decir que puedan acceder los servicios que nosotros deseamos... Mas bien significa que la maquina se ha podido localizar y esta respondiendo utilizando su dirección IP..
Un claro ejemplo seria que tuviéramos un WEB Server con problemas, pero el Ping funciona... De manera que eso no quiere decir que todo el sistema este en correcto funcionamiento, sino únicamente la Capa 3 para abajo.. De manera que el Web Server se ejecuta en una capa superior la 7 por ejemplo y allí reside el problema
a) Interpretación de resultados
En los mensajes de ping podemos distinguir un par de leyendas las cuales es importante conocer su significado...
En el Ping exitoso distinguimos que en la tercera linea se distingue Respuesta desde EL IP PINGEADO..
Eso como es lógico significa que el dispositivo en cuestión esta respondiendo satisfactoriamente la petición de Capa 3...
NOTA: Es importante mencionar que a veces los dispositivos se configuran para no responder al PING... Eso es debido a que es facilmente identificable cuando el PC esta encendido y por lo tanto puede ser Objeto de ataques mal intencionados.
Se distingue además la leyenda bytes=32
Nos menciona que el paquete de prueba enviado contiene un cuerpo de 32 bytes.. Ese parámetro se puede modificar pero para el uso habitual de la red, no tiene interés alguno
Al final nos muestra un resumen de los paquetes que han sido recibidos satisfactoriamente o los que no alcanzaron el destino.
Una cantidad grandes de paquetes perdidos significa bajo rendimiento, problemas en la red, en las conexiones o incluso el cable.
b) Descripción de datos mostrados
Cantidad de bytes enviados... Eso ya se ha explicado
Tiempo..... Es la cantidad de milisegundos que tarda el paquete en recorrer el camino... Tiempos mayores de 5 milisegundos en redes pequeñas (ámbito local) son patológicos y a menudo señal de fallo.. Lo ideal es que siempre sean menos de 1 milisegundo como en el caso representado
TTL.......... Este es el tiempo de Vida del paquete. Se disminuye en una unidad en cada salto de Router., Eso es cada Router que atraviesa. Si no existiera un TTL los paquetes entarian en un LOOP indefinido lo que causaría complicaciones en la RED y colidsiones, síntomas de una mala configuración
Este screenShot nos demuestra la versatilidad del Ping
Incluso si no conocemos la IP de un Host en particular y si tiene un nombre de dominio lo podemos usar...
Por ejemplo podemos pingear a UN PC usando su nombre NetBios ejemplo: ping Maquina1
o incluso dominio de Internet ping google.com
aquí dejo el ejemplo:

. Utilidad tracert


   El tracert (también denominada traceroute) es una utilidad que nos permite conocer fallos en una ruta a un host especifico en Internet.
En nuestra red interna se puede aplicar, pero devolverá un resultado parecido al Ping. Ambos funcionan en capa 3
Hacemos un tracert usando la siguiente sintaxis
tracert + nombre de dominio o direccion IP
Les dejo aquí el ScreenShot

a) Interpretación de resultados
En general un tracert muestra las Trayectoria que le lleva a un paquete llegar hasta el destino que queremos comprobar...
Si se fijan en lascreen aparecen los nombres o las Ips de Interface de Router que va alcanzando..
NOTA tiene un limite de 30 saltos y el Asterisco (*) indica que se ha perdido el paquete y el paquete se descartara

Fuente:http://gamersmafia.com/tutoriales/show/358

domingo, 11 de julio de 2010

Cómo establecer un servidor estándar detrás de un proxy/router de ADSL

Cuando se comparte la conexión a internet o se usa un router de ADSL en modo multipuesto creamos una red interna que está "oculta" al exterior. Mi conexión a internet puede tener IP 62.42.172.3, por ejemplo, y los ordenadores de dentro de la red interna tendrán IP's diferentes, por ejemplo, 192.168.0.1 y 192.168.0.2. Elegir esos números no es casualidad. Las direcciones 192.168.xxx.xxx se usan para redes internas porque esas direcciones IP no se usan para internet, de modo que no hay riesgo de que una IP interna coincida con una IP de internet. Si yo pido una página web desde un ordeandor de la red interna, el router o el proxy toman "nota" de quién hace el "pedido" de esa página y cuando llegue se la devuelve al ordenador que la pidió. Es como una aduana.

Cuando tenemos un "servidor", del tipo que sea, dentro de la red interna tenemos un problema: un ftp usa el puerto 21, por ejemplo. Alguien conoce mi IP de internet y hace una petición al puerto 21. La petición llega al proxy/router que es el que controla la IP de internet (o sea, la conexión) pero... ¿a qué ordenador le entrega el router/proxy la petición? Esa petición llega de fuera, no de dentro, luego como no sabe a quién dársela, esa petición "muere en la aduana".

Ahora bien, si hacemos un "mapeado de puertos" la cosa se soluciona. Un mapeado consiste en decirle al "aduanero" (proxy/router) "Mira, colega, cuando alguien te pida conexión al puerto 21, se la mandas a la IP interna 192.168.0.1"

Los servicios de internet más usados usan los siguientes puertos:

21 Servidores FTP
22 SSH
23 Telnet
25 Servidores de Correo SMTP
43 Servidores de Correo IMAP4
53 Servidores de Dominio
68 DHCP
79 Finger
80 Servidor de Páginas Web
81 Servidor de Páginas Web Seguras
110 Servidores de Correo POP3
137 NetBIOS
139 Servicio de NetBIOS para compartir ficheros e impresoras
161 SNMP
445 Compartir ficheros e impresoras en Windows 2000

Ten en cuenta estos puertos se usan "de común acuerdo". Si a mí me da la gana puedo poner un servidor FTP en el puerto 80 y un servidor de páginas web en el puerto 21, pero en ese caso un cliente FTP *NO* podría acceder a nuestro servidor A NO SER que manualmente le indiquemos al cliente FTP que use el puerto 80, ya que por defecto siempre usarán el 21. Del mismo modo, un navegador de internet no cargaría una página web de un servidor que usara el puerto 21 para servir las páginas porque todos los navegadores por defecto piden las páginas al puerto 80

En el siguiente enlace encontrarás el listado más detallado de puertos que conozco, pero te aviso que puede resultar un tanto "agobiante" y que quizás no saques mucho en claro si no conoces los servicios mencionados:: http://www.iana.org/assignments/port-numbers

Servidores no estándar
Puede suceder que para un único servicio no baste con mapear un sólo puerto y haya que mapear varios. Te tecuerdo que mapear es decirle al router/proxy/cortafuegos que dirija a una IP interna concreta las peticiones a unos determinados puertos. De modo que si al proxy/router/cortafuegos le llega una petición al puerto 21 y tenemos un servidor FTP en el ordenador 192.168.0.2 que le "pase la llamada" correctamente . Pongamos el GP500 como ejemplo: los tres puertos que necesitamos mapear son:

2300 TCP
2350 UDP
47624 TCP

Lo de TCP o UDP son tipos de conexiones distintas. Hay que tener cuidado en indicarlo correctamente. Las conexiones TCP son más lentas, pero también más seguras y viceversa. Una conexión UDP es más rápida (hay menos verificaciones) pero esa características también las hace más inseguras.

Una vez mapeados esos tres puertos todas las peticiones a nuestra IP de internet que lleguen a esos puertos serán dirigidas al ordenador que nosotros queramos (la del ordenador con el que vayamos a crear la partida)

Bajo Windows o Linux/Unix, la ejecución del siguiente comando en la consola permite mostrar una lista de puertos abiertos en el PC:
netstat -a

sábado, 10 de julio de 2010

BREVE RESUMEN DEL FUNCIONAMIENTO DEL TCP-IP E IMPLEMENTACIÓN EN WINDOWS

PROTOCOLO IP
El IP es el 'Internet Protocol'. Existen varios protocolos dentro de lo que en lenguaje vulgar denominamos TCP-IP. Existen ICMP, ARP, etc... que son los denominados paquetes de control del TCP-IP. Y existen los que yendo bajo IP puro, encapsulan los mensajes TCP y udp. Estos últimos son los que nos van a interesar, ya que son los normalitos que utilizan las aplicaciones a las que estamos acostumbrados: navegadores, y en general comunicaciones bajo TCP.
PUERTOS
En TCP-IP, pueden definirse 65536 puertos. Es decir, un puerto, no es nada mas que un numero de 16 bits (2 elevado a 16 es el numero anterior), y que se utiliza para que un determinado programa se comunique con la pila TCP. Es decir, un programa se hace "dueño" de un puerto, y es capaz de enviar y recibir datos por él.

Los puertos de números bajos: inferiores al 1024, están reservados para el TCP-IP y normalmente tienen nombre propio: el 21 es el FTP, el 23 el telnet, el 80 es el servidor web... etc).

Los puertos superiores quedan libres pudiendo utilizarles cualquier aplicación y para cualquier uso.
DIRECCIÓN IP
Cada máquina conectada a una red Internet, constituye un host que debe ser único. Para ello, cada máquina debe tener una dirección IP (de 4 bytes) única en toda la red.

Esta dirección es de 4 bytes. Cada byte, puede tener un numero desde 0 a 255. Y normalmente la representación normal de esta dirección es por los 4 números en decimal anteriores, separados por puntos. Por ejemplo: 192.168.0.1

El numero 255 queda reservado normalmente para direcciones de broadcasting (direcciones genéricas a toda una subred, y por ahora debemos obviarla).

Debe existir una dirección IP en cada interfase de red. Una interfase de red, es una tarjeta de red, o un módem en comunicación telefónica, o un simple cable de conexión entre PCs, por ejemplo en el puerto paralelo, que vaya a realizar una comunicación IP.
MÁSCARA IP
Para que las máquinas bajo TCP-IP, sepan cómo y por dónde enviar un mensaje, es importante el tema de la máscara. La máscara es aquella serie de 4 números (como si fuese una dirección IP), que ejecutado bit a bit con una dirección IP, le indica al sistema si esta dirección IP pertenece a la subred local -y por tanto es alcanzable mediante broadcast- o no pertenece a la subred local, y por tanto el mensaje TCP, hay que enviarlo al gateway o puerta de enlace de nuestra red.

Si la máscara está mal en algunos de los equipos, pueden suceder problemas de todo tipo.

Por ejemplo, la dirección 192.168.0.1 con mascara 255.255.255.0 indica que son alcanzables en la subred local todas las maquinas de dirección 192.168.0.x (siendo x cualquiera) y que cualquier otra maquina es alcanzable únicamente enviando el paquete al gateway por defecto.
SOCKET
Un socket no es nada más que un canal de comunicaciones entre dos host TCP. Por tanto, un socket queda totalmente definido por 4 números: la dirección IP y el puerto de la máquina origen y la dirección IP y el puerto de la máquina destino.

Cuando estamos viendo una página web por ejemplo, los datos que vemos han viajado en un socket. Este socket se ha establecido entre la máquina origen (la dirección IP de www.microsoft.com, por ejemplo), y el puerto 80 (que es el puerto de los servidores web), y la dirección IP de la máquina destino (nuestra IP) y un puerto cualquiera que el navegador ha seleccionado en ese momento del rango de los puertos libres en nuestra máquina.
DNS
Servidor de Nombres. Normalmente cuando nos referimos a una dirección, no estamos casi nunca escribiendo la dirección IP de 4 números. Lo normal es escribir un nombre, por ejemplo www.microsoft.com.

Pero tal y como visto anteriormente, nuestra máquina solo entiende de direcciones IP. Por tanto, es necesario que alguien traduzca el nombre en la dirección IP. Ese "alguien" es un servidor DNS (Domain Name Solver).

Normalmente, nuestro TCP, debe tener asignado la dirección IP del DNS, es decir qué máquina de internet (o intranet) nos va a resolver los nombres. Cada vez que a nuestra máquina le digamos un nombre, lo primero que hará será consultar al DNS para tener su dirección y poder referirse a ella por dirección.

Todos los nombre de Internet, deben localizarse en un DNS. Por ello, cuando nos conectamos a Internet, o bien hemos configurado los DNS de nuestra conexión telefónica, o bien nuestro proveedor de acceso a internet (ISP) nos lo puede asignar, al igual que nos asigna dirección IP, en el momento de establecer la comunicación.

El DNS de nuestro ISP, evidentemente no tendrá todas las direcciones de Internet, pero para aquellas que no tenga, tiene a su vez las direcciones de otros DNS a los cuales les reenvía (forwarding) la pregunta.

Al final, sea quien sea el que tiene la dirección real, el caso es que a nuestra máquina le llegará y por tanto, nuestra máquina (mejor dicho el programa que lo necesita en ese momento), a partir de entonces podrá referirse por dirección al otro PC o al otro servidor.
DHCP
Es el mecanismo estándar por el cual una máquina en internet, es capaz de dar automáticamente direcciones IP a las máquinas que se conectan sin dirección IP.

Hemos comentado que la dirección IP debe ser única en Internet. Pero por desgracia, no existen suficientes direcciones IP para que cada uno de nosotros tengamos una asignada. Y menos, si queremos distribuir y racionalizar esto un poco, es decir, distribuir las direcciones IP por rangos.

Por ello, los proveedores de Internet, suelen tener asignado un rango de direcciones, y lo normal es que los PC's no tengan dirección IP en la conexión telefónica. El proveedor de Internet, tiene entonces un servidor DHCP que nos dará una dirección en ese momento, de su rango de direcciones libre. Ese servidor DHCP, igualmente almacena y guarda en un fichero, a quien le ha dado la dirección IP al objeto de poder ser consultado en cualquier auditoría).
OTROS PROTOCOLOS
Existen otra serie de protocolos de mensajería y control: ICMP, IGMP, ARP, etc,... que aunque viajan por internet, son siempre transparentes al usuario final. Normalmente y por desgracia, estos son los más susceptibles a los temas de hacking.
¿CÓMO VIAJA FÍSICAMENTE UN MENSAJE?
A la hora de salir el mensaje "físico" por el cable, este ya no entiende de dirección IP. Entiende únicamente de la dirección física de la tarjeta de red destino. (Cada tarjeta de red, lleva internamente un número único en el mundo y que los fabricantes de hardware garantizan que es único).

Por ello, se debe convertir de nuevo, la dirección IP destino en la dirección MAC (la dirección física de la tarjeta destino comentada anteriormente).

Precisamente el protocolo APR mencionado anteriormente, lo utiliza, entre otras cosas, el propio TCP-IP para tener las direcciones MAC o bien de las maquinas destino a las cuales queremos alcanzar, o bien la dirección MAC del gateway o puerta de enlace de nuestra subred con la red externa o internet.

* Lo anterior es básicamente la implementación del TCP-IP bajo internet, o bien los conceptos con los que nos vamos a manejar a partir de ahora.

Existe una segunda implementación (que no es posible utilizar por internet), de la implementación LM (Lan Manager, definida por IBM a principios de la década de los 80), que nos permite utilizar el TCP-IP en las intranet, o bien en las redes domesticas. La implementación de Lan Manager se hace con la resolución de nombre NetBios sobre TCP-IP. Es decir, es un protocolo llamado NetBios y que se encapsula en mensajes TCP.

(para entender el tema del encapsulado, baste un pequeño ejemplo -y muy basto-, ¿es posible viajar el coche desde Madrid a New York?.... Pues sí: comienzo mi viaja en coche hasta la costa, allí meto el coche en un barco ('encapsulo'), atravieso el Atlántico, llego al puerto, saco el coche ('desencapsulo') y continúo hasta mi destino).


 
HAGAMOS UN BREVE RESUMEN
Aunque lo que hemos visto hasta aquí, es muy básico, prácticamente todos hemos tenido que configurar la conexión a Internet y siempre lo hemos hecho rutinario. Nuestro ISP nos daba las instrucciones. Generalmente no había que configurar nada y en algunos casos, los DNS's del ISP.

Con lo que hemos visto, supongo que hemos comprendido un poquito como funciona: tenemos un interfase de red (el modem) sin dirección IP. Al conectarnos, solicita de un servidor DHCP una dirección IP, así como los DNS's si estos no estuviesen configurados.

Según recibe la dirección IP en la nueva interfase de red, Windows cambia automáticamente las rutas de envío. Esto puede verificarse ejecutando el comando:

route print

antes y después de la conexión.

Acabo de conectarme e Internet y la salida de ese comando me informa de:

Active Routes:

Network Destination Netmask  Gateway  Interface  Metric
0.0.0.0 0.0.0.0  62.37.149.2  62.37.149.2  1
62.36.208.19  255.255.255.255  62.37.149.2 62.37.149.2  1
62.37.149.2  255.255.255.255 127.0.0.1 127.0.0.1  1
62.255.255.255 255.255.255.255 62.37.149.2 62.37.149.2 1
127.0.0.0  255.0.0.0 127.0.0.1  127.0.0.1 1
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1 1
192.168.0.1 255.255.255.255  127.0.0.1  127.0.0.1 1
192.168.0.255  255.255.255.255 192.168.0.1 192.168.0.1 1
224.0.0.0  224.0.0.0  62.37.149.2  62.37.149.2  1
224.0.0.0 224.0.0.0  192.168.0.1 192.168.0.1 1
255.255.255.255 255.255.255.255 192.168.0.1  192.168.0.1  1
Default Gateway: 62.37.149.2

Esta tabla de rutas indica por dónde saldrán nuestro mensajes IP. La manera de leerla es desde abajo hacia arriba.

Localizamos desde abajo a arriba, las líneas que tienen como gateway el 127.0.0.1 (que es el 'localhost', es decir la dirección de 'loppback' de nuestra propia maquina.

La primera entrada que encontramos es la que tiene como IP 192.168.0.1 (curiosamente, la dirección IP de mi tarjeta de red).

En la línea anterior, nos indica que todos los paquetes a la dirección 192.168.0.x (pongo una x ya que la mascara es 255.255.255.0) saldrán por el gateway 192.168.0.1 que es mi tarjeta de red. Es decir, para mi red local, la salida de los paquetes IP es por mi tarjeta de red.

Continuando, vemos que el siguiente 127.0.0.1, pertenece a la dirección 127.0.0.0. Esta entrada se ignora ya que es el propio 'loopback' local. Es decir el que se utiliza normalmente entre aplicaciones, que a pesar de ejecutarse en la misma máquina, se comunican entre ellas vía TCP-IP, como si estuviesen en máquinas diferentes.

Ascendiendo en la lista, nos encontramos que el siguiente 127.0.0.1, pertenece a la dirección 62.37.149.2. Curiosamente es justo la dirección IP que nos acaba de dar nuestro proveedor de Internet (ISP).

Se puede verificar esto, ejecutando el comando:

ipconfig /all

Bien, ascendiendo hacia arriba, ignoramos todas las que tienes máscara 255.255.255.255, y la primera que queda es: 0.0.0.0 (con máscara a ceros) sale precisamente (gateway) por la dirección IP de mi interfase de conexión a Internet (modem). Esto indica que cualquier dirección que no haya sido enviada antes (es decir, cualquier otra que no sea mi red local), saldrá por el modem.

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

Bien, lo visto en estas líneas, puede parecer un poco pesado y un poco raro. Pero es importantísimo cuando tenemos mas de una interfase de red, el saber leer correctamente la tabla de rutas.

Esta tabla que acabamos de ver, puede modificarse mediante el comando "route". Pueden añadirse y quitarse rutas de red. Si ejecutamos:

route /?

nos dará la sintaxis completa.

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

Lo importante de lo que hemos visto hasta ahora, es que estos conceptos que hasta el momento los he centrado en Internet, no solo son para Internet. Son para cualquier red TCP-IP (incluida nuestra posible red local).

José Manuel Tella LLop
Extraido de Multingles.net

Rango de puertos disponibles

Por regla general se recomiendan Puertos comprendidos entre rangos altos:
desde 60000 hasta 65535 (es un ejemplo recomendado en el Foro para no perderse).

Normalmente todos los Puertos son igualmente válidos, salvo que estén siendo utilizados
por alguna otra Aplicación, sean filtrados por tu ISP (Proveedor de Servicios a Internet)
o sean utilizados habitualmente por Troyanos:

- Listado de Puertos utilizados por la IANA a evitar.

- Listado de Puertos usados por Troyanos a evitar.

Según la IANA se deberían evitar todos los Puertos comprendidos entre el 0 y el 49151
que son los que están reservados para ser asignados a las Aplicaciones que lo soliciten.
El resto, desde el 49152 al 65535 es el rango para uso Dinámico/Privado ('libres').
Este es el rango en el que se deberían situar los Puertos a elegir.