El documento describe los protocolos TCP y UDP en la capa de transporte de TCP/IP. TCP proporciona una entrega fiable de datos mediante confirmaciones, mientras que UDP no es fiable. Ambos protocolos usan puertos para identificar aplicaciones y permitir múltiples conexiones. Se explican herramientas como netstat y nmap que permiten examinar los puertos abiertos y servicios en una máquina.
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)Belen Toledo
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
El protocolo TCP es protocolo fundamental para el uso de internet ya que da soporte a varias aplicaciones de internet. la cabecera de este protocolo está conformada por puertos de origen y destino, números de secuencia, acuse de recibido, longitud de cabecera, flags, una ventana de recepción un checksum y opciones y relleno esta información nos permitirán saber si la cabecera está estructurada correctamente y así garantizar el buen funcionamiento de protocolo.
El protocolo UDP es un protocolo de transporte basado en el intercambio de datagramas, este protocolo se utiliza para transmitir voz o vídeo, cuando resulta más importante transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los bytes donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos. La cabecera UDP consta de cuatro campos de los cuales dos son opcionales dirección de origen y dirección de destino y los otros campos obligatorios son Longitud y Suma de comprobación.
belen.toledo@ucuenca.ec
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)Belen Toledo
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
El protocolo TCP es protocolo fundamental para el uso de internet ya que da soporte a varias aplicaciones de internet. la cabecera de este protocolo está conformada por puertos de origen y destino, números de secuencia, acuse de recibido, longitud de cabecera, flags, una ventana de recepción un checksum y opciones y relleno esta información nos permitirán saber si la cabecera está estructurada correctamente y así garantizar el buen funcionamiento de protocolo.
El protocolo UDP es un protocolo de transporte basado en el intercambio de datagramas, este protocolo se utiliza para transmitir voz o vídeo, cuando resulta más importante transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los bytes donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos. La cabecera UDP consta de cuatro campos de los cuales dos son opcionales dirección de origen y dirección de destino y los otros campos obligatorios son Longitud y Suma de comprobación.
belen.toledo@ucuenca.ec
Pagina: http://www.pilas.net/20060531/tecnologias-libres-para-tuneles-y-vpns/
Cuando pensamos en seguridad en la red generalmente se nos ocurren dos alternativas: Utilizar protocolos de aplicación que en forma nativa provean encripción y autenticación (p.e. https, imaps, etc), o implementar una solución “completa” mediante IPsec. Pero que sucede cuando estamos obligados a trabajar en situaciones donde IPsec no es viable por limitaciones de los SOs, o por su dificultad de implementación y mantenimiento, y a la vez precisamos asegurar protocolos de aplicación que no soportan encripción y autenticación en forma nativa.
Existen muchas soluciones en software libre orientadas a crear túneles y VPNs, y no siempre es fácil elegir la más indicada para cada caso. Dada la cantidad de soluciones existentes, es necesario emplear mucho tiempo en comprender el funcionamiento de cada una y hacer pruebas de laboratorio para determinar la escalabilidad, facilidad de uso y necesidades de administración de cada una.
En la conferencia, se verán distintos modos de crear túneles y VPNs, discutiendo las ventajas de cada implementación particular y mostrando ejemplos de configuración. El objetivo de la conferencia es que los participantes obtengan conocimientos generales sobre estas tecnologías de modo que sean capaces de elegir las mejores soluciones para cada problema.
Similar a Vip genial conceptos de red 127145558 capa-de-transport-e (20)
Vip genial conceptos de red 127145558 capa-de-transport-e
1. El nivel de transporte:
TCP y UDP
Puertos
José María Morales Vázquez
josemaria@uponaday.net
2. Funciones
● En la capa de enlace teníamos un servicio
de entrega de mensajes entre equipos de la
misma red.
● La capa de transporte es la encargada de
entregar mensajes entre equipos aunque no
estén en la misma red.
● En la familia TCP/IP tenemos dos protocolos
en este nivel: uno fiable y orientado a
conexión (TCP) y otro no fiable y no
orientado a conexión (UDP)
3. Diferencias entre TCP y UDP
● TCP (Transmission Control Protocol) entrega los
envíos en orden y se asegura de que no hay
pérdidas enviando acuses de recibo que, si no
llegan, sirven para que el emisor reenvíe los
paquetes
● UDP (User Datagram Protocol) no entrega en
orden ni asegura la entrega de todos los paquetes.
● La conexión con TCP se “negocia” y se “cierra”
formalmente pero en UDP no
● UDP se usa cuando es más importante la velocidad
que la fiabilidad. Todos los envíos de vídeo y
sonido por red, por ejemplo, lo usan.
4. Puertos
● La capa de transporte añade el concepto de
puerto, un número de 16 bits.
● Tenemos un máximo de 65536 puertos.
● El uso de puertos es lo que permite que existan
múltiples conexiones simultaneas
● Cada aplicación que requiere de la red se asocia a
uno o varios puertos, según su necesidad, tanto
para el envío como para la recepción de
información. El puerto usado no tiene que (y no
suele) ser el mismo en cada extremo de la
conexión
● Los puertos son usados tanto por TCP como por
UDP y son independientes para cada uno de ellos.
5. Identificación de los puertos
● Los puertos del 0 al 1023 son los “bien
conocidos” (well-knows) y están asociados a
aplicaciones de uso generalizado y asignados
por la IANA.
● Entre el 1024 y el 49151 se encuentran los
llamados “registrados” y del 49152 en adelante
se llaman “temporales, dinámicos, efímeros o
privados”. Todos ellos se suelen usar para
conexiones temporales, pero los registrados,
además, pueden ser usados por aplicaciones
de cliente que no tienen un puerto asignado por
la IANA
6. Listas de puertos
● Podemos ver los puertos y sus aplicaciones
asociadas en:
● http://www.iana.org/assignments/port-numbers
● En windows en:
c:windowssystem32driversetcservices
● En GNU/Linux: en /etc/services
7. TCP
● Es un protocolo fiable porque garantiza que los datos
llegan correctamente. Para ello, el receptor envía una
confirmación por cada paquete de datos que recibe.
Si pasado un tiempo el emisor no recibe confirmación
de algún paquete, lo retransmite. El mecanismo
usado para esto se llama protocolo de ventana
deslizante.
● Los paquetes enviados se numeran para
reordenarlos y para facilitar estas confirmaciones.
● Es un protocolo orientado a la conexión pues se
establece una negociación previa a la transmisiń de
los datos que se cierra formalmente una vez
terminada la transmisión.
8. Protocolo de ventana deslizante
● Se usa para recibir las confirmaciones de envío y
para no inundar al receptor con mensajes que no
puede procesar.
● El emisor divide su envío en paquetes. En un
protocolo de ventana deslizante de tamaño 8, por
ejemplo, el emisor mantiene hasta 8 paquetes sin
confirmación de envío.
● El receptor envía un ACK por el último envío recibido
correctamente y el emisor desplaza la ventana
cuando esto ocurre.
● Los mensajes llevan un código CRC que les permite
corregir o detectar la mayoría de los errores.
11. UDP
● UDP no es fiable porque los mensajes pueden
llegar dañados, duplicados o no llegar.
● UDP incorpora un mecanismo de checksum
para ver si los mensajes llegan dañados, pero
no hace nada por repararlos o reclamarlos.
● En una transmisión UDP no se realiza una
conexión previa ni un cierre ordenado. Se
empieza a retransmitir sin más.
● La transmisión UDP es unidireccional y el
receptor no puede contestar al emisor.
12. Escáneres de puertos
● netstat es una utilidad del sistema operativo,
disponible en windonws y en linux (aunque con
algunas diferncias en el significado de los
argumentos), que nos permite ver los puertos que
está usando nuestro equipo, tanto de conexiones
entrantes como salientes.
● Existen aplicaciones denominadas escáneres de
puertos que sirven para ver las aplicaciones que
un equipo tiene a la escucha y los puertos que
usa.
● Los escáneres de puertos son ampliamente
usados en seguridad y ataques de intrusión.
13. netstat en windows
● Proporciona información sobre el estado de la red y las
conexiones abiertas. Algunos ejemplos:
● Estadísticas: netstat -e
● Estadísticas por protocolo: netstat -es
● Visualiza todas las conexiones activas o en escucha:
netstat -a
● Da el nombre del binario que ha abierto la conexión: netstat
-b
● Da el nombre de todos los archivos (dll, etc) involucrados en
la conexión: netstat -bv
● Añadiendo un número al final en casi todas la anteriores
indicamos un intervalo de refresco en segundos y muestra
la información continuamente. Por ejemplo, netstat -a 10
14. netstat en Linux
● Ejemplos:
● Información de los interfaces de red: netstat -i
● Estadísticas de uso: netstat -s
● Muestra todas las conexiones, activas o a la escucha,
y el nombre del programa involucrado: netstat -antpe
● Idem al anterior pero sólo muestra las conexiones a
la escucha: netstat -lntpe
● Idem al anterior pero sólo muestra las conexiones
activas: netstat -ntpe
● La opción c añadida a casi todas las anteriores
muestra la información en modo continuo. Por
ejemplo netstat -cntpe
15. nmap
● nmap es el mejor escaner de puertos. Es
gratuito, de código libre y capaz no sólo de ver
los puertos abiertos de una máquina sino el
servicio y la versión del mismo que está
ejecutándose al otro lado, la versión del sistema
operativo, si existe algún tipo de cortafuegos o
filtro de paquetes, etc.
● Es multiplataforma y aunque se prefiere la
versión en línea de comando, dispone de una
interfaz gráfica llamada Zenmap.
● http://nmap.org/download.html
● http://www.nmap.org/zenmap/
18. Auditoría con nmap
● Empezamos con un Ping Scan (-sP) para saber
que hosts existen y están accesibles
19. Auditoría con nmap (y II)
● Podemos especificar las direcciones de
diferentes formas:
● nmap 192.168.1.1
● nmap 192.168.1.0/24
● nmap 192.168.1.128-255
● nmap 192.168.1.1 192.168.1.10 192.168.1.13
● nmap www.elpais.com
● Haz una prueba y observa las diferencias en los
resultados cuando escaneamos hosts en
nuestra propia red o en otra.
20. Auditoría con nmap (y III)
● Ahora vamos a elegir objetivo y tratar de identificar
puertos abiertos, servicios, versiones, etc.
● Por defecto, nmap escanea sólo los 1000 puertos más
comunes.
● Con la opción -F (fast) limita a los 100 más comunes.
● Con la opción --top-ports N limita a los N más comunes
● Con la opción -p podemos especificar que puertos
un número determinado: -p 22,25,110
un rango: -p1-1000
todos los los puertos: -p-
● Cuantos más puertos elijamos más lento será el escaneo
21. Auditoría con nmap (y IV)
● Algunas otras opciones interesantes:
-v (de verbose) da explicaciones acerca de lo que está
haciendo el scanner
-vv muestra aún más información
--reason Da razones acerca de los resultados que da
sobre los puertos
-sS lanza el mensaje de SYN y espera la respuesta,
pero no establece la conexión
-A realiza una detección automática del sistema
operativo y de los servicios que escuchan en los puertos
abiertos
-sU escanea los servicios UDP en lugar de los TCP
-f fragmenta los envíos para que sean más difíciles de
detectar por un cortafuegos o un IDS/IPS
24. Auditoría con nmap (y VII)
● Las últimas versiones admiten ataques por
fuerza bruta a algunos servicios
25. Auditoría con nmap (y VIII)
● Scripts para ataques por fuerza bruta
incluidos en la versión actual:
● afp-brute, domcon-brute, drda-brute, ftp-brute,
http-brute, http-form-brute, informix-brute, iscsi-brute,
ldap-brute, ms-sql-brute, mysql-brute,
netbus-brute, oracle-brute, oracle-sid-brute,
pgsql-brute, pop3-brute, smb-brute, snmp-brute,
svn-brute, telnet-brute, vnc-brute
26. Auditoría con nmap (y IX)
● Existen muchos otros scripts útiles para
nmap: para interrogar servidores dhcp
(dhcp-discover), para leer las cabeceras de
los servidores web (http-headers), para ver si
un servidor de ftp admite acceso ańonimo
(ftp-anon), para saber si un servidor de
correo está abierto y se puede usar para
enviar spam (smtp-open-relay), etc.
● La lista completa y la referencia de para que
sirven está aquí:
● http://nmap.org/nsedoc/index.html
27. nmap y el cine
● nmap es tan popular entre los hackers que
aparece en numerosas películas: Matrix, La
Jungla de Cristal, Battle Royale, Millenium, el
ultimatum de Bourne, etc.