访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

linux常用命令nc

时间:2019-09-19

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

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

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

(3)机器之间传输文件

(4)机器之间网络测速

-l

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

-p%20<port>

暂未用到(老版本的nc可能需要在端口号前加-p参数linux常用命令,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)

-s

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

-u

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

-v

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

6)-w

超时秒数,后面跟数字

7)-z

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

准备两台机器,用于测试nc命令的用法

主机A:ip地址%2010.0.1.161

主机B:ip地址%2010.0.1.162

两台机器先安装nc和nmap的包

yum%20install%20nc%20-y

yum%20install%20nmap%20-y

如果提示如下-bash:%20nc:%20command%20not%20found%20表示没安装nc的包

image

nc可以作为server端启动一个tcp的监听(注意,此处重点是起tcp,下面还会讲udp)

先关闭A的防火墙,或者放行下面端口,然后测试B机器是否可以访问A机器启动的端口

在A机器上启动一个端口监听,比如 9999端口(注意:下面的-l 是小写的L,不是数字1)

默认情况下下面监听的是一个tcp的端口

nc -l 9999

image

客户端测试,****测试方法1

在B机器上telnet A机器此端口,如下显示表示B机器可以访问A机器此端口

常用dos命令大全及其用法_linux命令vi进入后命令_linux常用命令

image

****客户端测试,测试方法2

B机器上也可以使用nmap扫描A机器的此端口

nmap 10.0.1.161 -p9999

image

****客户端测试,测试方法3

使用nc命令作为客户端工具进行端口探测

nc -vz -w 2 10.0.1.161 9999

(-v可视化,-z扫描时不发送数据,-w超时几秒,后面跟数字)

image

上面命令也可以写成

nc -vzw 2 10.0.1.161 9999

image

****客户端测试,测试方法4(和方法3相似,但用处更大)

nc可以可以扫描连续端口,这个作用非常重要。常常可以用来扫描服务器端口,然后给服务器安全加固

在A机器上监听2个端口,一个9999,一个9998,使用&符号丢入后台

image

在客户端B机器上扫描连续的两个端口,如下

image

nc作为server端启动一个udp的监听(注意,此处重点是起udp,上面主要讲了tcp)

启动一个udp的端口监听

nc -ul 9998

image

复制当前窗口输入 netstat -antup |grep 9998 可以看到是启动了udp的监听

image

客户端测试,测试方法1

nc -vuz 10.0.1.161 9998

由于udp的端口无法在客户端使用telnet去测试,我们可以使用nc命令去扫描(前面提到nc还可以用来扫描端口)

(telnet是运行于tcp协议的)

linux命令vi进入后命令_linux常用命令_常用dos命令大全及其用法

(u表示udp端口,v表示可视化输出,z表示扫描时不发送数据)

image

上面在B机器扫描此端口的时候linux常用命令,看到A机器下面出现一串XXXXX字符串