Primeiro, seria útil ver se você pode replicar a corrupção de dados usando o ping, em vez de usar o TCP. O ping usa um eco ICMP, envia uma carga útil conhecida (que você pode especificar se precisar) e informará se a carga está corrompida quando retornada. Pelo menos, isso é o que a página de manual me diz.
Você provavelmente desejará usar um tamanho de pacote longo (talvez 1400 bytes ou mais) e ver se é possível especificar um intervalo baixo, talvez 0,1 segundos, para poder reproduzir o erro em um período de tempo razoável. Essas configurações geram aproximadamente 15 kB / s de tráfego para e do servidor. (1400 bytes / 0,1 segundo + sobrecarga)
Então, por que usar um ping em vez da conexão TCP? Como provavelmente você pode executar ping na maioria dos hosts no caminho entre o servidor e seu cliente e, portanto, é possível testar apenas parte do caminho .
Começando testando o caminho completo (até o seu servidor, para determinar se o teste reproduz seu problema). Armado com um traceroute, você pode testar apenas parte do caminho. Cada teste que você faz pode dividir seu espaço de busca pela metade e, após alguns testes, você poderá encontrar o salto que está causando seus problemas.
Ressalva: Isso não funcionará da maneira esperada se a corrupção estiver ocorrendo no caminho de retorno para a máquina de teste, e não no caminho a seguir. O traceroute só pode dizer a rota que seus pacotes estão levando para o servidor, não o caminho que os pacotes retornam, e esses caminhos não são necessariamente os mesmos. Ainda assim, deve ser o suficiente para você chegar a algum lugar.
Boa sorte!