日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

tftp c++ 上传_如何在 Fedora 上建立一个 TFTP 服务器

發布時間:2024/10/8 c/c++ 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tftp c++ 上传_如何在 Fedora 上建立一个 TFTP 服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TFTP 即簡單文本傳輸協議,允許用戶通過 UDP 協議在系統之間傳輸文件。

-- Curt Warfield(作者)

TFTP 即 簡單文本傳輸協議(Trivial File Transfer Protocol),允許用戶通過 UDP 協議在系統之間傳輸文件。默認情況下,協議使用的是 UDP 的 69 號端口。TFTP 協議廣泛用于無盤設備的遠程啟動。因此,在你的本地網絡建立一個 TFTP 服務器,這樣你就可以對 安裝好的 Fedora 和其他無盤設備做一些操作,這將非常有趣。

TFTP 僅僅能夠從遠端系統讀取數據或者向遠端系統寫入數據,而沒有列出遠端服務器上文件的能力。它也沒提供用戶身份驗證。由于安全隱患和缺乏高級功能,TFTP 通常僅用于局域網內部(LAN)。

安裝 TFTP 服務器

首先你要做的事就是安裝 TFTP 客戶端和 TFTP 服務器:

dnf install tftp-server tftp -y

上述的這條命令會在 /usr/lib/systemd/system 目錄下為 systemd 創建 tftp.service 和 tftp.socket 文件。

/usr/lib/systemd/system/tftp.service/usr/lib/systemd/system/tftp.socket

接下來,將這兩個文件復制到 /etc/systemd/system 目錄下,并重新命名。

cp /usr/lib/systemd/system/tftp.service /etc/systemd/system/tftp-server.servicecp /usr/lib/systemd/system/tftp.socket /etc/systemd/system/tftp-server.socket

修改文件

當你把這些文件復制和重命名后,你就可以去添加一些額外的參數,下面是 tftp-server.service 剛開始的樣子:

[Unit]Description=Tftp ServerRequires=tftp.socketDocumentation=man:in.tftpd[Service]ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpbootStandardInput=socket[Install]Also=tftp.socket

在 [Unit] 部分添加如下內容:

Requires=tftp-server.socket

修改 [ExecStart] 行:

ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpboot

下面是這些選項的意思:

  • -c 選項允許創建新的文件
  • -p 選項用于指明在正常系統提供的權限檢查之上沒有其他額外的權限檢查
  • -s 建議使用該選項以確保安全性以及與某些引導 ROM 的兼容性,這些引導 ROM 在其請求中不容易包含目錄名。

默認的上傳和下載位置位于 /var/lib/tftpboot。

下一步,修改 [Install] 部分的內容

[Install]WantedBy=multi-user.targetAlso=tftp-server.socket

不要忘記保存你的修改。

下面是 /etc/systemd/system/tftp-server.service 文件的完整內容:

[Unit]Description=Tftp ServerRequires=tftp-server.socketDocumentation=man:in.tftpd[Service]ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpbootStandardInput=socket[Install]WantedBy=multi-user.targetAlso=tftp-server.socket

啟動 TFTP 服務器

重新啟動 systemd 守護進程:

systemctl daemon-reload

啟動服務器:

systemctl enable --now tftp-server

要更改 TFTP 服務器允許上傳和下載的權限,請使用此命令。注意 TFTP 是一種固有的不安全協議,因此不建議你在與其他人共享的網絡上這樣做。

chmod 777 /var/lib/tftpboot

配置防火墻讓 TFTP 能夠使用:

firewall-cmd --add-service=tftp --permfirewall-cmd --reload

客戶端配置

安裝 TFTP 客戶端

yum install tftp -y

運行 tftp 命令連接服務器。下面是一個啟用詳細信息選項的例子:

[client@thinclient:~ ]$ tftp 192.168.1.164tftp> verboseVerbose mode on.tftp> get server.logsgetting from 192.168.1.164:server.logs to server.logs [netascii]Received 7 bytes in 0.0 seconds [inf bits/sec]tftp> quit[client@thinclient:~ ]$

記住,因為 TFTP 沒有列出服務器上文件的能力,因此,在你使用 get 命令之前需要知道文件的具體名稱。


總結

以上是生活随笔為你收集整理的tftp c++ 上传_如何在 Fedora 上建立一个 TFTP 服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。