3 ms·
Netcat is seriously awesome, and still exists very much under the radar of a lot of people. I've used to to copy files around the planet, the datacenter, and t
by UI_at_80x24 5y ago
Netcat is seriously awesome, and still exists very much under the radar of a lot of people. I've used to to copy files around the planet, the datacenter, and the lab.
It excels at doing things "right now". If I have a terminal window open on a server in France and one in the US; then I can easily move that file. However, If I have to move my body to the target location before I can copy the file it doesn't work as well. (Need to jump through a few other hoops that make it more challenging.)
Protip: ALWAYS grab the hash of the file before you send it, and compare.
2nd Protip: Encrypt your file(s) before you send them.
Something like this is decent for moving a file at your leisure, or to give a copy to somebody else at their leisure.
- nick__m 5y agoI would like to know if there are any advantages to use nc instead of scp ?
- yjftsjthsd-h 5y agoMost obviously, the same things as its disadvantages:) With nc, you don't have encryption or authentication, which is good - faster, no keys to set up, no fingerprints to accept - and terrible - no transport encryption, no data integrity verification, no access control except for at the network layer. Also, slight difference in how you use them: scp operates on files, nc on streams. But you can just pipe over SSH, so that's not a big difference IMO.
- UI_at_80x24 5y agoYou don't need an account on the target system. Target PC opens a port and starts listening (outputting to file) Sending machine establishes a connection to the listening port, and starts copying the file. Example (hide a file transfer as DNS traffic) Listening computer: nc -l -u -p 53 > output.file Sending computer: cat original.file > nc -u [destination ip address] 53 In this case you'd be dumb not to encrypt the file before transit. And as I mentioned already make sure you have a hash of the original. You can also use TCP. These are sneaky/simple ways to move files around. Downside: You need to poke a hole in a firewall, but options exist for that too. ssh/scp downside: You need an account on target PC to connect to. nc downside: you need an open port on the listening PC.
- ducktective 5y agoThanks! - Your 'sending' snippet should use | instead of >. - ports 1-1023 are privileged.
- UI_at_80x24 5y agoOops, you're right about the pipe.. I thought that looked a bit wrong, but ignored my gut. Privileged port: I'm root anyway. =) I can't make it too easy on these kids.
- UI_at_80x24 5y agoI forgot to mention. 1 tremendous advantage to netcat: SPEED. This is the only "real-world" way to test line speed. 0 overhead, no faffing about services. If you can't get line-rate speed on your LAN with this your hardware needs to be looked at. iperf is handy, netcat is raw and real.
- ducktective 5y agoIs there an online service to `nc` files into with temporary storage (like transfer.sh)? I know of termbin.com for code snippets...