Verifique se não há firewalls no caminho (para verificar no Wireshark, verifique se um pacote TCP SYN chega à instância de escuta) e verifique se o encaminhamento de porta está configurado corretamente se você estiver acessando a Internet por meio de um firewall ou home roteador. Se você não estiver obtendo um pacote TCP SYN, trabalhe de volta para a máquina de origem até ver onde ele pára. Se você vir um pacote TCP SYN recebido seguido por um pacote TCP SYN / ACK de saída, certifique-se de que o pacote esteja chegando ao nó de origem e que ele responda com um TCP ACK.
Com base no fato de que ele funciona ao escutar o Windows e o ncatting do Linux, eu verificaria as configurações pessoais do firewall para os firewalls no Linux e no Windows e verificaria se eles estão configurados de forma diferente. Certifique-se de permitir tráfego de entrada na porta em que está escutando (neste caso, 3333).
Uma diferença que existe com o verdadeiro Netcat entre o Linux e o Windows é que no Windows há um sinalizador -L que causa escuta persistente após um encerramento. Isso pode não ter nada a ver com esse problema, mas achei que valeu a pena mencionar.