参考文章
一、netcat(nc)下载
网盘下载
netcat(nc)下载地址:netcat 1.11 for Win32/Win64
二、配置环境变量
在Path里添加netcat的存放路径
参数 | 说明 |
-C | 类似-L选项,一直不断连接[1.13版本新加的功能] |
-d | 后台执行 |
-e prog | 程序重定向,一旦连接,就执行 [危险!!] |
-g gateway | 源路由跳数,最大值为8(source-routing hop point[s],up to 8) |
-G num | 源路由指针:4,8,12,... (source-routing pointer: 4,8,12,...) |
-h | 帮助信息 |
-i secs | 延时的间隔 |
-l | 监听模式,用于入站连接 |
-n | 指定数字的IP地址,不能用hostname |
-o file | 记录16进制的传输 |
-p port | 本地端口号 |
-r | 任意指定本地及远程端口 |
-s addr | 本地源地址 |
-u | UDP模式,[netcat-1.15可以:远程nc -ulp port -e cmd.exe,本地nc -u ip port连接,得到一个shell.] |
-v | 详细输出——用两个-v可得到更详细的内容 |
-w secs | 指定超时的时间 |
-z | 将输入输出关掉——用于扫描时 |
三、测试
打开两个cmd窗口
第一个执行:
nc -l -p 9000 # -l 监听模式 -p 开启监听端口
第二个执行:
nc localhost 9000
验证执行结果
四、介绍
Netcat(也称为nc)是一款非常著名的网络工具,被誉为渗透测试中的"瑞士军刀"。它具有以下功能和用途:
-
端口监听:Netcat可以作为服务器以TCP或UDP方式监听指定的端口,用于接受来自其他主机的连接请求。
-
端口扫描:Netcat可以作为客户端发起TCP或UDP连接,用于扫描目标主机上的开放端口。
-
远程文件传输:Netcat可以在两台主机之间进行文件传输。你可以将一个主机作为服务器,另一个主机作为客户端,通过Netcat将文件从一个主机发送到另一个主机。
-
远程shell:Netcat可以通过建立反向连接或者传递命令来实现远程shell访问。
-
网络测速:Netcat可以用于测试两台主机之间的网络速度,通过在两台主机之间传输数据并计算传输速度来评估网络性能。
Netcat的控制参数说明:
- -g <网关>:设置路由器跃程通信网关,最多可设置8个。
- -G <指向器数目>:设置来源路由指向器,其数值为4的倍数。
- -h:显示在线帮助信息。
- -i <延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口。
- -l:使用监听模式,控制传入的数据。
- -n:直接使用IP地址,而不通过域名服务器进行解析。
- -o <输出文件>:指定文件名称,将往来传输的数据以16进制字码的形式倾倒到文件中保存。
- -p <通信端口>:设置本地主机使用的通信端口。
- -r:使用随机数指定本地与远端主机的通信端口。
- -s <来源位址>:设置本地主机发送数据包的IP地址。
- -u:使用UDP传输协议。
- -v:显示指令执行过程。
- -w <超时秒数>:设置等待连线的时间。
- -z:使用零输入/输出模式,只在扫描通信端口时使用。
五、Netcat 简易使用
1)连接到远程主机命令:(目标ip要先监听才能连接)
nc -nvv IP Port
2)监听本地主机
nc -l -p port
3)端口扫描
扫描指定主机的单一端口是否开放
nc -v IP Port
扫描指定主机的某个端口段的端口开放信息
nc -v -z <host> <start_port>-<end_port>
扫描指定主机的某个 UDP 端口段,并且返回端口信息:
nc -vzu <host> <start_port>-<end_port>
扫描指定主机的端口段信息,并且设置超时时间为5秒
nc -vvzw time <host> <start_port>-<end_port>
4)监听本地端口,并且将监听到的信息保存到指定的文件中
nc -l -p Port > target_file
kali中监听
nc -l -p 9000 > test.txt
先保证kali与windows能ping通
windows系统中连接
nc -nvv 192.168.1.26 9000
5)连接远程系统
nc www.baidu 80
6)文件传输
传输端:
nc IP Port < Targert_File
接收端(这个先执行)
# 文件夹名可以自定义
nc -l -p 9000 > 接收文件.txt
验证结果
7)简易聊天
本地主机
nc -lp 9001
远程主机
nc IP Port 或者 telnet IP Port
8)蜜罐
1. 监听端口并作为蜜罐:
使用命令 nc -L -p <Port>
可以监听指定的端口,并将所有连接请求都接受为蜜罐。通过指定 -L
参数,可以使程序不停地监听端口,直到按下 Ctrl + C 终止监听。
例如,要将端口8888作为蜜罐进行监听,可以使用以下命令:
# 监听端口可改,不重复就行
nc -L -p 8888
注意:此方法只是将端口作为蜜罐进行监听,不会记录连接请求或输出日志。
2. 监听端口并将结果输出到日志文件:
使用命令 nc -L -p <Port> > log.txt
可以监听指定的端口,并将连接请求的结果输出到指定的日志文件中。通过指定 >
运算符,可以将结果重定向到文件中。如果要追加到现有日志文件而不是覆盖它,可以使用 >>
运算符。
例如,要将端口8888作为蜜罐进行监听,并将结果输出到log.txt文件中,可以使用以下命令:
nc -L -p 8888 > log.txt
注意:此方法将监听端口并将连接请求的结果输出到指定的日志文件中,以便后续分析和审计。
参考文章
一、netcat(nc)下载
网盘下载
netcat(nc)下载地址:netcat 1.11 for Win32/Win64
二、配置环境变量
在Path里添加netcat的存放路径
参数 | 说明 |
-C | 类似-L选项,一直不断连接[1.13版本新加的功能] |
-d | 后台执行 |
-e prog | 程序重定向,一旦连接,就执行 [危险!!] |
-g gateway | 源路由跳数,最大值为8(source-routing hop point[s],up to 8) |
-G num | 源路由指针:4,8,12,... (source-routing pointer: 4,8,12,...) |
-h | 帮助信息 |
-i secs | 延时的间隔 |
-l | 监听模式,用于入站连接 |
-n | 指定数字的IP地址,不能用hostname |
-o file | 记录16进制的传输 |
-p port | 本地端口号 |
-r | 任意指定本地及远程端口 |
-s addr | 本地源地址 |
-u | UDP模式,[netcat-1.15可以:远程nc -ulp port -e cmd.exe,本地nc -u ip port连接,得到一个shell.] |
-v | 详细输出——用两个-v可得到更详细的内容 |
-w secs | 指定超时的时间 |
-z | 将输入输出关掉——用于扫描时 |
三、测试
打开两个cmd窗口
第一个执行:
nc -l -p 9000 # -l 监听模式 -p 开启监听端口
第二个执行:
nc localhost 9000
验证执行结果
四、介绍
Netcat(也称为nc)是一款非常著名的网络工具,被誉为渗透测试中的"瑞士军刀"。它具有以下功能和用途:
-
端口监听:Netcat可以作为服务器以TCP或UDP方式监听指定的端口,用于接受来自其他主机的连接请求。
-
端口扫描:Netcat可以作为客户端发起TCP或UDP连接,用于扫描目标主机上的开放端口。
-
远程文件传输:Netcat可以在两台主机之间进行文件传输。你可以将一个主机作为服务器,另一个主机作为客户端,通过Netcat将文件从一个主机发送到另一个主机。
-
远程shell:Netcat可以通过建立反向连接或者传递命令来实现远程shell访问。
-
网络测速:Netcat可以用于测试两台主机之间的网络速度,通过在两台主机之间传输数据并计算传输速度来评估网络性能。
Netcat的控制参数说明:
- -g <网关>:设置路由器跃程通信网关,最多可设置8个。
- -G <指向器数目>:设置来源路由指向器,其数值为4的倍数。
- -h:显示在线帮助信息。
- -i <延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口。
- -l:使用监听模式,控制传入的数据。
- -n:直接使用IP地址,而不通过域名服务器进行解析。
- -o <输出文件>:指定文件名称,将往来传输的数据以16进制字码的形式倾倒到文件中保存。
- -p <通信端口>:设置本地主机使用的通信端口。
- -r:使用随机数指定本地与远端主机的通信端口。
- -s <来源位址>:设置本地主机发送数据包的IP地址。
- -u:使用UDP传输协议。
- -v:显示指令执行过程。
- -w <超时秒数>:设置等待连线的时间。
- -z:使用零输入/输出模式,只在扫描通信端口时使用。
五、Netcat 简易使用
1)连接到远程主机命令:(目标ip要先监听才能连接)
nc -nvv IP Port
2)监听本地主机
nc -l -p port
3)端口扫描
扫描指定主机的单一端口是否开放
nc -v IP Port
扫描指定主机的某个端口段的端口开放信息
nc -v -z <host> <start_port>-<end_port>
扫描指定主机的某个 UDP 端口段,并且返回端口信息:
nc -vzu <host> <start_port>-<end_port>
扫描指定主机的端口段信息,并且设置超时时间为5秒
nc -vvzw time <host> <start_port>-<end_port>
4)监听本地端口,并且将监听到的信息保存到指定的文件中
nc -l -p Port > target_file
kali中监听
nc -l -p 9000 > test.txt
先保证kali与windows能ping通
windows系统中连接
nc -nvv 192.168.1.26 9000
5)连接远程系统
nc www.baidu 80
6)文件传输
传输端:
nc IP Port < Targert_File
接收端(这个先执行)
# 文件夹名可以自定义
nc -l -p 9000 > 接收文件.txt
验证结果
7)简易聊天
本地主机
nc -lp 9001
远程主机
nc IP Port 或者 telnet IP Port
8)蜜罐
1. 监听端口并作为蜜罐:
使用命令 nc -L -p <Port>
可以监听指定的端口,并将所有连接请求都接受为蜜罐。通过指定 -L
参数,可以使程序不停地监听端口,直到按下 Ctrl + C 终止监听。
例如,要将端口8888作为蜜罐进行监听,可以使用以下命令:
# 监听端口可改,不重复就行
nc -L -p 8888
注意:此方法只是将端口作为蜜罐进行监听,不会记录连接请求或输出日志。
2. 监听端口并将结果输出到日志文件:
使用命令 nc -L -p <Port> > log.txt
可以监听指定的端口,并将连接请求的结果输出到指定的日志文件中。通过指定 >
运算符,可以将结果重定向到文件中。如果要追加到现有日志文件而不是覆盖它,可以使用 >>
运算符。
例如,要将端口8888作为蜜罐进行监听,并将结果输出到log.txt文件中,可以使用以下命令:
nc -L -p 8888 > log.txt
注意:此方法将监听端口并将连接请求的结果输出到指定的日志文件中,以便后续分析和审计。