netcat使用
netcat可以作为类似于telent的客户端,也可以监听某个端口作为服务器,还可以作为扫描工具扫描对方主机的端口,还可以用来传输文件,不相信吗?听我慢慢道来:)
首先我们要弄明白netcat的工作原理,其实netcat的原理很简单,它就是从网络的一端读入数据,然后输出到网络的另一端,它可以使用tcp和udp协议.之所以叫做netcat,因为它是网络上的cat,想象一下cat的功能,读出一个文件的内容,然后输出到屏幕上(默认的stdout是屏幕,当然可以重定向到其他地方).netcat也是如此,它读取一端的输入,然后传送到网络的另一端,
就这么简单.但是千万不要小看了它,netcat可以完成很多任务,,尤其是和其他程序组合时.好了,废话少说,进入正题吧.:p
网上有两种版本的netcat,一个是@stake公司的netcat,http://www.atstake.com/research/tools/network_utilities/ 也就是最初的版本,还有一个是GNU的netcat.http://netcat.sourceforge.net/download.php 我个人更倾向于使用GNU的netcat,因为它的功能更多,不过GNU的没有windows平台的版本:confused:
只介绍windows平台上一些操作。
参数:-e prog 程序重定向,一旦连接,就执行 [危险!!]-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式的指定范围。下载好nc.exe后,放到c:\windows目录下
一、简单服务器 nc -l -p <portnumber> //这里-l参数表明nc处于监听模式,-p指定端口号.server:nc -v -l -p 1234 > c:\1.txt
client:nc -v -n 192.168.0.1 1234 < c:\1.txt
输入命令后,client就可以将1.txt通过1234端口发送出去,而server则会开放1234端口接受1.txt,并在C盘根目录下创建1.txt
-v:显示端口信息
四、扫描端口 nc -z -w 2 -v -v http://www.somewhere.com/ port[,port[,port-port]]参见:http://www.cnblogs.com/starspace/archive/2009/01/15/1376288.html