linux 下nc 命令的使用

http://www.hackbase.com/tech/2011-04-28/63498.html

  netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。

  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 (小心操作,清空了缓存就没了)



<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(685) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~
评论热议
posted @ 2016-03-30 10:30  张同光  阅读(316)  评论(0编辑  收藏  举报