Estou fazendo um trabalho para faculdade e para este devo desenvolver um software usando Sockets com um protocolo UDP.
O problema é que o servidor que devo implementar precisa identificar ruidos na rede (que serão simulados pelo cliente) e devo responder aos mesmos com pacotes ICMP sendo que estes devem ser manipulados manualmente.
Assim a minha pergunta é como eu posso acessar o checksum do cabeçalho de um pacote UDP para verificar erros na rede, e como eu criar pacotes ICMP?