共计 2404 个字符,预计需要花费 7 分钟才能阅读完成。
ncat / nc 是网络实用程序,性能相似于 cat 命令,但用于网络。它是一个通用的 CLI 工具,用于在网络上读取、写入和重定向数据。它被设计成一个牢靠的后端工具,能够与脚本或其余程序一起应用。它也是一个很棒的网络调试工具,因为它能够创立任何类型的连贯。
ncat / nc 能够是端口扫描工具、平安工具或监控工具,也是一个简略的 TCP 代理。因为它有这么多的性能,它被称为网络瑞士军刀。它是每个系统管理员都应该晓得和把握的工具之一。
在大多数 Debian 发行版中,nc 都能够应用,并且在装置过程中会主动装置。然而在 Minimal Centos 7 / RHEL 7 装置中,您须要应用以下命令装置。
[root@linuxtechi ~]# yum install nmap-ncat -y
管理员能够应用它来审计他们的系统安全,能够应用它来找到被关上的端口并爱护它们。管理员也能够应用它作为审计 web 服务器,telnet 服务器,邮件服务器等客户端,应用它咱们能够管制每个字符的发送以及查看申请的响应。还能够让它捕捉客户端发送的数据,以理解他们在做什么。
在本教程中,咱们将通过 10 个示例学习如何应用 nc 命令。
(1) 监听入站连贯
ncat 能够在监听模式下工作,咱们能够用选项 l 监听端口号上的入站连贯,示例如下:
$ ncat -l 8080
服务器当初将开始监听端口 8080 以获取入站连贯。
(2) 连贯到近程零碎
要应用 nc 连贯到近程零碎,能够应用以下命令
$ ncat IP_address port_number
示例如下:
$ ncat 192.168.1.100 80
当初连贯到 IP 地址为 192.168.1.100 服务器的 80 端口,咱们当初能够向服务器发送指令了,就像咱们能够失去残缺的页面内容
GET / HTTP/1.1
or get the page name,
GET / HTTP/1.1
or we can get banner for OS fingerprinting with the following,
HEAD / HTTP/1.1
This will tell what software is being used to run the web Server.
(3) 连贯到 UDP 端口
默认状况下,nc 只连贯到 TCP 端口。能够应用选项 u 连贯到 UDP 端口,示例如下:
$ ncat -l -u 1234
零碎将开始监听 udp 端口 1234,能够应用 netstat 命令来验证
$ netstat -tunlp | grep 1234
udp 0 0 0.0.0.0:1234 0.0.0.0:* 17341/nc
udp6 0 0 :::1234 :::* 17341/nc
假如咱们想发送或测试特定的近程主机 UDP 连贯,应用以下命令
$ ncat -v -u {host-ip} {udp-port}
示例如下:
[root@localhost ~]# ncat -v -u 192.168.105.150 53
Ncat: Version 6.40 (http://nmap.org/ncat)
Ncat: Connected to 192.168.105.150:53.
(4) 作为聊天工具
NC 也能够用作聊天工具,咱们能够配置服务器监听端口,而后能够从同一个端口上的近程机器连贯到服务器并开始发送音讯。
在服务端,运行如下命令:
$ ncat -l 8080
在客户端,运行如下命令:
$ ncat 192.168.1.100 8080
而后开始发送音讯,他们将显示在服务器终端上。
(5) NC 作为代理
NC 也能够应用一个简略的命令充当代理,示例如下:
$ ncat -l 8080 | ncat 192.168.1.200 80
当初,通过端口 8080 连贯到咱们服务器的所有连贯都将主动重定向到端口 80 的 192.168.1.200 服务器。然而因为咱们应用的是管道,只能传而不能收数据,为了可能收数据,咱们须要创立一个双向管道,应用以下命令:
$ mkfifo 2way
$ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way
当初你将可能通过 nc 代理发送和接收数据。
(6) 复制文件
nc 也能够用来将文件从一个零碎复制到另一个零碎,然而不倡议应用,因为大多数零碎都默认装置 ssh / scp。如果您遇到了一个零碎没有 ssh / scp,nc 将派上用场。
在要接收数据的机器上,启动 nc 为监听模式
$ ncat -l 8080 > file.txt
在要复制数据的机器上,运行以下命令
$ ncat 192.168.1.100 8080 --send-only < data.txt
在这里,data.txt 是必须发送的文件,–send-only 选项用来设置复制文件后敞开连贯。如果不应用这个选项,咱们须要按 ctrl+C
手动敞开连贯。
(7) 创立后门
nc 命令也能够用来创立零碎后门,这种技术实际上被黑客应用很多。为了爱护咱们的零碎,咱们应该晓得它是如何工作的。要创立一个后门,应用如下命令:
$ ncat -l 10000 -e /bin/bash
e 选项将 bash 绑定到 10000 端口上,当初客户端能够连贯到服务器的 10000 端口,并能够通过 bash 齐全拜访咱们的零碎
$ ncat 192.168.1.100 10000
(8) 端口转发
应用选项 c,nc 能够进行端口转发,示例如下:
$ ncat -u -l 80 -c 'ncat -u -l 8080'
当初,80 端口的所有连贯都将被转发到 8080 端口
(9) 设置连贯超时
ncat 的监听模式是继续运行的,必须手动终止,能够用选项 w 来配置超时
$ ncat -w 10 192.168.1.100 8080
这将导致连贯在 10 秒内终止,但它只能在客户端应用,不能在服务器端应用。
(10) 强制继续运行
当客户端与服务器断开连接时,一段时间后服务器也进行监听。咱们能够应用选项 k 强制服务器放弃连贯并持续端口监听,运行如下命令:
$ ncat -l -k 8080
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 – github 仓库)