Лучший способ понять, что такое сокеты и как они работают - написать несколько простых клиент-серверных программ. Хорошая новость: для этого достаточно нескольких строк на Python или Go. А если хочется испытать себя, попробуйте C - кода будет больше, зато вы окажетесь максимально близко к реальному системному API.
Несколько задач для практики в безопасном и контролируемом окружении с полезными подсказками:
— Написать простой TCP Echo-сервер
https://labs.iximiuz.com/challenges/write-tcp-echo-server
— Задача попроще: написать клиент для сервера телеметрии
https://labs.iximiuz.com/challenges/write-tcp-client-for-telemetry-server
— Задача посложнее: написать клиент для чат-сервера
https://labs.iximiuz.com/challenges/write-tcp-client-for-chat-server
— Сделать сервер, который работает и с TCP-, и с Unix-сокетами
https://labs.iximiuz.com/challenges/write-stream-echo-server
Удачного хакинга!
👉 DevOps Portal
