From LQWiki
Jump to: navigation, search

netcat lets you stream data of almost any kind across a tcp connection. For example, let's say you have two machines of similar configuration and you want to replicate the hard drive of one over to the other; you want to copy the "template" machine to a "target" machine.Given that both machines are online and the target machine has an IP of you can do this:

On the target machine

$ nc -l -p 8000 | dd of=/dev/hda1
The target machine is now listening on port 8000. Anything it receives it will write to the first partition of the first drive (hda1).

On the template machine

$ dd if=/dev/hda1 | nc 8000
The first partition of the template machine is read and piped to netcat, which sends it to the IP address and correct port of the target machine.

If you use this technique don't forget the Master Boot Record. You can copy it with:

$ dd if=/dev/hda bs=446 count=1 

See also