Netcat或nc是一个命令行程序,它使用TCP或UDP协议通过网络连接读取和写入数据。
它是网络和系统管理员中最强大的工具之一,被视为网络工具的瑞士军刀。
Netcat是跨平台的,可用于Linux,macOS,Windows和BSD。您可以使用Netcat调试和监视网络连接,扫描打开的端口,传输数据,作为代理等等。
Netcat软件包已预安装在macOS和流行的Linux发行版,如Ubuntu,Debian,CentOS,Fedora等。
Netcat命令的最基本语法形式是nc [options] host port
。host
可以是u远程主机的域名,主机名或者是IP地址。port
是端口。
在Ubuntu,您可以使用netcat
或nc
。它们都是Netcat的openBSD版本的符号链接。
默认情况下,Netcat将尝试建立与指定主机的TCP连接。如果要建立UDP连接,请使用-u
选项。
nc host port
nc -u host port
Netcat 发送目录
如果要递归发送目录数据,可以使用tar命令在发送端的计算机创建归档文件,然后在接收端的计算机提取存档文件。
在接收端的计算机运行命令nc -l 5555 | tar xzvf -
设置Netcat监听端口5555并接收数据。
然后将接收到的数据通过管道传递到tar命令,tar命令的xzvf
选项表示提取存档.tar.gz
文件。
在发送端的计算机运行命令tar czvf - /path/to/dir | nc receiving.host.com 5555
,建立与接收端计算机的连接,然后发送由tar
命令创建存档文件数据。
您可以在两端观察传输进度。完成后,键入CTRL+C
关闭连接。
nc -l 5555 | tar xzvf - #run on receivce of computer
tar czvf - /path/to/dir | nc receiving.host.com 5555 #run on send of computer
结论
至此,你已经知道如何在Linux运行nc命令建立TCP连接并发送目录。如果您有任何疑问或意见,请在下面发表评论。