本文主要是介绍nc命令的部分用法和举例(不断更新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介:
nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
作用:
(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc可以作为client发起TCP或UDP连接
(3)机器之间传输文件
(4)机器之间网络测速
基本参数
想要连接到某处: nc [-options]hostname port[s] [ports] …
绑定端口等待连接: nc -l port[-options] [hostname] [port]
常用的几个参数如下所列:
1) -l
用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
2) -p <port>
暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
3) -s
指定发送数据的源IP地址,适用于多网卡机
4) -u
指定nc使用UDP协议,默认为TCP
5) -v
输出交互或出错信息,新手调试时尤为有用
6)-w
超时秒数,后面跟数字
7)-z
表示zero,表示扫描时不发送任何数据
例子
1、简单聊天工具
在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
这样,双方就可以相互交流了。使用ctrl+C(或D)退出。
2、使用nc来传文件
发送端: cat a.txt | nc -l 3333
接收端: nc 192.168.0.3 3333 > a.txt
3、测网速
测试网速其实利用了传输文件的原理,就是把来自一台机器的/dev/zero 发送给另一台机器的/dev/null
就是把一台机器的无限个0,传输给另一个机器的空设备上,然后新开一个窗口使用dstat命令监测网速
在这之前需要保证机器先安装dstat工具
yum install -y dstat
测试网速演示(先启动接收命令方式)
步骤1,A机器(10.0.1.161)先启动接收数据的命令,监听自己的9991端口,把来自这个端口的数据都输出给空设备(这样不写磁盘,测试网速更准确)
nc -l 9991 >/dev/null
步骤2,B机器(10.0.1.162)发送数据,把无限个0发送给A机器的9991端口
nc 10.0.1.161 9991 </dev/zero
在复制的窗口上使用dstat命令查看当前网速,dstat命令比较直观,它可以查看当前cpu,磁盘,网络,内存页和系统的一些当前状态指标。
我们只需要看下面我选中的这2列即可,recv是receive的缩写,表示接收的意思,send是发送数据,另外注意数字后面的单位B,KB,MB
可以看到A机器接收数据,平均每秒400MB左右
B机器新打开的窗口上执行dstat,看到每秒发送400MB左右的数据
这篇关于nc命令的部分用法和举例(不断更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!