nc的使用

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

nc的安装
在大多数 Debian 发行版中,nc 是默认可用的,它会在安装系统的过程中自动被安装。 但是在 CentOS 7 / RHEL 7 的最小化安装中,nc 并不会默认被安装。 你需要用下列命令手工安装。
#yum install nmap-ncat -y
在ubuntu下如果没有安装,则
apt-get -y install netcat
Ubuntu上默认安装的是netcat-openbsd,而不是经典的netcat-traditional
网上例子很多都是以netcat-traditional为例
sudo apt-get -y install netcat-traditional

监听入站连接
$ ncat -l 8080
在 8080 端口监听入站连接。

连接远程系统
$ ncat 192.168.1.100 80
这会创建一个连接,连接到 IP 为 192.168.1.100 的服务器上的 80 端口,然后我们就可以向服务器发送指令了。 比如我们可以输入下面内容来获取完整的网页内容
GET / HTTP/1.1

连接 UDP 端口
$ ncat -l -u 1234
默认情况下,nc 创建连接时只会连接 TCP 端口。 不过我们可以使用 -u 选项来连接到 UDP 端口
我们想发送或者说测试某个远程主机 UDP 端口的连通性,我们可以使用下面命令
# ncat -v -u 192.168.105.150 53

通过 nc 创建后门
$ ncat -l 10000 -e /bin/bash
-e 标志将一个 bash 与端口 10000 相连。现在客户端只要连接到服务器上的 10000 端口就能通过 bash 获取我们系统的完整访问权限:
$ ncat 192.168.1.100 10000

使用 -k 选项强制 nc 待命
当客户端从服务端断开连接后,过一段时间服务端也会停止监听。 但通过选项 -k 我们可以强制服务器保持连接并继续监听端口。 命令如下:
$ ncat -l -k 8080
现在即使来自客户端的连接断了也依然会处于待命状态。

摘自:10 个例子教你学会 ncat (nc) 命令

Leave a Reply

Your email address will not be published. Required fields are marked *