NetCat工具命令介绍及远程文件传输实现

 更新时间:2022年03月21日 16:28:36   作者:愿许浪尽天涯  
这篇文章主要为大家介绍了NetCat工具命令的介绍以及远程文件传输实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

Hello,CSDN 的小伙伴们,大家好,因为这段时间博主工作比较忙,所以博客暂时就耽搁了一段时间,不过后面的话,博主也会抽时间写一些在公司可能会遇到的一些问题,以及一些常用的工具。

一、NetCat 简介

NetCat(NC)是一个通过 TCP/UDP 在网络中进行读写数据工具,主要用于调式领域,传输领域甚至黑客攻击领域。利用 NetCat 工具,可以将网络中的完整数据发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体等功能。

NetCat 功能介绍:

  • 可以实现任意 TCP/UDP 端口的侦听,NetCat 工具可以作为 Server 以 TCP 或 UDP 的方式侦听指定端口。
  • 端口扫描,NetCat 工具可以作为 Client 发起 TCP 或 UDP 连接。
  • 主机之间传输文件及网络测试等功能。

二、NetCat 命令介绍

本文主要是针对于文件传输做一个简单的介绍(NetCat 的功能还是很强大的)

1.Linux 上安装 NetCat 工具

yum -y install netcat

2.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 进制字码倾倒成该文件保存。

3.NetCat 常见用法

准备两台 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 地址
ServerCentOS 7192.168.1.1
ClientCentOS 7192.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)当我们想要传输目录时,可以使用 tarNetCat 配合使用:

[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工具命令介绍及远程文件传输实现的详细内容,更多关于NetCat工具命令远程文件传输的资料请关注脚本之家其它相关文章!

相关文章

  • shell字符截取命令之cut命令的实例详解

    shell字符截取命令之cut命令的实例详解

    这篇文章主要介绍了shell字符截取命令之cut命令的实例详解的相关资料,希望通过本文大家能够掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • linux shell 根据进程名获取pid的实现方法

    linux shell 根据进程名获取pid的实现方法

    这篇文章主要介绍了linux shell 根据进程名获取pid的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 远程SSH连接服务与基本排错经验总结

    远程SSH连接服务与基本排错经验总结

    下面小编就为大家带来一篇远程SSH连接服务与基本排错经验总结。小编觉得听不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 101个shell脚本 猜数字游戏代码

    101个shell脚本 猜数字游戏代码

    原本书上这个例子是教调试脚本的,它故意给出的脚本中有几个错误,教我们认识系统提示的错误,并修改运行。但比较难写出来,所以把修改好了的脚本放上来,这个脚本比较有趣味的
    2016-08-08
  • Shell获取当前正在执行脚本的绝对路径

    Shell获取当前正在执行脚本的绝对路径

    本文主要介绍了Shell获取当前正在执行脚本的绝对路径,主要有三种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Shell脚本检查IP格式及mysql操作实例

    Shell脚本检查IP格式及mysql操作实例

    这篇文章主要介绍了Shell脚本检查IP格式及mysql操作实例,本文直接给出脚本代码,需要的朋友可以参考下
    2015-05-05
  • shell脚本中case条件控制语句的一个bug分析

    shell脚本中case条件控制语句的一个bug分析

    在shell脚本中,发现case语句的一个问题。就是指定小写字母[a-z]和大写字母[A-Z]的这种方法不管用了
    2013-11-11
  • Linux中rz命令和sz命令使用详解大全

    Linux中rz命令和sz命令使用详解大全

    在linux中rz 和 sz 命令允许开发板与主机通过串口进行传递文件了,下面我们就来简单的介绍一下rz 和 sz 命令实例
    2015-10-10
  • Linux中搭建FTP服务器的方法

    Linux中搭建FTP服务器的方法

    这篇文章主要介绍了Linux中搭建FTP服务器的方法 的相关资料,需要的朋友可以参考下
    2015-09-09
  • Linux Shell脚本系列教程(六):数组和关联数组

    Linux Shell脚本系列教程(六):数组和关联数组

    这篇文章主要介绍了Linux Shell脚本系列教程(六):数组和关联数组,本文讲解了什么是数组和关联数组、定义打印普通数组、定义打印关联数组等内容,需要的朋友可以参考下
    2015-06-06

最新评论