在工作過程中,我們經常需要上傳文件到服務器或者從服務器下載文件到本機,這時大家首先想到的是用scp或者rz、sz等上傳下載工具,但是有時候公司基于生產環(huán)境安全性的考慮,禁用了這些功能,或者未安裝這些工具。這時,我們如何優(yōu)雅的實現文件的復制(上傳)和下載呢?
文件復制
文件復制,我們可以使用NetCat命令來實現。NetCat,在網絡工具中有“瑞士軍刀”美譽,其有Windows和Linux的版本。因為它短小精悍(1.84版本也不過25k,舊版本或縮減版甚至更?。⒐δ軐嵱茫辉O計為一個簡單、可靠的網絡工具,可通過TCP或UDP協議傳輸讀寫數據。同時,它還是一個網絡應用Debug分析器,因為它可以根據需要創(chuàng)建各種不同類型的網絡連接。下面我簡單介紹一下使用nc實現文件復制的方式。
1.在目標服務器上開啟監(jiān)聽 :nc -l port > filename
2.待復制文件所在的機器,向目標機器發(fā)送文件: nc ip port < filename
這樣,我們就可以實現機器之間文件的復制了。
文件下載
文件下載功能,我們可以python命令來實現。利用Python自帶的包可以建立簡單的web服務器,然后在需要下載文件的機器上使用wget工具下載文件。
1.在shell里cd到準備做服務器根目錄的路徑下,輸入命令:
python -m Web服務器模塊 [端口號,默認8000]
例如,我們要下載目錄intelligent/下文件mLualib.so,我們需要先進入到該目錄,然后執(zhí)行
python -m SimpleHTTPServer 8080
如圖所示
2.登錄到待下載文件的機器上,執(zhí)行
wget http://10.213.41.71:11111/mLualib.so
如圖所示:
這樣,就能把文件mLualib.so下載到本地了。
nc常用參數
nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][通信端口...]
參數說明:
-g<網關> 設置路由器躍程通信網關,最丟哦可設置8個。
-G<指向器數目> 設置來源路由指向器,其數值為4的倍數。
-h 在線幫助。
-i<延遲秒數> 設置時間間隔,以便傳送信息及掃描通信端口。
-l 使用監(jiān)聽模式,管控傳入的資料。
-n 直接使用IP地址,而不通過域名服務器。
-o<輸出文件> 指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存。
-p<通信端口> 設置本地主機使用的通信端口。
-r 亂數指定本地與遠端主機的通信端口。
-s<來源位址> 設置本地主機送出數據包的IP地址。
-u 使用UDP傳輸協議。
-v 顯示指令執(zhí)行過程。
-w<超時秒數> 設置等待連線的時間。
-z 使用0輸入/輸出模式,只在掃描通信端口時使用。
相關閱讀:
本文首發(fā)在 劉振鋒的簡書博客 原文地址為《如何優(yōu)雅的實現文件上傳或下載》轉載請注明!