linux 下nc 命令的使用
netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络 连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几 乎所有类型的网络连接。
一、基本使用
想要连接到某处: nc [-options] hostname port[s] [ports] …
绑定端口等待连接: nc -l port [-options] [hostname] [port]
参数:
-h 帮助信息
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-u UDP模式
-t TCP模式(默认模式)
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时
其中端口号可以指定一个或者用lo-hi式的指定范围。
1)扫描端口
tcp扫描
shell>nc -v -z -w2 192.168.1.131 1-30
udp扫描
shell>nc -u -v -z -w2 192.168.1.131 1-30
2)连接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
3)监听LOCAL主机,例子:
格式:nc -l 80
讲解:监听本机的TCP80端口
4)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
5)两台linux主机间传送数据
Linux A:192.168.1.131
Linux B:192.168.1.132
现在需要从B主机上传输一个文件file_b到B主机上,那么操作方法如下所示:
在A主机上:nc -d -l 1000 > /data/file_out &(启动端口监听)
在B主机上:nc 192.168.1.131 1000 < file_in(从A主机上启动的监听端口传送数据)
文件传输完毕后,系统会自动断开连接。从上面来看,它其实是一个很简单的Server/Client模式,服务器端开启侦听端口,并用输入输出重定向到 一个文件file.out当中,等待客户端的连接。客户端主动连接主机,并和它建立一个Socket连接,然后把传输的文件重定向到数据流当中。
需要注意的一点是,主机侦听的端口必须是已经开放的端口,可以通过查看iptables进行配置。
++++++++++++++++++++++
http://blog.sina.com.cn/s/blog_713d8f8c0100wjm1.html
nc(NetCat),在网络工具中有”瑞士军刀”的美誉,它短小精悍,功能强大,下面分享一些我平时经常用到的功能,更多的功能请google之。
1.基本参数
想要连接到某处: nc [-options] hostname port[s] [ports] …
绑定端口等待连接: nc -l -p port [-options] [hostname] [port]
参数:
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式
-v 详细输出——用两个
-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时,其中端口号可以指定一个或者用lo-hi式的指定范围。
2.简单用法举例
1)端口扫描
# nc -v -w 2 192.168.2.34 -z 21-24
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection
refused
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection
refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection
refused
2)从192.168.2.33拷贝文件到192.168.2.34
在192.168.2.34上: nc -l 1234 > test.txt
在192.168.2.33上: nc 192.168.2.34 < test.txt
3)简单聊天工具
在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
这样,双方就可以相互交流了。使用ctrl+C(或D)退出。
3.用nc命令操作memcached
1)存储数据:printf “set key 0 10 6\r\nresult\r\n” |nc 192.168.2.34
11211
2)获取数据:printf “get key\r\n” |nc 192.168.2.34 11211
3)删除数据:printf “delete key\r\n” |nc 192.168.2.34 11211
4)查看状态:printf “stats\r\n” |nc 192.168.2.34 11211
5)模拟top命令查看状态:watch “echo stats” |nc 192.168.2.34 11211
6)清空缓存:printf “flush_all\r\n” |nc 192.168.2.34 11211
(小心操作,清空了缓存就没了)