O oposto do que você está perguntando é muito comum - Wake On LAN (WOL). Para responder à sua pergunta, será muito mais fácil explicar isso primeiro.
WOL
O WOL requer que esses recursos estejam presentes
-
A rede no PC desligado deve ter suporte embutido em seu driver.
-
A placa-mãe (BIOS) deve suportar um modo de baixa energia que ainda fornece uma pequena quantidade de energia para a NIC quando o PC está desligado.
-
Um segundo dispositivo de PC / rede deve estar na LAN (para simplificar este exemplo simplificado - você pode fazer isso pela Internet) e deve ter software para gerar um pacote especial.
Quando o PC está desligado, o PC que irá comandá-lo para ligar cria um pacote mágico:
The magic packet is a broadcast frame containing anywhere within its payload 6 bytes of all 255 (FF FF FF FF FF FF in hexadecimal), followed by sixteen repetitions of the target computer's 48-bit MAC address, for a total of 102 bytes.
Este pacote é enviado para todos na LAN. Cada NIC verifica o endereço MAC e, se for uma correspondência, diz à placa-mãe para ligar o sistema.
Com um pacote UDP
Para sua pergunta, é muito mais fácil. O PC está ativo e o MB / NIC não precisa estar ciente de um pacote especial. Um programa simples, ou um script que aproveite um programa como o nc, pode ser configurado para escutar um pacote UDP em uma porta específica com conteúdo pré-definido.
Como o UDP é sem conexão, nenhuma sobrecarga (pacotes transacionais) está envolvida. Um único pacote é suficiente. O que acontece após o recebimento pode ser qualquer coisa - desligue, inicie outro programa, exclua o conteúdo do disco rígido ...
Você poderia enviar este pacote de qualquer lugar assumindo que o roteamento adequado existe - é apenas um ponto normal para apontar a mensagem UDP.
Você também pode, e na verdade DEVE, trabalhar com recursos de segurança no conteúdo do pacote para autenticar o pacote.
Na verdade, seria um projeto de introdução decente para programação de soquete.
Solução TCP
O uso de um pacote TCP requer mensagens gerais e indiretas para manter o soquete ativo, para que ele não atenda aos seus requisitos.
Mas você poderia configurar uma regra de firewall no PC usando iptables que identificaria o pacote TCP e o transformaria em algo utilizável como disparador para disparar um programa para executar a atividade desejada. Um pouco kludgey mas totalmente factível.