Пишешь Серверное и клиентское приложение.
Устанавливаешь серверное приложение на все тестируемые машины.
С клиентского конектишься и засылаешь пару байт обьем файла, а затем файл.
Клиентское получает размер и засекает время начала. Получает весь обьем данных, считает разницу во времени между началом и завершением. Высчитывает скорость. Засылает обратно значение.
Можно еще в начале и конце потока клиентский таймштамп отправить, чтобы видеть разницу во времени продолжительности заливки и продолжительности получения.