Archivo de la etiqueta: tcpip

Protección contra ARP poisoning

Ya he escrito en varias ocasiones acerca de problemas que permiten insertar un equipo entre nosotros y nuestros objetivos (Ataque Man In The Middle): aquí y aquí. En esta entrada, que amplía el «primer aquí», el objetivo es explicar en qué consiste y cómo podemos abordarlo. ¿Qué es ARP Poisoning? Consiste en conseguir indicarle a un nodo que la… Leer más »

IGMP: tráfico multicast y filtros

Cuando diseñamos una red una de las tecnologías/infraestructuras que planificaremos será la instalación de un cortafuegos*. En estas circunstancias tenemos que tener claro qué paquetes dejamos pasar, cuales desechamos, y todo en función de nuestra política de seguridad y sin perder la funcionalidad para la que estamos diseñando nuestra red. Si utilizamos OSPF o, en general,… Leer más »

Filtros de red para OSPF (Open Shortest Path First)

Si en nuestros routers utilizamos la estrategia de denegar todo por defecto y permitir expresamente lo que deseamos, en el caso de que estos equipos tengan configurado que aprendan sus rutas con OSPF, debemos habilitar dicho protocolo. Para ello, debemos tener en cuenta que OSPF se encapsula en datagramas IP con el número 89 de protocolo… Leer más »

Timeouts de TCP en GNU/Linux y opciones para «afinar» un servidor

Los tiempos de espera de TCP vistos en la entrada anterior se pueden consultar y modificar en GNU/Linux a través de los ficheros apropiados del /proc y, para afinar un servidor y mejorar sus prestaciones en base a estos timeout, podremos modificar sus valores en este sistema de archivos sin necesidad de recompilar el núcleo. Pero, antes… Leer más »

Timeouts de TCP

En TCP(1) existen 4 tipos de timeouts (tiempos de espera) y cada uno de ellos se aplica en diferentes momentos y con diferente duración. Algunos, incluso, podemos evitarlos si es lo que deseamos… Conocer estos tiempos es importante tanto para administradores de sistemas como para programadores de aplicaciones distribuidas (¡¡¡pocas no lo son ya!!!)

El cliente en Python

Y para terminar con el ejemplo de un esqueleto cliente-servidor en Python, el cliente: #!/usr/bin/python #encoding:utf-8 try: import socket import optparse,sys except: print(«Error running ‘import optparse,socket,sys’. Maybe you have to install some python library :)») parser = optparse.OptionParser(«usage%prog » + «-s <target server> -p <target port>») parser.add_option(‘-s’, dest = ‘server’, type = ‘string’, help =… Leer más »

SD: Esqueleto de servidor concurrente con Python (y2)

Continuando con programas en Python (que para eso es el lenguaje de programación de moda ), veremos un servidor que acepta múltiples peticiones de clientes, cada una de ellas, atendidas por un servicial hijo. Esta constituye la principal mejora que debíamos añadir  al código de servidor básico que vimos en la entrada referenciada. Aunque sea solo… Leer más »

Rogue/Spoofing DHCP

Un problema de seguridad que podemos tener es que «alguien» logre situar, entre nosotros y nuestro destinatario, un elemento intermedio que haga lo que le dé la gana: desde registrar lo que hacemos (y nuestras contraseñas, por supuesto, como la NSA pero más modesto 🙂 ) hasta reenviar nuestras peticiones a otros servicios similares al… Leer más »

Lista de puertos usados por un proceso…

Dado el PID  y sin necesidad de netstat o herramientas similares, podéis saber qué puertos tiene en uso (y su estado y mucha más información) dicho proceso con algo parecido a esto: ls -la /proc/$proceso/fd | grep socket | cut -d’>’ -f2|cut -d’:’ -f2 | while read id; do grep $id /proc/net/tcp; done; La información resultante la… Leer más »