您的位置:首页 > 运维架构 > Linux

nc命令

2015-08-28 12:14 585 查看
nc:全称netcat,可以打开tcp连接,发送udp数据包,监听任意tcp和udp的端口,实现端口扫描和同时处理IPv4和IPv6。

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 nc