您好,登录后才能下订单哦!
这篇文章主要介绍“NetCat怎么实现远程文件传输”,在日常操作中,相信很多人在NetCat怎么实现远程文件传输问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”NetCat怎么实现远程文件传输”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
NetCat(NC)是一个通过 TCP/UDP 在网络中进行读写数据工具,主要用于调式领域,传输领域甚至黑客攻击领域。利用 NetCat 工具,可以将网络中的完整数据发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体等功能。
NetCat 功能介绍:
可以实现任意 TCP/UDP 端口的侦听,NetCat 工具可以作为 Server 以 TCP 或 UDP 的方式侦听指定端口。
端口扫描,NetCat 工具可以作为 Client 发起 TCP 或 UDP 连接。
主机之间传输文件及网络测试等功能。
本文主要是针对于文件传输做一个简单的介绍(NetCat 的功能还是很强大的)
yum -y install netcat
nc [-hlnruz] [-g<网关...>] [-G<指向器数目>] [-i<延迟秒数>] [-o<输出文件>] [-p<通信端口>] [-s<来源地址>] [-v...] [-w<超时秒数>] [主机名称] [通信端口...]
NetCat 常见参数:
-u:使用 UDP 传输协议。
-v:显示更多的详细信息。
-l:使用监听模式,可以接收对方传送过来的文件等信息。
-n:直接使用 IP 地址,而不通过域名服务器(简单来说就是不使用 DNS 解析)
-N:在遇到 EOF 时关闭网络连接(多用于文件传输,可以说是文件传输的通知功能)
-p <通信端口>:指定本地主机使用的通信端口。
-s <来源地址>:指定本地主机送出数据包的 IP 地址。
-i <延迟秒数>:指定时间间隔,以便传送信息及扫描通信端口。
-o <输出文件>:指定文件名称,把往来传输的数据以 16 进制字码倾倒成该文件保存。
准备两台 Linux 主机:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install -y epel-release mawk mcrypt pv
| 主机名 | 操作系统 | IP 地址 |
|---|---|---|
| Server | CentOS 7 | 192.168.1.1 |
| Client | CentOS 7 | 192.168.1.2 |
注意:这里的 Server 端和 Client 端 并没有直接的区分开,关系可以随时交换,不要潜移默化(受到影响)。
1)简陋版聊天室
Server 端:
[root@Server ~]# mawk -W interactive '$0="Server: "$0' | nc -l 8888
Client 端:
[root@Client ~]# mawk -W interactive '$0="Client: "$0' | nc 192.168.1.1 8888
输出显示:


2)文件传输
收取方:
[root@Client ~]# nc -l 8888 > 1.txt
发送方:
[root@Server ~]# echo "Hello World" > 1.txt && nc 192.168.1.2 8888 < 1.txt

当发送方完成传输后,NetCat 并不会直接退出,而是需要用户手动退出(Ctrl + C)
1)当我们想要实现传输完成后,便自动退出时可以使用 -N 参数:
[root@Client ~]# nc -l 8888 > 2.txt [root@Server ~]# echo "Hello World" > 2.txt && nc -N 192.168.1.2 8888 < 2.txt

2)此外,还可以使用 pv 命令来查看文件传输的进度:
pv (Pipe Viewer):通过管道显示数据处理进度信息(跟 cp 的区别无非就是 pv 是通过 > 来进行传输)
[root@Server ~]# pv /var/log/messages > ~/messages.txt 700kiB 0:00:00 [4.33MiB/s] [=================================================>] 100%
使用 pv 结合 NetCat 命令来实现传输进度显示:
[root@Client ~]# nc -l 8888 > ~/messages.txt [root@Server ~]# pv /var/log/messages | nc -N 192.168.1.2 8888 700kiB 0:00:00 [ 189MiB/s] [=================================================>] 100%

3)当我们想要传输目录时,可以使用 tar 跟 NetCat 配合使用:
[root@Client ~]# nc -l 8888 | tar zxf - [root@Server ~]# tar czf - zhangsan | pv | nc -N 192.168.1.2 8888

4)在传输文件时进行加密操作:
[root@Client ~]# nc -l 8888 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb -k 123123 > zhangsan.txt [root@Server ~]# mcrypt --flush -Fbq -a rijndael-256 -m ecb -k 123123 < /etc/passwd | pv | nc -N 192.168.1.2 8888
-k:指定加密时所需要的密码,如果不指定,输入回车时会显示需要输入加密密码。
-d:表示接收加密并进行传输。

到此,关于“NetCat怎么实现远程文件传输”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。