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