linux NC命令详解及使用

命令简介

  1. NC是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。Nc
    命令在linux系统中实际命令是ncat,nc是软连接到ncat。
  2. NC命令的主要作用如下:
  • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 机器之间传输文件
  • 机器之间网络测速

下载方式

  1. Centos 安装nc

     yum -y install nc
    

参数详解

  1. 命令格式

     nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端
    
     口>] [-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
    
  2. 命令选项

  • -g<网关> 设置路由器跃程通信网关,最多可设置 8 个。

  • -G<指向器数目> 设置来源路由指向器,其数值为 4 的倍数。

  • -h 在线帮助。

  • -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。

  • -l 使用监听模式,管控传入的资料。

  • -n 直接使用 IP 地址,而不通过域名服务器。

  • -o<输出文件> 指定文件名称,把往来传输的数据以 16 进制字码倾倒成该文件保存。

  • -p<通信端口> 设置本地主机使用的通信端口。

  • -r 乱数指定本地与远端主机的通信端口。

  • -s<来源位址> 设置本地主机送出数据包的 IP 地址。

  • -u 使用 UDP 传输协议。

  • -v 显示指令执行过程。

  • -w<超时秒数> 设置等待连线的时间。

  • -z 使用 0字节 输入/输出模式,只在扫描通信端口时使用。

使用示例

  1. 验证服务器端口是否通
    如下验证 192.168.44.142 端口 22/tcp 端口通不通

    nc -zv  192.168.44.142 22
    
  • z 使用 0字节 输入/输出模式,只在扫描通信端口时使用

  • v 显示指令执行过程

    Ncat: Version 7.80 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.44.142:22.
    Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.	#连接成功
    

    测试一下端口不通的情况

      nc -zv  192.168.44.142 80
    
    Ncat: Version 7.80 ( https://nmap.org/ncat )
    Ncat: Connection refused.		#连接被拒绝
    
  1. 消息传输
    2.1. 首先在文件接收端激活nc监听,作为server端

     nc -lp 8888 
    

    在本地监听8888端口

  • l 使用监听模式,管控传入输入信息

  • p <通信端口> 设置本地主机使用的通信端口

    2.2. 客户端连接通过ip地址和端口连接server端
    注:ip地址是server端的ip地址

      nc 192.168.44.42 8888
    

    3.3. 测试在client发送消息,查看在server端是否能接收到消息
    注:回车发生消息

    也可以通过管道传输文件

  1. 验证UDP端口

     nc -uvz 192.168.44.142 68
    

    如下验证 192.168.44.142 端口 68/udp端口通不通

  • u 使用 UDP 传输协议

  • v 显示指令执行过程

  • z 使用 0 输入/输出模式,只在扫描通信端口时使用

    Ncat: Version 7.80 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.44.142:68.
    Ncat: UDP packet sent successfully			#发送成功
    Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds	
    
  1. 测试网速
    测速网速需要结合dstat命令查看。
    安装dstat命令:

      yum install -y dstat
    

    需要使用两台主机测试,两台主机都需要安装dstat

    主机1:192.168.44.146
    主机2:192.168.44.142

    在主机2上监听端口 8888

     nc -l 8888
    
  • l 使用监听模式,管控传入输入信息

    在主机1上向主机2发送数据

      nc 192.168.44.142 8888 < /dev/zero
    

    发送全0数据

    查看流量

      dstat
    

    linux NC命令详解及使用_第1张图片

你可能感兴趣的:(linux基础,运维,服务器,网络)