关于linux:通过10个示例掌握-Linux-ncat-命令

43次阅读

共计 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 仓库)

正文完
 0