系統(tǒng)下載、安裝、激活,就到系統(tǒng)天地來!

所在位置: 首頁 — 軟件下載 — 網(wǎng)絡軟件 — 網(wǎng)絡輔助  —  NetCat
NetCat

NetCat

  • 軟件授權: 免費軟件
  • 軟件類型: 國產(chǎn)軟件
  • 軟件語言: 簡體中文
  • 更新時間: 2023-06-05
  • 軟件評分:
  • 軟件大?。? 2.84MB
  • 應用平臺: WinAll
立即下載 安全下載 使用windsoul軟件管家下載

軟件介紹 下載地址

為您推薦:- netcat

基本簡介

NetCat官方版是一款為用戶提供網(wǎng)絡數(shù)據(jù)傳輸和管理服務的網(wǎng)絡工具。NetCat官方版支持多種操作系統(tǒng)和網(wǎng)絡協(xié)議,包括TCP、UDP、IP等,可以幫助用戶進行網(wǎng)絡數(shù)據(jù)傳輸和管理。NetCat官方版還提供了多種實用功能,包括端口掃描、數(shù)據(jù)加密、遠程控制等,可以滿足用戶的不同需求。

NetCat基本簡介

  NetCat最新版簡稱Nc,是一款非常實用的網(wǎng)絡工具,他它能夠建立并接受傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)的連接,小巧而功能強大,被譽為網(wǎng)絡安全界的“瑞士軍刀”。NetCat被設計成一個可靠的后端(back-end) 工具,擁有功能豐富的網(wǎng)絡調試和開發(fā)工具,它可以通過手工或者腳本與應用層的網(wǎng)絡應用程序或服務進行交互,可以幫你輕易的建立幾乎任何類型的連接。同時還可以當服務器使用,能監(jiān)聽任意指定端口的連接請求(inbound connection ),并可做同樣的讀寫操作。

NetCat功能介紹

  *NetCat最新版支持連出和連入(outbound and inbound connection),TCP和UDP,任意源和目的端口

  *全部DNS正向/反向檢查,給出恰當?shù)木?/p>

  *使用任何源端口

  *使用任何本地設置的網(wǎng)絡資源地址

  *內建端口掃描功能,帶有隨機數(shù)發(fā)生器

  *內建loose source-routing功能

  *可能標準輸入讀取命令行參數(shù)

  *慢發(fā)送模式,每N秒發(fā)送一行

  *以16進制顯示傳送或接收的數(shù)據(jù)

  *允許其它程序服務建立連接

  *對Telnet應答

NetCat基本參數(shù)

  NetCat最新版參數(shù)介紹

  nc.exe -h即可看到各參數(shù)的使用方法。

  基本格式:nc [-options] hostname port[s] [ports] ...

  nc -l -p port [options] [hostname] [port]

  -d 后臺模式

  -e prog 程序重定向,一旦連接,就執(zhí)行 [危險!!]

  -g gateway source-routing hop point[s], up to 8

  -G num source-routing pointer: 4, 8, 12, ...

  -h 幫助信息

  -i secs 延時的間隔

  -l 監(jiān)聽模式,用于入站連接

  -L 連接關閉后,仍然繼續(xù)監(jiān)聽

  -n 指定數(shù)字的IP地址,不能用hostname

  -o file 記錄16進制的傳輸

  -p port 本地端口號

  -r 隨機本地及遠程端口

  -s addr 本地源地址

  -t 使用TELNET交互方式

  -u UDP模式

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

  -w secs timeout的時間

  -z 將輸入輸出關掉--用于掃描時

  端口的表示方法可寫為M-N的范圍格式。

NetCat使用說明

  1、NetCat最新版端口掃描

  端口掃描經(jīng)常被系統(tǒng)管理員和黑客用來發(fā)現(xiàn)在一些機器上開放的端口,幫助他們識別系統(tǒng)中的漏洞。

  nc -z -v -n 172.31.100.7 21-25

  可以運行在TCP或者UDP模式,默認是TCP,-u參數(shù)調整為udp.

  z 參數(shù)告訴netcat使用0 IO,連接成功后立即關閉連接, 不進行數(shù)據(jù)交換

  v 參數(shù)指使用冗余選項(譯者注:即詳細輸出)

  n 參數(shù)告訴netcat 不要使用DNS反向查詢IP地址的域名

  這個命令會打印21到25 所有開放的端口。Banner是一個文本,Banner是一個你連接的服務發(fā)送給你的文本信息。當你試圖鑒別漏洞或者服務的類型和版本的時候,Banner信息是非常有用的。但是,并不是所有的服務都會發(fā)送banner。

  一旦你發(fā)現(xiàn)開放的端口,你可以容易的使用netcat 連接服務抓取他們的banner。

  nc -v 172.31.100.7 21

  netcat 命令會連接開放端口21并且打印運行在這個端口上服務的banner信息。

  二、Chat Server

  假如你想和你的朋友聊聊,有很多的軟件和信息服務可以供你使用。但是,如果你沒有這么奢侈的配置,比如你在計算機實驗室,所有的對外的連接都是被限制的,你怎樣和整天坐在隔壁房間的朋友溝通那?不要郁悶了,netcat提供了這樣一種方法,你只需要創(chuàng)建一個Chat服務器,一個預先確定好的端口,這樣子他就可以聯(lián)系到你了。

  Server:

  nc -l 1567

  netcat 命令在1567端口啟動了一個tcp 服務器,所有的標準輸出和輸入會輸出到該端口。輸出和輸入都在此shell中展示。

  Client:

  nc 172.31.100.7 1567

  不管你在機器B上鍵入什么都會出現(xiàn)在機器A上。

  3、文件傳輸

  大部分時間中,我們都在試圖通過網(wǎng)絡或者其他工具傳輸文件。有很多種方法,比如FTP,SCP,SMB等等,但是當你只是需要臨時或者一次傳輸文件,真的值得浪費時間來安裝配置一個軟件到你的機器上嘛。假設,你想要傳一個文件file.txt 從A 到B。A或者B都可以作為服務器或者客戶端,以下,讓A作為服務器,B為客戶端。

  Server:

  nc -l 1567 < file.txt

  Client:

  nc -n 172.31.100.7 1567 > file.txt

  這里我們創(chuàng)建了一個服務器在A上并且重定向netcat的輸入為文件file.txt,那么當任何成功連接到該端口,netcat會發(fā)送file的文件內容。

  在客戶端我們重定向輸出到file.txt,當B連接到A,A發(fā)送文件內容,B保存文件內容到file.txt.沒有必要創(chuàng)建文件源作為Server,我們也可以相反的方法使用。像下面的我們發(fā)送文件從B到A,但是服務器創(chuàng)建在A上,這次我們僅需要重定向netcat的輸出并且重定向B的輸入文件。

  B作為Server

  Server:

  nc -l 1567 > file.txt

  Client:

  nc 172.31.100.23 1567 < file.txt

  4、目錄傳輸

  發(fā)送一個文件很簡單,但是如果我們想要發(fā)送多個文件,或者整個目錄,一樣很簡單,只需要使用壓縮工具tar,壓縮后發(fā)送壓縮包,如果你想要通過網(wǎng)絡傳輸一個目錄從A到B。

  Server:

  tar -cvf – dir_name | nc -l 1567

  Client:

  nc -n 172.31.100.7 1567 | tar -xvf -

  這里在A服務器上,我們創(chuàng)建一個tar歸檔包并且通過-在控制臺重定向它,然后使用管道,重定向給netcat,netcat可以通過網(wǎng)絡發(fā)送它。在客戶端我們下載該壓縮包通過netcat 管道然后打開文件。如果想要節(jié)省帶寬傳輸壓縮包,我們可以使用bzip2或者其他工具壓縮。

  Server:

  tar -cvf – dir_name| bzip2 -z | nc -l 1567

  通過bzip2壓縮

  Client:

  nc -n 172.31.100.7 1567 | bzip2 -d |tar -xvf -

  使用bzip2解壓

  5. 加密你通過網(wǎng)絡發(fā)送的數(shù)據(jù)如果你擔心你在網(wǎng)絡上發(fā)送數(shù)據(jù)的安全,你可以在發(fā)送你的數(shù)據(jù)之前用如mcrypt的工具加密。

  Server:

  nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > file.txt

  使用mcrypt工具加密數(shù)據(jù)。

  Client:

  mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 1567

  使用mcrypt工具解密數(shù)據(jù)。

  以上兩個命令會提示需要密碼,確保兩端使用相同的密碼。這里我們是使用mcrypt用來加密,使用其它任意加密工具都可以。

  6、流視頻

  雖然不是生成流視頻的最好方法,但如果服務器上沒有特定的工具,使用netcat,我們仍然有希望做成這件事。

  Server:

  cat video.avi | nc -l 1567

  這里我們只是從一個視頻文件中讀入并重定向輸出到netcat客戶端

  Client:

  nc 172.31.100.7 1567 | mplayer -vo x11 -cache 3000 -

  這里我們從socket中讀入數(shù)據(jù)并重定向到mplayer。

  7、克隆一個設備

  如果你已經(jīng)安裝配置一臺Linux機器并且需要重復同樣的操作對其他的機器,而你不想在重復配置一遍。不在需要重復配置安裝的過程,只啟動另一臺機器的一些引導可以隨身碟和克隆你的機器。

  克隆Linux PC很簡單,假如你的系統(tǒng)在磁盤/dev/sda上

  Server:

  dd if=/dev/sda | nc -l 1567

  Client:

  nc -n 172.31.100.7 1567 | dd of=/dev/sda

  dd是一個從磁盤讀取原始數(shù)據(jù)的工具,我通過netcat服務器重定向它的輸出流到其他機器并且寫入到磁盤中,它會隨著分區(qū)表拷貝所有的信息。但是如果我們已經(jīng)做過分區(qū)并且只需要克隆root分區(qū),我們可以根據(jù)我們系統(tǒng)root分區(qū)的位置,更改sda 為sda1,sda2.等等。

  8、打開一個shell

  我們已經(jīng)用過遠程shell-使用telnet和ssh,但是如果這兩個命令沒有安裝并且我們沒有權限安裝他們,我們也可以使用netcat創(chuàng)建遠程shell。假設你的netcat支持 -c -e 參數(shù)(默認 netcat)

  Server:

  nc -l 1567 -e /bin/bash -i

  Client:

  nc 172.31.100.7 1567

  這里我們已經(jīng)創(chuàng)建了一個netcat服務器并且表示當它連接成功時執(zhí)行/bin/bash

  假如netcat 不支持-c 或者 -e 參數(shù)(openbsd netcat),我們仍然能夠創(chuàng)建遠程shell

  Server:

  mkfifo /tmp/tmp_fifo

  cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 1567 > /tmp/tmp_fifo

  這里我們創(chuàng)建了一個fifo文件,然后使用管道命令把這個fifo文件內容定向到shell 2>&1中。是用來重定向標準錯誤輸出和標準輸出,然后管道到netcat 運行的端口1567上。至此,我們已經(jīng)把netcat的輸出重定向到fifo文件中。

  說明:

  從網(wǎng)絡收到的輸入寫到fifo文件中

  cat 命令讀取fifo文件并且其內容發(fā)送給sh命令

  sh命令進程受到輸入并把它寫回到netcat。

  netcat 通過網(wǎng)絡發(fā)送輸出到client

  至于為什么會成功是因為管道使命令平行執(zhí)行,fifo文件用來替代正常文件,因為fifo使讀取等待而如果是一個普通文件,cat命令會盡快結束并開始讀取空文件。在客戶端僅僅簡單連接到服務器

  Client:

  nc -n 172.31.100.7 1567

  你會得到一個shell提示符在客戶端

  9、反向shell

  反向shell是指在客戶端打開的shell。反向shell這樣命名是因為不同于其他配置,這里服務器使用的是由客戶提供的服務。

  Server:

  nc -l 1567

  在客戶端,簡單地告訴netcat在連接完成后,執(zhí)行shell。

  Client:

  nc 172.31.100.7 1567 -e /bin/bash

  現(xiàn)在,什么是反向shell的特別之處呢

  反向shell經(jīng)常被用來繞過防火墻的限制,如阻止入站連接。例如,我有一個專用IP地址為172.31.100.7,我使用代理服務器連接到外部網(wǎng)絡。如果我想從網(wǎng)絡外部訪問 這臺機器如1.2.3.4的shell,那么我會用反向外殼用于這一目的。

  10、指定源端口

  假設你的防火墻過濾除25端口外其它所有端口,你需要使用-p選項指定源端口。

  Server:

  nc -l 1567

  Client:

  nc 172.31.100.7 1567 -p 25

  使用1024以內的端口需要root權限。該命令將在客戶端開啟25端口用于通訊,否則將使用隨機端口。

  11、指定源地址

  假設你的機器有多個地址,希望明確指定使用哪個地址用于外部數(shù)據(jù)通訊。我們可以在netcat中使用-s選項指定ip地址。

  Server:

  nc -u -l 1567 < file.txt

  Client:

  nc -u 172.31.100.7 1567 -s 172.31.100.5 > file.txt

  該命令將綁定地址172.31.100.5。