É difícil dizer que campo LEN você está lendo sem ver a captura real. O Wireshark pode ter mudado de dissecadores em algum momento e agora você está lendo a duração de algo diferente do que você espera.
Eu não me envolveria muito nas ervas daninhas fazendo um rastreamento de protocolo quando você está tentando escrever um aplicativo. Se você puder se conectar via telnet, as camadas de rede estão funcionando e o problema é mais provável no seu código.
Tente criar outro aplicativo que simplifique a equação apenas para um soquete e veja se isso pode se conectar. Mesmo que não envie / receba conteúdo útil, qualquer conexão é um progresso.