linux - nc 命令
作用:
- 网络调试
- 端口扫描
可使用的参数
-g <网关> 设置路由器跃程通信网关,最多可设置8个。 -G <指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 -l 使用监听模式,管控传入的资料。 -n 直接使用IP地址,而不通过域名服务器。 -o <输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。 -p<通信端口> 设置本地主机使用的通信端口。 -r 乱数指定本地与远端主机的通信端口。 -s <来源位址> 设置本地主机送出数据包的IP地址。 -u 使用UDP传输协议。 -v 显示指令执行过程。输出详细的交互过程 -w <超时秒数> 设置等待连线的时间。 -z 使用0输入/输出模式,只在扫描通信端口时使用。 告诉 nc 不用等待用户输入
常见用法
nc 可以作为服务器也可以作为客户端
1. 端口扫描
扫描 tcp 端口范围
nc -nvz -w2 [your-ip] 1-100
输出
Connection to [your-ip] port 22 [tcp/ssh] succeeded! nc: connectx to [your-ip] port 23 (tcp) failed: Connection refused nc: connectx to [your-ip] port 24 (tcp) failed: Connection refused nc: connectx to [your-ip] port 25 (tcp) failed: Connection refused nc: connectx to [your-ip] port 26 (tcp) failed: Connection refused nc: connectx to [your-ip] port 27 (tcp) failed: Connection refused
扫描 udp 端口范围:
nc -unvz -w2 [your-ip] 1-1000
扫描指定端口
nc -nvv 192.168.0.1 80 //扫描 80端口
[[linux - nmap 命令]] 能更快的扫描端口号
2. 发送 tcp 数据
右边 nc 作为服务端
监听 80 端口
左边 nc 作为客户端
连接 本地 80 端口, 并且发送了一些字符串, 发送过去的字符串在服务端都被回显出来了
灵活一些, 既然服务端会接受字符串, 那么也可以接收文件
nc 127.0.0.1 80 < file nc -l 80 > file_upload
即可把本地文件上传到服务器上
参考资料
本文来自博客园,作者:吴丹阳-V,转载请注明原文链接:https://www.cnblogs.com/wudanyang/p/14240405.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)