使用場景:
把windows下的文件寫入到linux(嵌入式設備中);
下載地址:
https://bitbucket.org/phjounin/tftpd64/wiki/Download%20Tftpd64.md
或者在github上下載;
使用過程:
1、下載安裝完成后,運行程序:
2、選擇windows下文件所在的文件夾:
在安裝目錄創建文件夾data,將要發送到Linux中的文件放在這個文件夾中;
3、選擇服務器接口:
這里選擇的ip地址是在linux上用到的主機地址:(假設選擇的是192.168.100.1這個地址)
4、做好上面的選擇就可以使用了:
在linux系統終端輸入:
a、從windows上傳到linux:tftp -r 文件 -g 服務器地址
b、從linux上傳到windows:tftp -l 文件 -p 服務器地址
還有的人說成讀寫:
讀取文件: tftp -r Remove_file -g Host_IP
寫入文件: tftp -l Local_file -p Host_IP
5、windows下打開tftp應用:
在程序和功能中-》啟用或關閉Windows功能:
注意:
安裝完的tftp64可能不能運行,需要手動啟動服務:
在計算機管理中的服務項中:
但是在電腦重啟之后,還需要手動啟動,否則不能運行。我們可以修改其屬性:
設置為自動(延遲啟動),這樣在電腦重啟之后就不再用手動去啟動了。
我有測試了一下,這樣修改后,電腦重啟后還是要手動啟動,才能啟動tftpd;
在使用的時候可以ping通,但是無法下載,需要將windows下的防火牆關掉,當然這種方式簡單粗暴,但是有安全隱患,使用完后即使將防火牆打開。
下面有更詳細的介紹,轉自:https://blog.csdn.net/mango_girl/article/details/45332095
TFTPD32是一個不足1M的小工具,但最近卻幫了大忙。在研究網絡安裝的過程中,了解了一下這個工具,下面匯總一下。
1. TFTP介紹
TFTP = Trivial File Transfer Protocol(簡單文件傳輸協議),是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議。
TFTP基於UDP協議實現,使用UDP的69端口,因此它可以穿越許多防火牆。不過它也有缺點,比如傳送不可靠、沒有密碼驗證等。
TFTP協議設計時的目的是進行小文件傳輸,它只能從文件服務器上獲得或寫入文件,不能列出目錄,不進行認證,不能進行交互,它傳輸8位數據。可以將它看作是FTP的簡化版。
TFTP代碼所占的內存較小,因此執行時開銷小,可以靈活應用在小容量只讀存儲器上。
2. TFTPD32介紹
TFTPD32是一個集成DHCP, TFTP, SNTP和Syslog多種服務的袖珍網絡服務器包,同時提供TFTP客戶端應用,tsize, blocksize 和 timeou支持等等。
(1)全局功能設置
打開進入主窗口后,可以在“Current Directory”設置文件下載目錄,默認的下載目錄即tftp所在目錄,設置完可以點擊“Show Dir”查看;
在“Server interface”選擇本機將要進行通信的IP,如下圖所示。
點擊“settings”進入功能設置(Settings)窗口,如下圖所示。可以在GLOBAL標簽選擇需要開啟的服務;在其余標簽進行具體的server配置。
(2)TFTP server設置
在Settings窗口,點擊TFTP標簽進行TFTP server配置,設置窗口及可參考漢化窗口截圖如下所示。
在"Base Directory"中,輸入要上傳的文件目錄,這個目錄默認為空(百度百科似乎有上傳目錄必須跟tftp所在目錄一致的說法,沒注意不清楚,但使用的時候跟下載目錄設置一樣就沒問題)。
厲害的設置在“Advanced TFTP Options”里,給不同的選項打鈎就可以實現不同場合下的應用,比如下圖的漢化窗口就適用於PXE網絡啟動下載。
(3)TFTP client設置(純理論,未實踐)
在server建立好之后,client端就可以與server讀/寫文件了(但server不能對client進行文件讀寫)。
在主窗口點開“Tftp Client”標簽,在"Host"填入server的IP,如下圖。
如果要讀文件,就在“Remote File”填入要讀取的文件名,點擊“Get”;
如果要寫入文件,就在“Local File”填入要寫入的文件名,點擊“Put”。
另外,
對於windows,有自帶TFTP客戶端。可以在命令行模式下通過命令行傳輸文件。
“開始--> 運行”--> 輸入"CMD"--> cd Current_Directory進入tftp所在目錄,
讀取文件則Tftp -i Host_IP get Remote_File;
寫入文件則Tftp -i Host_IP put Local_File。
windows自帶TFTP客戶端默認是開啟的,這也導致會被網絡蠕蟲利用來獲取需要的攻擊程序和后門程序的風險。
該服務的開啟和關閉可在%systemroot%\system32\drivers\etc\services文件中設定,如下圖。
修改tftp服務對應的udp端口號,69/udp為開啟服務,0/udp為關閉服務。
(4)DHCP server設置
DHCP = Dynamic Host Configuration Protocol(動態主機分配協議),DHCP 協議是基於UDP層之上的應用。
DHCP的前身是 BOOTP。BOOTP 原本是用於無磁盤主機連接的網絡上面的:網絡主機使用 BOOT ROM 而不是磁盤起動並連接上網絡,BOOTP 則可以自動地為那些主機設定 TCP/IP 環境。但 BOOTP 的設置是靜態的,而DHCP是動態的。
DHCP server一般會提供IP地址資源池、子網掩碼、默認網關的配置,也可以提供域名服務 (DNS) 服務器地址和 Windows Internet 名稱服務 (WINS) 服務器地址。對於網絡啟動主機還會提供啟動文件名(然后網絡主機再到tftp server下載),因此tftpd32配置也類似,如下圖所示。
3. TFTPD32實際應用
(1)網絡安裝系統
網絡安裝可使用TFTPD32同時配置TFTP server和DHCP server。
首先設置好tftp目錄,然后到全局功能設置里選擇開啟TFTP server和DHCP server,最后到settings依次配置TFTP和DHCP。
(2)windows之間文件互傳(純理論,未實踐)
由於tftp server是不能從client端讀寫文件的,所以要實現windows之間的文件互傳,需要在互傳文件的windows主機上均安裝TFTPD32並互為tftp server。需要讀寫的一方,進入Tftp Client執行讀寫操作即可。
(3)linux和windows之間文件傳送(純理論,未實踐)
TFTPD32目前看來只是一個windows平台下的應用,所以要安裝在windows主機上。這樣可以在windows主機上使用TFTPD32建立TFTP server,linux主機作為TFTP client從windows主機讀寫文件。(若要windows主機從linux主機讀寫文件,則可以使用WinSCP)
讀取文件 tftp -r Remote_File -g Host_IP
寫入文件 tftp -l Local_File -p Host_IP
參考:
windows和linux系統下數據傳輸工具——tftpd32使用說明