croc介绍(转载自croc – 开源多平台命令行的加密文件和文件夹传输小工具 – Linux迷 (linuxmi.com))
croc是免费的开源命令行工具,用于在计算机之间安全地传输文件。 它使用中继辅助的对等事务和通过密码验证的密钥交换进行端到端加密。 该程序是用Go语言编写的,可用于Microsoft Windows,macOS,Linux和*BSD。
croc旨在能够在跨平台计算机之间安全,快速,轻松地传输文件和文件夹。 支持可恢复的对等传输。 作为一项额外功能,croc还能够直接安全地传输短文本或URL。
数据传输是通过使用原始TCP套接字或websocket的中继来完成的。 当发送方和接收方在同一LAN上时,croc使用本地中继,否则使用公共中继。 因此,croc可以在同一LAN或Internet之间的计算机之间发送文件,而无需启用端口转发。
通过中继的数据使用PAKE生成的会话密钥进行加密。 为此,croc使用代码短语,这是三个随机单词的组合。 默认情况下,一个密码短语只能在两方之间使用一次,因此攻击者将有不到40亿分之一的机会正确猜出该密码短语来窃取数据。
croc特色:
- 允许任何两台计算机传输数据(使用中继)
- 提供端到端加密(使用PAKE)
- 实现轻松的跨平台文件和文件夹传输(Windows,Linux,Mac和* BSD)
- 允许多次文件传输
- 允许恢复被中断的传输
- 不需要本地服务器或端口转发
- IPv6优先与IPv4后备
- 可以使用代理
Windows安装与使用
在Windows下首先需要安装一个包管理器scoop
,利用该包管理器可以很方便的进行软件工具的安装,以下是安装步骤:
scoop安装步骤
- 启动PowerShell并且输入以下命令,如果报错可参考如下文章:Scoop安装详解 | BoyInTheSun
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
安装成功示例:
croc安装步骤
- 执行如下命令即可安装
croc
scoop install croc
安装成功示例:
croc使用方法
在这里介绍的是相对路径的方法,首先进入到需要传输文件的目录下启动cmd,在这里假设F:\test
下的SQLEXPRADV_x64_CHS(2012).exe
注意:需要传输的文件名中不能有空格出现,下面图中的文件名存在空格,因此我执行时工具无法找到该文件,只需删掉空格即可。
执行步骤如下:
- 在地址栏中输入
cmd
启动控制台窗口
- 在控制台中输入如下指令,注意
croc send SQLEXPRADV_x64_CHS(2012).exe
- 回车之后等待一会即可得到接收端可以使用的接收指令
- 接收方以同样的方式安装
croc
,我这里使用的是虚拟机的机子进行测试
- 输入发送方生成的接收码
croc 2611-lady-havana-data
- 回车之后连接传输方,并提示是否确认接收
- 输入
y
即可接收文件
- 在接收方PowerShell显示的路径下即可找到刚刚传输的文件
其他用法
croc
默认是将链接信息发送到云端服务器,但我们也可以自己搭建一个代理服务器,这样即使是官方的服务器挂了或者是在内网环境中同样还可以使用,用法很简单,具体实现之后再补充,同样补充的还有Linux
端的使用方法。