Pregunta

Tengo que escribir un programa que olfatea los paquetes de red (part1-la parte sencilla).
Y tengo que actualizar el programa (parte 2), de modo que será capaz de terminar conexiones.
Los requisitos específicos son:

  

Construir paquetes primas mediante la especificación de información de la capa de enlace de datos y capa de red incluyendo fuente apropiada y destino MAC y direcciones IP. Estos paquetes están diseñados para terminar la conexión. Para ello, debe acostumbrado SOCK_RAW como el tipo de socket para poder establecer la información de cabecera por sí mismo.

¿Alguien puede dar algunas ideas sobre la segunda parte?
¿Debo secuestrar la sesión, aplique un ataque DoS en uno de los usuarios?

Todo lo que necesito es algunos consejos de cómo terminará la conexión. Estoy utilizando el lenguaje de programación C, y este es un curso asignado para el curso de seguridad.

¿Fue útil?

Solución

depende de lo que entendemos por terminar conexiones. Es posible que significan proporcionar un punto final para un circuito TCP o UDP corriente.

O bien, podría significar el envío de un RST aceptable en el medio de un flujo TCP para indicar el final de la secuencia. Para lograr esto hay que conocer el número de secuencia esperado por el otro lado, entre otras cosas.

De cualquier manera, es evidente que no ha estado prestando atención en clase. El punto de la asignación de la totalidad, al parecer, es para mostrar que entiende el diseño prima de paquetes IP y posiblemente TCP / UDP. Le sugiero que compre un libro de texto sobre el tema (sin duda recomendado por su profesor) y / o toma una lectura de Wikipedia.

Otros consejos

En esta asignación me gustaría utilizar pypacp , que es una captura y la inyección de paquetes pitón biblioteca. Pypcap utiliza sockets primas para forjar paquetes. Si por alguna extraña razón se ven obligados a utilizar C, entonces este proyecto va a ser más difícil. En este caso se debe utilizar libpcap para olfatear la línea y la biblioteca de conector directo dependerá de la plataforma se desarrollan sucesivamente.

Puede oler la línea en busca de la secuencia de identificación de TCP. Sobre la base de este id se puede forjar una RST o FIN para romper un lado de la conexión. La parte difícil será tratar de mantener la conexión TCP utilizando los conectores directos. Será casi imposible mantener la conexión de capa de aplicación, HTTP sería un protocolo más fácil de mantener, pero si era http sería más fácil simplemente secuestrar la cookie.

No puedo ayudar con librerías C - no es mi fuerte, pero parece que no debe haber algo por ahí

.

Pero parece que lo que está tratando de hacer en la parte 2 es evitar que una ventana de DOS, no hacer que uno!

Marque aquí:

http://en.wikipedia.org/wiki/Denial-of-service_attack

para la materia de los ataques de denegación de servicio. Como dice el PP, hay una serie de ataques relacionados con el mal uso de conexión, por lo que desea averiguar cuál es su assigment sobre - que uno es necesario comprobar hacia fuera con su prof. Por ejemplo, la página wiki anteriormente menciona SYN Floods - pero casi cualquier protocolo orientado a la conexión estará en riesgo de un ataque que se llena la agrupación de conexiones con demasiadas peticiones de conexión y luego no siempre cerrarlas

.

Asumo, la lectura de la asignación, que su trabajo consiste en encontrar la manera de solucionar este problema mediante el cierre de las conexiones que se abrió el atacante. Que significa que ambos tienen que averiguar cómo funciona el ataque, y luego encontrar la manera de recuperarse de ella.

SUGERENCIA: Golpe del servidor con una avalancha de peticiones de conexión de cerca no es un ataque. No es tan útil, ya sea, ya que no están necesariamente el cierre de las conexiones que están abiertos. Pero el daño es causado por las solicitudes de conexión abierta. Ver aquí:

http://en.wikipedia.org/wiki/SYN_flood

En un ejemplo.

puede utilizar libpcap para ayudar con el sniffing de paquetes. libpcap fue desarrollado por el equipo de tcpdump.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top