linux-网络-nc命令

目录

概述

nc命令常用参数

nc命令示例

实现TCP/UDP侦听

作为client端发起TCP/UDP连接

服务器之间传输文件

网络测速


概述

在centos中,nc命令是ncat的软链接。

ncat是一个功能丰富的网络实用程序,是为nmap项目编写的(Network Mapper,最早是Linux下的网络扫描和嗅探工具包)。ncat又被称为Netcat家族分裂出的巅峰之作。Netcat简称nc,在安全界被称为瑞士军刀;而ncat弥补了Netcat的一些不足之处,被叫做21世纪的瑞士军刀。

[root@test ~]# ll /bin/nc
lrwxrwxrwx 1 root root 22 Dec 17 22:37 /bin/nc -> /etc/alternatives/nmap
[root@test ~]# ll /etc/alternatives/nmap 
lrwxrwxrwx 1 root root 13 Dec 17 22:37 /etc/alternatives/nmap -> /usr/bin/ncat

安装

yum install nc -y

nc(ncat)的主要作用

  • 实现TCP/UDP侦听
  • 可以作为client端发起TCP/UDP连接
  • 服务器之间传输文件(不需要密码)
  • 网络测速

网上很多博客还提到了端口扫描,其实centos yum安装的nc命令时ncat,不支持一段范围的端口扫描。只有netcat命令才支持一段范围的端口扫描。

nc命令常用参数

-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。

nc命令示例

实现TCP/UDP侦听

这对于测试两台服务器的网络连通性很有用。比如:公有云平台上,对服务器设置了安全组策略,允许其他服务器访问某个端口。但此时服务器上还没有对应的服务监听着端口,无法进行测试。则可以使用nc命令侦听端口,进行临时测试。

TCP侦听

[root@test ~]# nc -l 33333

[root@test ~]# netstat -nltp | grep 33333
tcp        0      0 0.0.0.0:33333           0.0.0.0:*               LISTEN      1958/nc             
tcp6       0      0 :::33333                :::*                    LISTEN      1958/nc

UDP侦听

[root@test ~]# nc -l -u 33333

[root@test ~]# netstat -nlup | grep 33333
udp        0      0 0.0.0.0:33333           0.0.0.0:*                           2232/nc             
udp6       0      0 :::33333                :::*                                2232/nc

作为client端发起TCP/UDP连接

发起TCP连接

成功

[root@test ~]# nc -zv 192.168.1.1 8080
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.122.2.91:8080.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

失败

[root@test ~]# nc -zv 192.168.1.1 2222
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection refused.

发起UDP连接

成功

[root@test ~]# nc -zuv 192.168.1.1 33333
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.122.2.91:33333.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds.

失败

[root@test ~]# nc -zuv 192.168.1.1 2222
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.122.2.91:2222.
Ncat: Connection refused.

服务器之间传输文件

在实际工作中,很多情况下我们没有root密码。当我们要简单处理个问题,想要传输文件时常常令人抓狂。只是一个小文件,而要去考虑做免密钥;或者是新建一个用户来临时传输文件。

使用nc命令就可以避开这个烦恼,一些小的临时文件,直接通过网络传输,并且不需要密码。

接收端

nc -l 33333 > receive.txt

发送端

nc 10.122.2.91 33333 < send.txt

此方法不仅可以传输简单的文本文件、二进制文件。如果想要传输目录时,将目录制作成压缩包,也可以通过网络传输。

网络测速

测速接收端

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

测速发送端

[root@test02 ~]# nc 10.122.2.91 33333 < /dev/zero

接收端dstat网络流量

发送端dstat网络流量

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值