【linux命令】“瑞士军刀”nc的用法简介

一、nc是什么

nc是netcat的简写,是一个功能强大的网络工具,在网络界有着瑞士军刀的美誉。nc命令在linux系统中实际是ncat,nc是软连接到ncat,其最主要的作用就是监听端口和探测端口。

##

本次测试环境为linux系统,nc版本为7.50

##

二、nc主要作用

1.侦听tcp/udp任意端口,一般用于临时测试

-l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接

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

监听tcp端口

nc -l 端口号

例:以tcp的方式监听12345端口

nc -l 12345

查看端口是否被监听成功

 监听udp端口

nc -l -u 端口号

例:以udp的方式监听12345端口

nc -l -u 12345

查看端口是否被监听成功

 

2.作为客户端,探测对端端口是否启用

-z 表示zero,表示扫描时不发送任何数据

-v 表示输出交互或出错信息,利于调试

nc -zv 对端地址 端口号

例:对端(192.168.13.172)的80端口打开、81端口关闭,使用客户端进行探测

nc -zv 192.168.13.172 80  ##探测80端口,成功

nc -zv 192.168.13.172 81  ##探测81端口,失败

 例:探测对端的udp端口(53) 但是探测udp我更爱使用nmap这个命令,之后会进行讲解

 注意:网上很多教程使用nc进行端口范围扫描,centos7中nc 不支持扫描端口范围

 

3.服务器之间传输文件,传输完成后,双方的会话都将终止

接收方监听一个端口(33333),负责接收文件并存到recieve.txt

nc -l 33333 > receive.txt

发送端将内容输入到一个文件中(send.txt),发送给接收方

nc 10.122.2.91 33333 < send.txt

在接收方查看,recieve文件生成

 

 

4.两个终端聊天(无聊emmm)

机器A上监听一个端口,机器B去连接机器A的端口,双方输入聊天内容,具体的效果类似于一个实时的聊天软件(如下图)

 

其余参数解释

-h 在线帮助。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-w<超时秒数> 设置等待连线的时间。-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。


所有内容只为了记录学习过程,nc其实一些高级的用法目前我还没有使用到,后续会继续补全完善,部分内容来源于网络,侵删。
posted @ 2023-06-19 22:56  母粒  阅读(643)  评论(0编辑  收藏  举报