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、参数说明
参数 | 参数说明 |
---|---|
-4 | Use IPv4 only |
-6 | Use 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-ciphers | Cipherlist包含要使用的ssl密码 |
–version | 查看命令版本 |
Linux命令之nc命令相关推荐
- Linux下利用nc命令来监控检测服务器的端口使用情况
检测端口还在用telnet?太落伍把 有没有批量检测的方法?有的.我们用nc就可以快速检测端口的开放性. nc检测端口的用法 nc -z -w 10 %IP% %PORT% -z表示检测或者 ...
- linux的nc命令退出,nc 命令使用详解
nc 命令介绍: Ncat/nc是一个功能丰富的网络实用程序,可以从命令行跨网络读取和写入数据. Ncat是为Nmap项目编写的,是目前分散的Netcat版本系列的高潮. 它旨在成为可靠的后端工具,可 ...
- Linux 网络工具——nc命令
功能说明:强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p&l ...
- Linux下使用nc命令测试TCP、UDP
什么是nc nc是一个简单.可靠的网络测试工具! 开启一个TCP服务器 nc -l 192.168.1.100 6666 连接TCP服务端: nc 192.168.1.100 6 ...
- Linux 命令(138)—— nc 命令
1.命令简介 nc(netcat)是一个短小精悍.功能实用.简单可靠的网络工具,主要有如下作用: (1)端口侦听,nc 可以作为 server 以 TCP 或 UDP 方式侦听指定端口: (2)端口扫 ...
- nc命令可以mysql_Linux系统nc命令怎么使用教程详解
Linux系统的nc命令是一个网络端口命令,我们可以用来查看网关,设置监听,查看端口等操作.下面由学习啦小编为大家整理了每天一个Linux命令之nc命令详解,希望对大家有帮助! 每天一个Linux命令 ...
- Linux 使用NC命令永久监听本地端口
Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP.UDP协议. 使用案例如下: 1.测试TCP端口 nc -vz ip tcp-p ...
- linux命令之nc,emacs,go run,查看文件行数等
这部分是比较零散的命令,也算是一种科普.因为我在实际的应用中也没有接触这几种命令,不过偶然看到了,那就必须要记录一下.学习嘛,如果只是局限于自己的工作,那视角难免会变小.与君共勉 一.nc命令 nc命 ...
- linux—用nc命令监控检测服务器端口
前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口), 现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警 ...
最新文章
- php全局变量的关键字,PHP变量作用域(全局变量局部变量)globalstatic关键字用法实例分析...
- 如何调用DLL (基于Visual C++6.0的DLL编程实现)
- POJ1061 青蛙的约会(线性同余方程)
- SpringBoot和SpringCloud面试题
- 各种与视频编解码以及视频图像处理的应用相关的新技术,新方法,各种软件开发相关的算法,思想。...
- 网站前后端交互学习有感
- python动态演示数据gdp_荐爬取世界各国历年的GDP数据
- R语言_安装包时联网失败
- windows8 初始界面和功能
- 鲁大师2014绿色版 v3.75.14.1058 免费版
- 不离不弃共赴鸿蒙是什么歌,很早听过一首粤语歌,歌词好像是往往世界这么大 又可以遇到你 蛮经典的一首歌 求解答...
- uni-app背景图片在手机上不显示问题
- 机器学习 | 交叉验证
- 自助分析重新定义大宗商品交易
- 杰理之电脑连接样机蓝牙,开启音量同步,电脑无法大范围调节音量【篇】
- 【量化学堂】股票代码分类
- 手机取证技巧之微信迁移取证_数字取证技巧和窍门:«您的电话»应用取证
- 用递归方法将十进制转化为二进制数
- 建设工程法规专科【2】
- deepin linux软件,深度软件包安装器
热门文章
- 浏览器如何解析HTML字符编码
- turtle绘制科赫雪花
- ArcGIS连接PostgreSQL数据库,创建企业级地理数据库
- 混合正交表生成工具——allpairs安装及使用
- (转)UltraEdit 注册机使用激活方法
- 控制工程专硕现在属于电子信息类_清华考研辅导班-2020清华大学822控制工程基础考研真题经验参考书...
- 关于解压 tar.gz的问题
- SQL Server 2000服务无法启动,提示“系统找不到指定的文件”解决方法及sp4安装不上...
- 实战CXF调用Webxml天气预报服务
- HTML学习(三):文本文件