0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux網(wǎng)絡編程_網(wǎng)絡指令與TCP協(xié)議介紹

DS小龍哥-嵌入式技術 ? 2022-09-17 15:32 ? 次閱讀

【摘要】 介紹網(wǎng)絡編程的基礎指令、關閉防火墻、配置網(wǎng)卡、配置虛擬機、完成基本網(wǎng)絡編程測試。

剩下: Shell腳本和socket網(wǎng)絡編程

虛擬機: 虛擬計算機環(huán)境、。

Linux系統(tǒng)編程需要掌握的知識:

1.?操作系統(tǒng)環(huán)境搭建(虛擬機+Linux操作系統(tǒng))

2.?常用的指令(文件目錄管理、網(wǎng)絡管理、磁盤管理)

3.?文件(fopen系列、open系列)和目錄操作

4.?Shell腳本編程

5.?進程和線程編程(并發(fā)): 多路IO操作: poll機制、select機制、epoll機制

6.?網(wǎng)絡編程

7.?常見的設備操作: 攝像頭控制

學習Linux系統(tǒng)編程: Linux應用和驅動開發(fā)、Linux運維開發(fā)。

任務1: Linux下網(wǎng)絡編程

1.1 協(xié)議概念介紹

網(wǎng)絡傳輸分協(xié)議,底層常見協(xié)議: TCP、UDP協(xié)議。

網(wǎng)絡數(shù)據(jù)如何傳輸?

pYYBAGMlP76AWB2UAACUV8oXcLQ577.png

??協(xié)議詞匯

IIC、SPI、CAN、485、8080、USART(串口)、TCP/IP協(xié)議…….

??TCP/IP協(xié)議: 傳輸數(shù)據(jù)是分包進行發(fā)送。(數(shù)據(jù)包: 封包、解包)

問題: 有一個路由器可以上網(wǎng)(外網(wǎng)只有一根網(wǎng)線),路由器可以擴展網(wǎng)絡(4根網(wǎng)線),4根網(wǎng)絡同時接了4臺電腦。

每臺電腦在進行網(wǎng)絡應用操作(QQ聊天、瀏覽器文件下載、玩游戲……)

端口號: 表示每一臺電腦上的具體的一個應用程序。

IP地址: 表示每一個電腦的地址(唯一地址)。

訪問一臺電腦具體應用的地址表示方法: :<端口號> 192.168.1.123:8080地址>

1.2 IP地址介紹

局域網(wǎng)IP地址: 常見都是192開頭: 192.xx.xx.xx

廣域網(wǎng)IP地址(公網(wǎng)IP): xx.xx.xx.xx 比如: 登錄QQ。

1.3 TCP協(xié)議和UDP協(xié)議區(qū)別:

TCP協(xié)議: 點對點協(xié)議。 比如: 打電話 (3次握手過程)。

(HTTP協(xié)議、FTP協(xié)議……)

UDP協(xié)議: 廣播協(xié)議。 比如: 廣播電臺。實時效率比較高。(數(shù)據(jù)不可靠)

TCP協(xié)議模型: (C/S模型) (客戶端+服務器模型)

TCP協(xié)議通信:是針對服務器和客戶端之間。

注意: 客戶端和客戶端不能直接通信、服務器和服務器直接不能直接通信。

電腦上的QQ軟件: QQ客戶端,服務器就在騰訊公司。

poYBAGMlP76AMGQLAAAqEXZtYWg825.png

1.4 學習Linux系統(tǒng)基本網(wǎng)絡操作指令

指令1: ifconfig <參數(shù)>

用法: ifconfig 查看已經(jīng)啟動的網(wǎng)卡信息(IP地址)。

pYYBAGMlP7-AP4aCAAHIH0FN7To739.png

1.?手動設置網(wǎng)卡IP地址: #ifconfig eth0 192.168.1.100

2.開啟網(wǎng)卡: # ifup eth0

3. 關閉網(wǎng)卡: # ifdown eth0

4. 查看全部網(wǎng)卡: # ifconfig -a (包括關閉未啟動的網(wǎng)卡)

5. 關閉防火墻的圖形設置頁面: # setup

poYBAGMlP8KAPxF5AADu018dJDw032.png

1.5 網(wǎng)卡自動分配IP地址的操作

pYYBAGMlP8KAeZDMAAHgb-jd2SQ282.pngpoYBAGMlP8OAWI2lAADJWmv4bI4625.pngpYYBAGMlP8SAb_o5AAFAjWJ4DC0777.pngpoYBAGMlP8WAMR8eAAHzJf2pGVA911.pngpYYBAGMlP8aADrAUAADC8nq8-qQ091.png

??測試網(wǎng)絡是否暢通:

poYBAGMlP8eAYqYoAADNx1GDTIQ729.pngpYYBAGMlP8eAPfpjAADgPAONVfY420.png

1.6 常用的TCP協(xié)議調試軟件使用

poYBAGMlP8eAEGnjAABPfVKrl2g692.png

任務2: TCP協(xié)議網(wǎng)絡編程

在Linux系統(tǒng)下所有的設備操作都可以看成文件操作。

網(wǎng)絡上傳輸?shù)臄?shù)據(jù)與本地計算機的數(shù)據(jù)傳輸存儲的方式不一樣: 小端和大端

??TCP協(xié)議服務器搭建過程

1.?創(chuàng)建套接字: socket

2.?綁定端口號: bind (創(chuàng)建服務器)

3.?設置監(jiān)聽的數(shù)量,最大可以連接的客戶端數(shù)量。

4.?阻塞方式等待客戶端連接

5.?實現(xiàn)數(shù)據(jù)通信。 (客戶端連接成功之后)

??TCP協(xié)議客戶端搭建過程

1.?創(chuàng)建套接字

2.?連接指定的服務器

3.?實現(xiàn)數(shù)據(jù)通信(成功的連接服務器)

??將16位數(shù)量從主機字節(jié)順序轉換為網(wǎng)絡字節(jié)順序。

# define HTONS(n) (u16_t)((((u16_t) (n)) << 8) | (((u16_t) (n)) >> 8))

?? 練習

1.?重新編寫代碼,實現(xiàn)客戶端與服務器之間基本通信。

2.?實現(xiàn)文件傳輸:

比如: 服務器給客戶端發(fā)送文件 (下載)

客戶端給服務器發(fā)送文件 (上傳)

(1)?在本地計算機上測試

(2)?與局域網(wǎng)內其他計算機之間進行測試。 考慮網(wǎng)絡、丟包問題。

擴展練習:

1.?實現(xiàn)目錄傳輸(只寫一級目錄)。

2.?實現(xiàn)目錄內文件的同步 (公交車站臺、地鐵里廣告機(視頻播放機))

安裝編譯器

pYYBAGMlP8eAcK-jAABd1EuECR4703.png

解壓命令: # tar xvf sublime_text_3_build_3143_x32.tar.bz2

??在任意目錄下想要運行這個編輯軟件,需要添加環(huán)境變量。

1.?# vim /etc/profile 打開配置文件 (翻到最后一行)

進入插入模式下,寫上以下代碼,再保存退出:

export PATH=/work/test/sublime_text_3:$PATH

2.?立即生效環(huán)境變量的命令(只是當前運行的終端有效)

# source /etc/profile

3.?永久生效。重啟系統(tǒng) 或者 注銷用戶重新登錄

第二個軟件安裝: # rpm -ivh UltraEdit-16.1-0.22.i386.rpm

poYBAGMlP8eAdCyLAACp5k1xgLg427.png

使用軟件: # uex 123.c

??破解方法:

方法1(不改變軟件配置):

UltraEdit for linux 30天無限試用的方法:

1. 查找uex.conf文件,該文件是UltraEdit的配置文件

示例:[root@wbyq sd_fuse]# find / -name uex.conf

查找出的結果:/root/.idm/uex/uex.conf

2. 刪除uex.conf文件

示例:[root@wbyq sd_fuse]# rm /root/.idm/uex/uex.conf

3. 刪除記錄時間的文件

[root@wbyq ~]# rm /tmp/*.spl -rfdv

4. 重新運行uex命令即可使用

方法2(改變軟件配置,全部重新初始化):

UltraEdit for linux 30天無限試用的方法:

1. 查找uex.conf文件,該文件是UltraEdit的配置文件

示例:[root@wbyq sd_fuse]# find / -name uex.conf

查找出的結果:/root/.idm/uex/uex.conf

2. 刪除/root/.idm目錄

示例:[root@wbyq sd_fuse]# rm /root/.idm -rf


3. 刪除記錄時間的文件

[root@wbyq ~]# rm /tmp -rf


4. 重新運行uex命令即可使用30天

方法3:

UltraEdit for linux 30天無限試用的方法:(快速精簡,不改變之前的軟件配置)

rm -rfd ~/.idm/uex

rm -rf ~/.idm/*.spl

rm -rf /tmp/*.spl

軟件下載地址:

http://www.ultraedit.com/downloads/uex.html


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 協(xié)議
    +關注

    關注

    2

    文章

    590

    瀏覽量

    39048
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1324

    瀏覽量

    78756
  • 網(wǎng)絡編程

    關注

    0

    文章

    66

    瀏覽量

    10012
收藏 人收藏

    評論

    相關推薦

    Linux網(wǎng)絡協(xié)議棧的實現(xiàn)

    網(wǎng)絡協(xié)議棧是操作系統(tǒng)核心的一個重要組成部分,負責管理網(wǎng)絡通信中的數(shù)據(jù)包處理。在 Linux 操作系統(tǒng)中,網(wǎng)絡
    的頭像 發(fā)表于 09-10 09:51 ?122次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>協(xié)議</b>棧的實現(xiàn)

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計算機網(wǎng)絡通信的基礎,是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議。TCP/IP協(xié)議
    的頭像 發(fā)表于 08-07 15:38 ?367次閱讀
    一文了解<b class='flag-5'>TCP</b>/IP<b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢

    如何被組織、傳輸和路由。TCP/IP協(xié)議集包含了許多協(xié)議,每個協(xié)議負責網(wǎng)絡通信過程中的不同方面。下面是對
    的頭像 發(fā)表于 07-25 16:49 ?248次閱讀

    TCP IP協(xié)議屬性設置中的IP配置

    在現(xiàn)代網(wǎng)絡中,TCP/IP協(xié)議是基礎架構的重要組成部分。掌握TCP/IP協(xié)議屬性設置中的IP配置對于確保
    的頭像 發(fā)表于 07-23 10:10 ?314次閱讀

    TCP協(xié)議中的擁塞控制機制與網(wǎng)絡穩(wěn)定性

    TCP協(xié)議中的擁塞控制機制與網(wǎng)絡穩(wěn)定性的深度探討 隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡流量呈現(xiàn)爆炸式增長,網(wǎng)絡擁塞問題逐漸凸顯。為了維護
    的頭像 發(fā)表于 04-19 16:42 ?277次閱讀

    網(wǎng)絡傳輸協(xié)議有幾種?

    網(wǎng)絡傳輸協(xié)議是一種規(guī)定計算機在網(wǎng)絡中進行通信的規(guī)則或標準。常見的網(wǎng)絡傳輸協(xié)議有以下幾種: 1. TCP
    的頭像 發(fā)表于 04-02 16:04 ?851次閱讀

    Linux網(wǎng)絡編程

    一、介紹 比如2個安卓手機需要通訊,就必須獲得對方的IP地址和端口號 socket套接字:分為TCP和UDP TCP:面向連接,可靠,(類似于雙方打電話),適用于數(shù)據(jù)量小而且需要準確傳輸 UDP
    的頭像 發(fā)表于 03-26 10:58 ?245次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>編程</b>

    通信網(wǎng)絡協(xié)議棧之UDP協(xié)議技術解析

    在通常的網(wǎng)絡協(xié)議棧中,TCP/IP協(xié)議棧是一個常見的示例,其中UDP和TCP都是傳輸層協(xié)議。傳輸
    發(fā)表于 02-01 11:00 ?679次閱讀
    通信<b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>協(xié)議</b>棧之UDP<b class='flag-5'>協(xié)議</b>技術解析

    網(wǎng)絡適配器沒有啟用TCP/IP服務怎么解決?

    網(wǎng)絡適配器沒有啟用TCP/IP服務怎么解決? 網(wǎng)絡適配器是計算機與網(wǎng)絡之間的橋梁,負責將數(shù)據(jù)從計算機傳輸?shù)?b class='flag-5'>網(wǎng)絡上的其他設備,并將從
    的頭像 發(fā)表于 12-19 11:04 ?6068次閱讀

    linux TCP/IP 協(xié)議棧源碼分析

    socket結構體現(xiàn)。這一部分的文件 主要有:/net/socket.c /net/protocols.c etc INET socket層:BSD socket是個可以用于各種網(wǎng)絡協(xié)議的接口,而當用于tcp
    的頭像 發(fā)表于 11-09 15:04 ?2080次閱讀
    <b class='flag-5'>linux</b> <b class='flag-5'>TCP</b>/IP <b class='flag-5'>協(xié)議</b>棧源碼分析

    Socket 網(wǎng)絡編程框架介紹

    :基于 HTTP 協(xié)議的 Web 服務器、基于 SMTP 協(xié)議的郵件服務器、基于 FTP 協(xié)議的文件服務器等等。 Linux Socket 網(wǎng)絡
    的頭像 發(fā)表于 11-09 14:19 ?855次閱讀
    Socket <b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>編程</b>框架<b class='flag-5'>介紹</b>

    TCP 協(xié)議深度解析

    頭部信息,此處是 TCP 協(xié)議 Hypertext Transfer Protocol:應用層 HTTP 的信息 網(wǎng)絡分層 應用層(Application Layer) 應用層的本質是規(guī)定了應用程序之間如何相互傳遞報文, 以
    的頭像 發(fā)表于 11-09 11:19 ?729次閱讀
    <b class='flag-5'>TCP</b> <b class='flag-5'>協(xié)議</b>深度解析

    TCP協(xié)議詳細解析

    TCPTCP/IP協(xié)議族中一個最核心的協(xié)議,它向下使用網(wǎng)絡層IP協(xié)議,向上為應用層HTTP、F
    的頭像 發(fā)表于 11-03 09:14 ?3579次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>詳細解析

    tcp/ip協(xié)議和opc協(xié)議對比詳解

    TCP/IP協(xié)議和OPC協(xié)議是兩種重要的網(wǎng)絡協(xié)議,它們在不同的網(wǎng)絡層級上運行,并為數(shù)據(jù)傳輸和通信
    的頭像 發(fā)表于 10-21 10:11 ?1171次閱讀

    TCP/IP協(xié)議和OPC協(xié)議的區(qū)別

    隨著計算機網(wǎng)絡技術的飛速發(fā)展,網(wǎng)絡通信已經(jīng)成為現(xiàn)代工業(yè)自動化控制系統(tǒng)中不可或缺的一部分。在眾多的網(wǎng)絡通信協(xié)議中,傳輸控制協(xié)議TCP)和網(wǎng)際
    的頭像 發(fā)表于 10-20 17:34 ?3973次閱讀