Cgi
即時生成 TFTP 內容?
我知道這不是 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 不存在。