ncat (nc) 10 个例子

Posted on Posted in command
  1. 监听入站连接
$ ncat -l 8080
  1. 连接远程系统
ncat 192.168.1.100 80
GET / HTTP/1.1 # 获取完整的网页内容
GET / HTTP/1.1 # 获取页面名称
HEAD / HTTP/1.1 # 获得操作系统指纹标识
  1. 连接 UDP 端口
$ ncat -l -u 1234 # nc 创建连接时只会连接 TCP 端口。 不过我们可以使用 -u 选项来连接到 UDP 端口
ncat -v -u 192.168.105.150 53 # 测试某个远程主机 UDP 端口的连通性
  1. 将 nc 作为聊天工具
$ ncat -l 8080 # client
$ ncat 192.168.1.100 8080 # server
  1. 将 nc 作为代理
$ ncat -l 8080 | ncat 192.168.1.200 80

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

$ mkfifo 2way
$ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way
  1. 使用 nc 拷贝文件
$ ncat -l  8080 > file.txt # 接受数据的机器上启动 nc 并让它进入监听模式

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

$ ncat 192.168.1.100 8080 --send-only < data.txt

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

  1. 通过 nc 创建后门
$ ncat -l 10000 -e /bin/bash

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

$ ncat 192.168.1.100 10000
  1. 通过 nc 进行端口转发
$ ncat -u -l  80 -c  'ncat -u -l 8080' # 通过选项 -c 来用 nc 进行端口转发,所有连接到 80 端口的连接都会转发到 8080 端口
  1. 设置连接超时
$ ncat -w 10 192.168.1.100 8080 # 导致连接 10 秒后终止,不过这个选项只能用于客户端而不是服务端
  1. 使用 -k 选项强制 nc 待命

通过选项 -k 我们可以强制服务器保持连接并继续监听端口

$ ncat -l -k 8080

转https://linux.cn/article-9190-1.html

» 转载请注明来源:若我若鱼 » ncat (nc) 10 个例子

Leave a Reply

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

fourteen − 12 =