Press "Enter" to skip to content

Using Netcat for File Transfers

使用 Netcat 进行文件传输 Netcat 就像是极客的瑞士军刀。它几乎可以用于任何涉及 TCP 或 UDP 的事务。它最实用的用途之一是传输文件。非 *nix 用户通常没有设置 SSH,而使用 netcat 传输东西比设置 SSH 快得多。netcat 只是一个可执行文件,并且适用于所有平台(Windows、Mac OS X、Linux)。

在接收端运行,

nc -l -p 1234 > out.file 

将开始在端口 1234 上监听。

在发送端运行,

nc -w 3 [destination] 1234 < out.file 

将连接到接收者并开始发送文件。

如果发送者和接收者都安装了一些基本的 *nix 工具,为了更快的传输,你可以在发送过程中压缩文件,

在接收端,

nc -l -p 1234 | uncompress -c | tar xvfp - 

在发送端,

tar cfp - /some/dir | compress -c | nc -w 3 [destination] 1234 

使用 netcat 的一个更酷但不太实用的用途是,它可以使用一个名为 dd 的命令通过网络传输整个硬盘的映像。

在发送端运行,

dd if=/dev/hda3 | gzip -9 | nc -l 3333 

在接收端,

nc [destination] 3333 | pv -b > hdImage.img.gz 

请注意,使用 netcat 进行的文件传输不是加密的,网络上的任何人都可以抓取你正在发送的内容,因此仅在受信任的网络上使用此方法。

参考资料:https://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注