Linux學習筆記6

TFTP 服務器搭建和測試

關于TFTP:TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議),是一個基于UDP 協議實現 的用于在客戶機和服務器之間進行簡單文件傳輸的協議,適合于開銷不大、不復雜的應用場合

搭建服務器

首先,打開ubuntu終端,輸入命令“sudo apt-get install xinetd”,安裝xinetd

注釋:xinetd 的主要作用是監聽并管理各種網絡服務的連接請求。

它可以通過配置文件來定義服務及其相關參數,如監聽端口、協議類型、啟動腳本等。當有客戶端發送連接請求時,xinetd 可以根據配置文件中的規則決定是否接受連接并將連接轉發給相應的服務進程處理。這種按需啟動服務的方式可以極大地減少系統資源的消耗,提高系統的安全性和效率。

輸入命令“sudo apt-get install tftp tftpd”安裝tftp 和tftpd,然后建立TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,寫入代碼

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source= 11
cps = 100 2
flags = IPv4
}

注釋:service tftp: 定義了服務名稱為 tftp

socket_type = dgram: 指定了使用數據報(datagram)類型的套接字進行通信

server = /usr/sbin/in.tftpd: 指定了 tftp 服務器進程的可執行文件路徑

server_args = -s /var/tftpboot/: 指定了 tftp 服務器進程的參數,其中 -s 表示指定 TFTP 的根目錄為 /var/tftpboot/ ——————TFTP 客戶端就是從這個目錄里面獲取服務器上的文件

之后建立mkdir /var/tftpboot 建立tftp 服務器的目錄,設置訪問權限777

之后輸入:sudo /etc/init.d/xinetd restart 命令重啟xinetd 服務

這一步就搭建好了服務器

服務器測試

在/var/tftpboot (上面提到的TFTP 的根目錄)下面建立一個文件test,在里面輸入hello world,之后打開另一個終端,輸入tftp 127.0.0.1,之后輸入get test獲取test文件,輸入q退出tftp

之后用ls看有沒有test文件,如果有就用cat查看文件內容是不是hello world,如果是就測試成功完成。

注釋:

  • tftp:表示要使用 TFTP 協議進行文件傳輸。
  • 127.0.0.1:表示本地回環地址,也就是指向本地計算機的 IP 地址。

通過運行這個命令,你可以在本地計算機上創建一個 TFTP 客戶端,并嘗試與同一臺本地計算機上運行的 TFTP 服務器進行文件傳輸

開發板實現TFTP 文件傳輸
IP地址的查看

用ifconfig看的是Ubuntu系統下的IP,使用SSH 軟件和Ubuntu 連通傳文件,就需要先在Ubuntu 下查看IP 地址。

開發板的IP,在查看最小文件系統的etc 文件可以看到默認的IP地址

子網掩碼的查看

使用ifconfig,可以查看Ubuntu 系統下的子網掩碼

查看最小文件系統的etc/eth0-setting 文件可以看到默認的子網掩碼

如何確認IP地址在不在一個網段:

如果大家計算發現Ubuntu 系統的IP 和開發板的IP 不在同一網段,則需要修改開發板的
IP。【因為如果Ubuntu系統的IP地址與開發板的IP地址不在同一網段,它們之間無法直接進行通信。在局域網中,不同網段的設備之間需要通過路由器或者網絡設備進行數據包轉發才能實現通信。如果想Ubuntu系統和開發板能夠互相通信,需要將它們的IP地址設置在同一網段內。這樣它們就可以直接通過局域網進行通信,而無需經過路由器。

單純的兩個IP 不能直接拿來確認是不是在同一網段,必須結合子網掩碼經過計算才能得出
結論。
計算方法是:兩個IP 分別和相應的子網掩碼做與運算,得出的結果相等則表明在同一網段

如果要改開發板的默認的IP,子網掩碼,網關,DNS,MAC,要在文件系統的etc/eth0-setting 文件里更改

客戶端的測試

首先看一下TFTP 服務器的IP 地址,輸入“ifconfig”

可見tftp的ip地址是192.168.1.109,開發板的默認IP 是192.168.1.230,它們在同一個網段

之后開發板連到電腦上,然后輸入ping 命令確認開發板和TFTP 服務器是連通

超級終端返回“xx bytes from xx.xx.xx.xx"就是連通的

在開發板的串口輸入:tftp -g -l test -r test 192.168.1.109,獲取文件test

注釋:

  • tftp:表示要使用TFTP協議進行文件傳輸。
  • -g:表示使用“get”模式,即從服務器下載文件到客戶端。
  • -l test:表示將下載的文件保存為本地文件名為test。
  • -r test:表示從服務器上獲取的文件名為test。
  • 192.168.1.109:表示TFTP服務器的IP地址,即文件傳輸的目標地址。

之后可以用cat指令去查看下載的test文件,看看是不是‘hello world”,是的話就說明測試成功

我們之前調試程序都是用U盤將某個文件掛載在開發板上,現在我們可以用TFTP去調試程序

在虛擬機的Ubuntu 上編寫過一個輸出helloworld 的小程序,然后通過交叉編譯器編譯這個程序生成了可執行文件helloworld,通過cp 命令把這個可執行程序helloworld 拷貝到了/var/tftpboot 目錄下,在開發板的串口上執行“tftp -g -l helloworld -rhelloworld 192.168.1.109”

輸入ls 命令查看一下當前目錄,可以看到已經有helloworld 這個文件了,使用命令“./helloworld”運行程序,會發現輸出”hello world“

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14544.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14544.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14544.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

后量子密碼的發展和應用

后量子算法,特別是后量子密碼(PQC),是近年來密碼學領域的一個熱門話題。隨著量子計算技術的快速發展,傳統的公鑰密碼算法面臨著被量子計算機破解的威脅。為了應對這一挑戰,后量子密碼應運而生,成為了一種能夠抵抗量子計…

【論文筆記】| 蛋白質大模型ProLLaMA

【論文筆記】| 蛋白質大模型ProLLaMA ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing Peking University Theme: Domain Specific LLM Main work: 當前 ProLLM 的固有局限性:(i)缺乏自然…

Redis篇 在linux系統上安裝Redis

安裝Redis 在Ubuntu上安裝Redis 在Ubuntu上安裝Redis 在linux系統中,我們安裝Redis,必須先使它有root權限. 那么在linux中,如何切換到root用戶權限呢? sudo su 就可切換到用戶權限了. 在切換到用戶權限后,我們需要用一條命令來搜索Redis相關的軟件包 apt search redis 會出現非…

ROS2學習——節點話題通信(2)

目錄 一、ROS2節點 1.概念 2.實例 (1)ros2 run (2)ros2 node list (3)remapping重映射 (4)ros2 node info 二、話題 (1) ros2 topic list &#xf…

頭歌openGauss-存儲過程第1關:創建存儲過程

編程要求 1、創建第1個存儲過程,并調用; 1)創建存儲過程,查詢emp表數據; 2)調用存儲過程; --創建存儲過程,獲得計算機(cs)系學生選課情況并將結果寫入臨時表t…

人臉識別:基于卷積神經網絡(CNN)分類思想的人臉識別系統

本文來自公眾號 “AI大道理” —————— 項目配套視頻課程: 平臺:荔枝微課 鏈接:十方教育 項目地址:https://github.com/AIBigTruth/CNN_faces_recognition 之前很多人來詢問這個項目怎么做,代碼跑不起來&#…

數據庫讀寫分離

實現 MySQL 的讀寫分離主要可以通過以下幾種方式: 一主多從架構: 設置一個主數據庫(Master)來處理寫操作(如 INSERT、UPDATE、DELETE)。 設置多個從數據庫(Slave)來處理讀操作&…

USB數據恢復軟件:輕松找回U盤重要數據!

USB數據丟失的原因 USB數據丟失有一些常見原因,了解這些原因有利于恢復數據。 文件意外刪除病毒攻擊軟件錯誤未安全彈出USB設備格式化USB設備 順便一提,如果你通過快捷鍵“Ctrl D”刪除了數據,那你可以從回收站中還原它們。如果你永久刪除…

Isaac Sim仿真平臺學習(1)認識Isaac Sim

0.前言 上一個教程中我們下載好了Isaac Sim,這一章我們將來簡單了解一下Isaac Sim平臺。 isaac Sim仿真平臺安裝-CSDN博客 1.Isaac Sim是啥? What Is Isaac Sim? — Omniverse IsaacSim latest documentation Isaac Sim是NVDIA Omniverse平臺的機器…

【編譯原理復習筆記】屬性文法

屬性文法 也稱為屬性翻譯文法,由 Knuth 提出,以上下文無關文法為基礎 (1)為每個文法符號(終結符與非終結符)配備相關的屬性,代表與該文法符號相關的信息 (2)屬性文法對于…

【LSTM】基于Matlab的LSTM模型建模(代碼)

訓練目標:用LSTM訓練數據 數據:隨時間遞增,患者患病的概率(橫坐標1個單位代表1個時間單位) 以下代碼可直接運行 clc clear close all warning off % 關閉報警信息 %% 1.數據操作 % 1.1.導入數據&#x…

數據鏈路層協議——以太網協議

1. 數據鏈路層 網絡層用于將數據從一臺主機發送到另一臺主機。傳輸層用于將數據可靠的從一臺主機發送到另一臺主機。(網絡層沒有保證可靠性的策略,傳輸過程中可能會出現各種意外,例如:丟包,網絡擁塞等。通過傳輸層可以…

跨域問題的4種解決方案

文章導讀 前言 跨域問題指的是在Web開發中,由于瀏覽器的同源策略限制,當一個網頁嘗試訪問與它不同源(協議、域名或端口不同)的資源時,可能會遇到安全限制導致無法正常訪問的問題。這種策略旨在防止惡意網站讀取或修改其…

yarn的基本命令和用法

Yarn通過并行安裝、離線模式、確定性安裝以及更好的依賴解析算法,為開發者提供了更快、更穩定、更安全的包管理體驗。它保留了npm的大部分功能,并在此基礎上做了大量優化,下面我們就來詳述Yarn的核心命令和實用技巧。📚 安裝Yarn…

【MySQL精通之路】InnoDB(7)-鎖和事務模型(2)-事務模型

主博客: 【MySQL精通之路】InnoDB(7)-鎖和事務模型-CSDN博客 上一篇: 【MySQL精通之路】InnoDB(7)-鎖和事務模型(1)-鎖-CSDN博客 下一篇: 目錄 1.事務隔離級別 2.1 可重復讀 2.2 讀已提交 2.3 讀取未提交 2.4 序列化讀 2.自動提交、…

訂餐系統總結、

應用層: SpringBoot:快速構建Spring項目,采用“約定大于配置”的思想,簡化Spring項目的配置開發。 SpringMvc:Spring框架的一個模塊,springmvc和spring無需通過中間整合層進行整合,可以無縫集成。 Sprin…

完整的數據可視化方法集

在當前的大數據時代,了解如何可視化數據是UI/UX設計師技能的重要組成部分。如今,幾乎所有的公司都需要良好的數據可視化作為確定業務方向和決策的參考。數據的可視化結果越好,用戶的決策就越科學。 1、什么是數據可視化 數據可視化是將信息…

張量 t-product 積(matlab代碼)

參考文獻:Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm 首先是文章2.3節中 t-product 的定義: 塊循環矩陣: 參考知乎博主的例子及代碼:(t-product與t-QR分解,另一篇傅里葉對…

HTML5 設備訪問及輸入輸出設備交互

目錄 設備訪問輸入設備交互輸出設備交互設備訪問 設備信息訪問 navigator.userAgent:獲取瀏覽器的用戶代理字符串,從中可以解析出設備類型、操作系統、瀏覽器版本等信息。 const userAgent = navigator.userAgent; console.log(userAgent); // 輸出類似 "Mozilla/5.0…

算法(Algorithm)

算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,代表著用系統的方法描述解決問題的策略機制。也就是說,算法能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。算法應該具有…