Voy a responder esto asumiendo que usted querría hacerlo en C.
- Wireshark: Un disector de paquetes basado en GUI. Si tiene su propio protocolo, puede escribir un disector básico para analizarlo.
- Open SSL: Implementación del protocolo SSL / TLS.
- LibreSSL: una bifurcación de OpenSSL que se realizó después del error de sangrado del corazón. Muchas cosas que podrías hacer aquí.
- libcurl: Una impresionante biblioteca de transferencia de archivos multiprotocolo.
- Libnet: Una biblioteca para la inyección de paquetes de capa inferior.
- ab: herramienta HTTP de Apache Bench-marking normalmente utilizada para las pruebas de rendimiento.
- Tcpreplay: ¡Con esta herramienta puede generar tráfico desde capturas de paquetes!
¡Selecciona la capa que te interesa y empieza a trabajar!
Antes de sumergirse en proyectos de código abierto, le recomiendo que intente hacer pequeños proyectos de redes. Podrías hacerlo:
- ¿Qué es una marca 'común' de un grado importante que se requiere para ingresar a Cambridge, Oxford o Imperial para estudios de posgrado en física?
- ¿Qué más debo hacer para entrar en MIT o Stanford?
- ¿Qué percentil CAT se requiere para recibir una llamada de los principales IIM? Obtuve el 93% para la clase 10, el 95% para la clase 12 y un CGPA de 8.2 en mi B.Tech (NIT).
- ¿Cómo estudiar para ingresar a un programa de doctorado en una de las mejores universidades de EE. UU. Dentro de 2 años? Recientemente me gradué de una conocida universidad india con un GPA de alrededor de 7.5. Tengo muy poca experiencia en investigación. ¿En qué cosas debería concentrarme?
- ¿Debo incluso aplicar a Stanford? Tengo un GPA de 3.5UW y 4.5W, 1300 SAT y habré tomado 12 exámenes AP cuando me gradúe. He codificado, organizado y actualmente publico en un sitio web dedicado a publicar noticias reales y eliminar sesgos.
1. Una aplicación de servidor de cliente simple. Uno que utiliza TCP y otro con UDP. Si su aplicación tiene su propio conjunto de reglas, puede usar Wireshark para crear un disector para su protocolo y analizarlo.
2. Cree su propia herramienta de ping utilizando libnet, donde puede realizar el procesamiento de y su herramienta genera solicitudes de ICMP y maneja las respuestas de ICMP.
3. Cree una herramienta similar a “Curl” en la que utilice sus API para enviar solicitudes HTTP. La herramienta debe soportar HTTP y HTTPS.
Aprenderá sobre libcurl y entenderá cómo funciona SSL.
También puede encontrar proyectos en diferentes idiomas, pero intente hacerlo en C