Cgi

即時生成 TFTP 內容?

  • June 26, 2011

我知道這不是 TFTP 的目的,但我正在一個環境中工作,許多不同類型的設備從 TFTP 伺服器提取配置資訊。我正在開發的是一個跟踪和維護設備配置的配置系統,我希望動態生成請求的文件,就像您可以使用任何 Web 應用程序一樣。

是的,其中一些設備可以支持 HTTP 進行配置,但並非所有設備都支持,我們希望事情保持一致。

是否有任何 TFTP 守護程序可以提供類似於 CGI 的功能?

快速搜尋發現 Sourceforge 上的這個tftpd-cgi項目 - 可能值得一試。

我還剛剛編寫了一個能夠提供 CGI 服務的簡單 tftpd 伺服器,可以在 Github 上找到,所以這絕對是可能的。我還沒有測試過任何 PXE 客戶端,但它確實適用於我的作業系統的 tftp 客戶端。

我的測試用法:

./tftpd-cgi.py &

echo 'get cgi/test' | tftp 127.0.0.1; cat test && rm test

我的簡單 CGI 腳本的輸出:

Hello from CGI land!
127.0.0.1:61796

這是在這裡解決的。遺憾的是,鑑於 TFTP 協議的限制,這似乎很困難或不可能。

> 你好。

>

> 是否考慮過允許 tftp 伺服器

> 提供動態內容?

>

是的。該協議使其變得困難。

您幾乎必須保證在幾分之一秒內生成內容,否則您的客戶端很可能會淹沒您的伺服器。

問題是為了能夠回答 tsize 查詢,您必須知道輸出的完整大小。但是,由於 TFTP 不能保證區分 RRQ 重新發送和新請求(pxelinux 會區分,但 TFTP 伺服器很難使用它),所以您必須在第一次請求之前有回复.

我有一個關於 TFTP“暫停”選項和操作碼的提案,但我必須 (a) 實現它,並且 (b) 將它寫成 RFC,(c) 弄清楚如何通過 IETF 獲得它,就像假裝 TFTP 不存在。

引用自:https://serverfault.com/questions/283949