linux NC命令详解及使用

news/2024/11/9 0:53:40/

命令简介

  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
    

    在这里插入图片描述


http://www.ppmy.cn/news/1189687.html

相关文章

【牛客网】安全—加密和安全

每日一练 Day1&#xff1a; 1.信息安全的基本属性是&#xff08; D &#xff09; A.保密性 B.完整性 C.可用性&#xff0c;可靠性&#xff0c;可控性 D.A、B、C都是 信息安全的基本属性通常可以归纳为以下几个方面&#xff1a; 保密性&#xff08;Confidentiality&#xf…

对比解析php和go对JSON处理的区别

一、go 转化php数组代码 php程序 $str <<<EOF {"操作源":"任意","数据库":"任意","语句类型":"CREATE DATABASE&#xff1b;DROP DATABASE&#xff1b;ALTER DATABASE","影响行数":"不…

剑指Offer || 080.组合

题目 给定两个整数 n 和 k&#xff0c;返回 1 ... n 中所有可能的 k 个数的组合。 示例 1: 输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2: 输入: n 1, k 1 输出: [[1]]提示: 1 < n < 201 < k < n 注意&#xff1a;本题与主站 …

iOS使用AVCaptureSession实现音视频采集

AVCaptureSession配置采集行为并协调从输入设备到采集输出的数据流。要执行实时音视频采集&#xff0c;需要实例化采集会话并添加适当的输入和输出。 AVCaptureSession&#xff1a;管理输入输出音视频流AVCaptureDevice&#xff1a;相机硬件的接口&#xff0c;用于控制硬件特性…

axios 多个baseURL配置、实现不同前缀代理到不同的服务器的几种方式

前言&#xff1a; 在开发中&#xff0c;有可能遇到每部分的功能的需要调用另一台服务器的地址。这个时候就需要设置不同的请求前缀首先代理到不同的服务器地址。 一、axios封装实例以及代理&#xff1a;(不是完整的封装实例&#xff0c;重点在于baseURL的区别) 文件路径&…

stm32 ETH

1 How do I create a project for STM32H7 with Ethernet and LwIP stack working? STM32 LWIP 接收大数据包导致Hardfault问题解决记录 Trying to get Ethernet, LWIP and FreeRTOS working on the STM32H745. Testing on the NUCLEO-H745ZI-Q using FW_1.7 and the STM32Cub…

力扣 203 移除链表元素

目录 1.解题思路2.代码实现 1.解题思路 利用快慢指针&#xff0c;如果快指针此时的值为val则将此时满指针的next指向快指针的next利用循环&#xff0c;其次&#xff0c;要特意判断链表的头部为val的情况以及链表为空的情况. 2.代码实现 struct ListNode* removeElements(str…

JAVA深化篇_25—— 多线程介绍

多线程介绍 多线程与并发编程 什么是程序&#xff1f; 程序&#xff08;Program&#xff09;是一个静态的概念&#xff0c;一般对应于操作系统中的一个可执行文件。 什么是进程? 执行中的程序叫做进程(Process)&#xff0c;是一个动态的概念。其实进程就是一个在内存中独…