Linux nc 命令

网友投稿 1289 2022-05-28

nc命令的含义

nc 命令的完整拼写是 netcat。它只有25KB,是一个简单可靠的网络工具,可以通过TCP或UDP协议传输读写数据;同时,它还是一个网络应用的Debug分析器,可以根据需要创建各种不同类型的网络连接

安装方式

ubuntu

Ubuntu上默认安装的是netcat-openbsd,而不是经典的netcat-traditional. 因此,我们要想使用netcat-traditional则需要自己进行安装与配置。然后将nc替换为第2个traditional模式

sudo apt-get -y install netcat-traditional sudo update-alternatives --config nc

1

2

使用 type -a nc 命令查看它在环境变量中的位置

centos

centos上的安装就简单多了,直接 sudo yum install -y nc 即可

常用参数

可以使用 man nc 或 nc -h 来查看帮助文档

g 设置路由器跃程通信网关,最多可设置8个

G 设置来源路由指向器,其数值为4的倍数

h 在线帮助

i 设置时间间隔,单位秒,以便传送信息及扫描通信端口

k 保持连接存活

l 将nc设置为侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接

n 直接使用IP地址,而不通过域名服务器

o 指定输出文件的名称,把往来传输的数据以16进制字码倾倒成该文件保存

p 设置本地主机使用的通信端口

r 乱数指定本地与远端主机的通信端口

s 指定发送数据的源IP地址,适用于多网卡机

u 指定nc使用UDP协议,默认为TCP

v 输出交互或出错信息,新手调试时尤为有用

w 超时秒数,后面跟数字

z 使用0输入/输出模式,只在扫描通信端口时使用

作用

实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口

若该端口未打开,则使用 nc -lkp 开启指定端口并进行监听;nc 监听指定端口并发送消息。至此,一个简单的双向通信聊天室完成。

若端口为开启,则会提示连接拒绝

端口的扫描,nc可以作为client发起TCP或UDP连接

可以扫描指定端口,或一个端口范围 nc -v -z -w2

机器之间传输文件

首先,在A机上监听指定端口,并将该端口得到的数据重定向到文件

nc -lp 9999 > test.txt

然后,在B机上向该端口写入文件

nc 9999 < test2.txt

唯一的缺点是没有进度显示,因此你并不能准确的知道是否已经完成。

机器之间网络测速

步骤1,A机器先启动接收数据的命令,监听自己的9999端口,把来自这个端口的数据都输出给空设备(这样不写磁盘,测试网速更准确)

nc -l 9999 >/dev/null

步骤2,B机器发送数据,把无限个0发送给A机器的9999端口

nc 9999 < /dev/zero

Linux nc 命令

最后,在A机器上,使用dstat命令查看当前网速,dstat命令比较直观,它可以查看当前cpu,磁盘,网络,内存页和系统的一些当前状态指标。我们只需要看下面我选中的这2列即可, recv是receive的缩写,表示接收的意思,send是发送数据,另外注意数字后面的单位B,KB,MB

Linux TCP/IP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:盘点那些进行“网络编程”必须要知道的基础知识!
下一篇:ElasticSearch Merge机制和写放大问题研究
相关文章