On 05/04/2018 07:56 AM, Chris Olson wrote:
Bottom Line: Mystery partially solved. What is left is why the /dev/null destination for the data does not work.
...
Attempting Transfer Of dd Created Output To /dev/null
ftp> ftp> put "|dd if=/dev/zero bs=32768 count=8000" /dev/null local: |dd if=/dev/zero bs=32768 count=8000 remote: /dev/null 227 Entering Passive Mode (192,168,1,101,27,154) 500 OOPS: ftruncate dd: writing `standard output': Broken pipe
It looks like the FTP server is attempting to use ftruncate() on the destination file, and that call fails when the destination file is /dev/null. The server then closes the connection, and dd reports that it cannot write to its stdout fd, and the error reported is EPIPE.
You might not get that error with a different ftp server, and there are no shortage of options there. However, you're probably just as well off with something that has less overhead. You can use "nc" (netcat) for this task, or iperf as was suggested earlier.