nc命令
2015-08-28 12:14
585 查看
nc:全称netcat,可以打开tcp连接,发送udp数据包,监听任意tcp和udp的端口,实现端口扫描和同时处理IPv4和IPv6。
-6 使用IPV6地址..
-D 开启debugging 在 socket.
-d 不尝试从stdin读取数据.
-h 查看帮助信息
-i 指定文本行发送和接收的延时时间. 也可以制造连接到多端口的延时.
-I 指定TCP接收缓冲区大小
-n 任何指定的地址,主机名或端口都不做任何DNS或服务解析.
-k 强制nc持续监听另一个连接直到它的连接完成. 没有 -l 选项是错误的.
-l 用于指定nc应该监听一个传入的连接,而不是连接到远程主机. 该选项不能与以下选项联合使用-p, -s, 或 -z 选项. 此外, 任何用-w选项指定的超时会被忽略.-
-p source_port 指定nc使用的源端口,受到权限和可用性的限制.
-r 指定源和/或目标端口随机选择而不是一个范围序列或系统分配的顺序.
-s source 指定源IP的接口用于发送数据包.
-u 使用UDP协议。
-V rtable 设置要使用的路由表. 默认是 0.
-v 使nc给出更详细的输出.
-w timeout 无法建立的或者闲置的连接在指定秒数之后超时. .
-z 指定nc只是扫描正在监听的守护进程,不发送任何数据. 不可和-l选项同时使用。
-q 指定客户端收到EOF之后退出的时间
使用-l在本地监听一个端口,并把输出定向到一个文件,然后从另一台设备上往此端口上传输文件。
服务器1:nc -l 8899 >123.txt
服务器2:nc 192.168.0.2438899 <test_curl
这样就把test_curl给传过来了
或者:
server1:nc -l 8899| tar zxf -
server2:tar zcf- node-v0.12.2.tar.gz | nc 192.168.0.2438899
2)端口扫描或探测
[root@jjjjjjjjjj ~]# nc -v -w 2 192.168.0.243 -z 20-30
nc: connect to 192.168.0.243 port 20 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 21 (tcp)failed: Connection refused
Connection to 192.168.0.243 22 port[tcp/ssh] succeeded!
nc: connect to 192.168.0.243 port 23 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 24 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 25 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 26 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 27 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 28 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 29 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 30 (tcp)failed: Connection refused
也可指定单个端口
nc -v -w 2 192.168.0.243 80
1.参数
-4 使用IPv4地址。-6 使用IPV6地址..
-D 开启debugging 在 socket.
-d 不尝试从stdin读取数据.
-h 查看帮助信息
-i 指定文本行发送和接收的延时时间. 也可以制造连接到多端口的延时.
-I 指定TCP接收缓冲区大小
-n 任何指定的地址,主机名或端口都不做任何DNS或服务解析.
-k 强制nc持续监听另一个连接直到它的连接完成. 没有 -l 选项是错误的.
-l 用于指定nc应该监听一个传入的连接,而不是连接到远程主机. 该选项不能与以下选项联合使用-p, -s, 或 -z 选项. 此外, 任何用-w选项指定的超时会被忽略.-
-p source_port 指定nc使用的源端口,受到权限和可用性的限制.
-r 指定源和/或目标端口随机选择而不是一个范围序列或系统分配的顺序.
-s source 指定源IP的接口用于发送数据包.
-u 使用UDP协议。
-V rtable 设置要使用的路由表. 默认是 0.
-v 使nc给出更详细的输出.
-w timeout 无法建立的或者闲置的连接在指定秒数之后超时. .
-z 指定nc只是扫描正在监听的守护进程,不发送任何数据. 不可和-l选项同时使用。
-q 指定客户端收到EOF之后退出的时间
2.实际应用
1)传输文件使用-l在本地监听一个端口,并把输出定向到一个文件,然后从另一台设备上往此端口上传输文件。
服务器1:nc -l 8899 >123.txt
服务器2:nc 192.168.0.2438899 <test_curl
这样就把test_curl给传过来了
或者:
server1:nc -l 8899| tar zxf -
server2:tar zcf- node-v0.12.2.tar.gz | nc 192.168.0.2438899
2)端口扫描或探测
[root@jjjjjjjjjj ~]# nc -v -w 2 192.168.0.243 -z 20-30
nc: connect to 192.168.0.243 port 20 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 21 (tcp)failed: Connection refused
Connection to 192.168.0.243 22 port[tcp/ssh] succeeded!
nc: connect to 192.168.0.243 port 23 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 24 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 25 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 26 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 27 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 28 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 29 (tcp)failed: Connection refused
nc: connect to 192.168.0.243 port 30 (tcp)failed: Connection refused
也可指定单个端口
nc -v -w 2 192.168.0.243 80
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法