在使用nc命令中碰到的一個問題

nc全稱爲netcat,目的是在兩臺機器之間創建tcp或udp鏈接,而後相互發送數據。shell

好比當須要往服務器某個端口發送某個指令時,能夠用:服務器

echo "cmd" | nc host porttcp

這裏容易碰到一個問題,即通常服務器識別的命令都是以回車換行爲做爲結束標識的,若是碰到這種狀況須要在命令後面加上\r\n,即:指針

echo -e "cmd\r\n" | nc host portip

有時候發送的命令是從文件中讀取的,這時容易忘了回車換行,就出現了這個問題。路由

nc的參數說明以下:字符串

參數get

說明cmd

-Cit

相似-L選項,一直不斷鏈接[1.13版本新加的功能]

-d

後臺執行

-e prog

程序重定向,一旦鏈接,就執行 [危險!!]

-g gateway

源路由跳數,最大值爲8(source-routing hop point[s],up to 8)

-G num

源路由指針:4,8,12,... (source-routing pointer: 4,8,12,...)

-h

幫助信息

-i secs

延時的間隔

-l

監聽模式,用於入站鏈接

-n

指定數字的IP地址,不能用hostname

-o file

記錄16進制的傳輸

-p port

本地端口號

-r

任意指定本地及遠程端口

-s addr

本地源地址

-u

UDP模式,[netcat-1.15能夠:遠程nc -ulp port -e cmd.exe,本地nc -u ip port鏈接,獲得一個shell.]

-v

詳細輸出——用兩個-v可獲得更詳細的內容

-w secs

指定超時的時間

-z

將輸入輸出關掉——用於掃描時

echo命令也有兩個參數 -e, -n:

-e:激活轉義字符。使用-e選項時,若字符串中出現如下字符,則特別加以處理,而不會將它當成通常文字輸出:

•\a 發出警告聲;
•\b 刪除前一個字符;
•\c 最後不加上換行符號;
•\f 換行但光標仍舊停留在原來的位置;
•\n 換行且光標移至行首;
•\r 光標移至行首,但不換行;
•\t 插入tab;
•\v 與\f相同;
•\\ 插入\字符;
•\nnn 插入nnn(八進制)所表明的ASCII字符;

-n 不換行輸出

相關文章
相關標籤/搜索