Linux nc命令使用示例

 更新时间:2023年03月15日 10:01:06   作者:恒悦sunsite  
nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉,nc命令在linux系统中实际命令是ncat,nc是软连接到ncat,这篇文章主要介绍了Linux nc命令使用示例,需要的朋友可以参考下

一、命令简介

  nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。nc命令在linux系统中实际命令是ncat,nc是软连接到ncat。nc命令的主要作用如下:

实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口端口的扫描,nc可以作为client发起TCP或UDP连接机器之间传输文件机器之间网络测速

  nc如果找不到nc命令可以使用yum install -y nc安装,其中centos6系统安装的是nc-1.84-24.el6.x86_64,centos7安装的是nmap-ncat-6.40-19.el7.x86_64。

二、使用示例

1、验证服务器端口是否通

如下验证172.16.7.78服务器的80端口通,81端口不通。

2、拷贝文件

首先在文件接收终端test2机器上激活nc监听

然后在文件发送终端test1机器上发送文件

在test2上检查文件是否已成功接收

3、终端之间通信聊天

test1主机上启动nc监听,ctrl+C中断通信。

test2上连接监听,ctrl+C中断通信。

4、端口扫描

端口扫描,通的端口返回succeeded,不通的端口返回refused。此扫描基于nc-1.84-24.el6.x86_64。
[root@test1 /]# nc -v -w 1 172.16.7.78 -z 22-81
Connection to 172.16.7.78 22 port [tcp/ssh] succeeded!
nc: connect to 172.16.7.78 port 23 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 24 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 25 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 26 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 27 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 28 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 29 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 30 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 31 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 32 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 33 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 34 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 35 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 36 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 37 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 38 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 39 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 40 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 41 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 42 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 43 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 44 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 45 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 46 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 47 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 48 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 49 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 50 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 51 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 52 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 53 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 54 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 55 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 56 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 57 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 58 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 59 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 60 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 61 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 62 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 63 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 64 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 65 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 66 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 67 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 68 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 69 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 70 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 71 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 72 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 73 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 74 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 75 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 76 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 77 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 78 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 79 (tcp) failed: Connection refused
Connection to 172.16.7.78 80 port [tcp/http] succeeded!
nc: connect to 172.16.7.78 port 81 (tcp) failed: Connection refused

5、验证UDP端口

[root@test1 ~]# nc -uvz 192.168.0.125 111
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.0.125:111.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.04 seconds.

6、测速网速

测速网速需要结合dstat命令查看。

安装dstat命令

[root@test1 ~]# yum install -y dstat
[root@test2 ~]# yum install -y dstat

test1主机上监听端口

[root@test1 ~]# nc -l 33333 >/dev/null

test2主机上发送数据,全0数据

[root@test2 ~]# nc 192.168.0.124 33333 </dev/zero

查看流量

[root@test1 ~]# dstat
[root@test2 ~]# dstat

三、使用语法及参数说明

1、使用语法

用法:ncat [options] [hostname] [port]

2、参数说明

参数参数说明
-4Use IPv4 only
-6Use IPv6 only
-U, --unixsock仅使用Unix域套接字
-C, --crlf将crlf用于EOL序列
-c, --sh-exec <command>通过/bin/sh执行给定的命令
-e, --exec <command>执行给定的命令
–lua-exec <filename>执行给定的lua脚本
-g hop1[,hop2,…]松散源路由跃点(最多8个)
-G <n>松散源路由跃点指针(4,8,12,…)
-m, --max-conns <n>最大同时连接数
-h, --help帮助显示此帮助屏幕
-d, --delay <time>读/写之间的延迟
-o, --output <filename>将会话数据转储到文件
-x, --hex-dump <filename>将会话数据作为十六进制转储到文件
-i, --idle-timeout <time>空闲读/写超时
-p, --source-port port指定要使用的源端口
-s, --source addr指定要使用的源地址(不影响-l)
-l, --listen绑定并侦听传入连接
-k, --keep-open在侦听模式下接受多个连接
-n, --nodns不通过DNS解析主机名
-t, --telnet应答telnet协商
-u, --udp使用udp而不是默认TCP
–sctp使用sctp而不是默认的TCP
-v, --verbose设置详细级别(可以多次使用)
-w, --wait <time>连接超时时间,单位秒
-z仅报告连接状态
–append-output追加而不是重击指定的输出文件
–send-only忽略接收;退出EOF
–recv-only从不发送任何东西
–allow给定主机连接到Ncat
–allowfile允许连接到Ncat的主机的文件
–deny给定主机连接到Ncat
–denyfile拒绝连接到Ncat的主机文件
–broker启用Ncat的连接代理模式
–chat开始一个简单的Ncat聊天服务器
–proxy <addr[:port]>指定要通过代理的主机地址
–proxy-type <type>指定代理类型(“http”或“socks4”或“socks5”)
–proxy-auth <auth>通过HTTP或SOCKS代理服务器进行身份验证
–ssl使用ssl连接或侦听
–ssl-cert指定用于侦听的ssl证书文件(PEM)
–ssl-key指定用于侦听的ssl私钥(PEM)
–ssl-verify证书的信任和域名
–ssl-trustfile包含可信ssl证书的PEM文件
–ssl-ciphersCipherlist包含要使用的ssl密码
–version查看命令版本

到此这篇关于Linux nc命令使用示例的文章就介绍到这了,更多相关Linux nc命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用kernel提供的接口打印进程号(pid)

    利用kernel提供的接口打印进程号(pid)

    我们知道linux是模块化的内核。实现模块、利用kernel提供的接口,首先了解写模块的基本框架。下面的c文件就是最基本的框架,当然还有怎样添加一些符号变量,利用的module_param,没用上
    2013-11-11
  • Linux Shell函数返回值

    Linux Shell函数返回值

    这篇文章主要介绍了Linux Shell函数返回值,需要的朋友可以参考下
    2016-11-11
  • shell脚本中if判断‘-a‘ - ‘-z‘的具体使用

    shell脚本中if判断‘-a‘ - ‘-z‘的具体使用

    本文主要介绍了shell脚本中if判断‘-a‘ - ‘-z‘具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 分享shell编程中的几个小技巧

    分享shell编程中的几个小技巧

    分享shell编程中的几个小技巧,学习shell编程的朋友可以看下
    2013-02-02
  • 在Linux中实现scp命令自动输入密码的方法

    在Linux中实现scp命令自动输入密码的方法

    本文介绍了在Linux环境下使用scp命令自动输入密码的三种方法:SSH密钥认证、sshpass工具和expect脚本,推荐使用SSH密钥认证以确保数据传输的安全性,感兴趣的朋友一起看看吧
    2025-03-03
  • Linux命令之网络命令route详解

    Linux命令之网络命令route详解

    route命令是Linux系统中的一个网络管理工具,用于显示和操作IP路由表,它可以用来查看当前系统的路由表信息,添加、删除或修改路由表项,以及显示路由表中的详细信息,本文给大家介绍Linux命令之网络命令route详解,感兴趣的朋友一起看看吧
    2023-10-10
  • Shell脚本去重的几种方法实例

    Shell脚本去重的几种方法实例

    这篇文章主要介绍了Shell脚本去重的几种方法实例,本文直接给出代码实例,需要的朋友可以参考下
    2015-07-07
  • Shell脚本之进制转换器的实现

    Shell脚本之进制转换器的实现

    本文主要介绍了Shell脚本之进制转换器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • linux常用命令之pip命令示例详解

    linux常用命令之pip命令示例详解

    本文介绍了 pip 命令的基本语法、常用选项和参数,以及一些常见的使用示例,通过学习和掌握 pip 命令,你可以方便地管理和使用 Python 包,提高开发效率,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • Shell脚本之文件批量创建与修改的简单方法

    Shell脚本之文件批量创建与修改的简单方法

    有时需要将文件内容进行修改,如果文件数量不多可以一个一个修改,那么如果文件数量很多一个一个修改很麻烦,这篇文章主要给大家介绍了关于Shell脚本之文件批量创建与修改的相关资料,需要的朋友可以参考下
    2021-06-06

最新评论