0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux网络编程_网络指令与TCP协议介绍

DS小龙哥-嵌入式技术 2022-09-17 15:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

【摘要】 介绍网络编程的基础指令、关闭防火墙、配置网卡、配置虚拟机、完成基本网络编程测试。

剩下: Shell脚本和socket网络编程

虚拟机: 虚拟计算机环境、。

Linux系统编程需要掌握的知识:

1.​操作系统环境搭建(虚拟机+Linux操作系统)

2.​常用的指令(文件目录管理、网络管理、磁盘管理)

3.​文件(fopen系列、open系列)和目录操作

4.​Shell脚本编程

5.​进程和线程编程(并发): 多路IO操作: poll机制、select机制、epoll机制

6.​网络编程

7.​常见的设备操作: 摄像头控制

学习Linux系统编程: Linux应用和驱动开发、Linux运维开发。

任务1: Linux下网络编程

1.1 协议概念介绍

网络传输分协议,底层常见协议: TCP、UDP协议。

网络数据如何传输?

pYYBAGMlP76AWB2UAACUV8oXcLQ577.png

​协议词汇

IIC、SPI、CAN、485、8080、USART(串口)、TCP/IP协议…….

​TCP/IP协议: 传输数据是分包进行发送。(数据包: 封包、解包)

问题: 有一个路由器可以上网(外网只有一根网线),路由器可以扩展网络(4根网线),4根网络同时接了4台电脑

每台电脑在进行网络应用操作(QQ聊天、浏览器文件下载、玩游戏……)

端口号: 表示每一台电脑上的具体的一个应用程序。

IP地址: 表示每一个电脑的地址(唯一地址)。

访问一台电脑具体应用的地址表示方法: :<端口号> 192.168.1.123:8080地址>

1.2 IP地址介绍

局域网IP地址: 常见都是192开头: 192.xx.xx.xx

广域网IP地址(公网IP): xx.xx.xx.xx 比如: 登录QQ。

1.3 TCP协议和UDP协议区别:

TCP协议: 点对点协议。 比如: 打电话 (3次握手过程)。

(HTTP协议、FTP协议……)

UDP协议: 广播协议。 比如: 广播电台。实时效率比较高。(数据不可靠)

TCP协议模型: (C/S模型) (客户端+服务器模型)

TCP协议通信:是针对服务器和客户端之间。

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

电脑上的QQ软件: QQ客户端,服务器就在腾讯公司。

poYBAGMlP76AMGQLAAAqEXZtYWg825.png

1.4 学习Linux系统基本网络操作指令

指令1: ifconfig <参数>

用法: ifconfig 查看已经启动的网卡信息(IP地址)。

pYYBAGMlP7-AP4aCAAHIH0FN7To739.png

1.​手动设置网卡IP地址: #ifconfig eth0 192.168.1.100

2.开启网卡: # ifup eth0

3. 关闭网卡: # ifdown eth0

4. 查看全部网卡: # ifconfig -a (包括关闭未启动的网卡)

5. 关闭防火墙的图形设置页面: # setup

poYBAGMlP8KAPxF5AADu018dJDw032.png

1.5 网卡自动分配IP地址的操作

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

​测试网络是否畅通:

poYBAGMlP8eAYqYoAADNx1GDTIQ729.pngpYYBAGMlP8eAPfpjAADgPAONVfY420.png

1.6 常用的TCP协议调试软件使用

poYBAGMlP8eAEGnjAABPfVKrl2g692.png

任务2: TCP协议网络编程

在Linux系统下所有的设备操作都可以看成文件操作。

网络上传输的数据与本地计算机的数据传输存储的方式不一样: 小端和大端

​TCP协议服务器搭建过程

1.​创建套接字: socket

2.​绑定端口号: bind (创建服务器)

3.​设置监听的数量,最大可以连接的客户端数量。

4.​阻塞方式等待客户端连接

5.​实现数据通信。 (客户端连接成功之后)

​TCP协议客户端搭建过程

1.​创建套接字

2.​连接指定的服务器

3.​实现数据通信(成功的连接服务器)

​将16位数量从主机字节顺序转换为网络字节顺序。

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

​ 练习

1.​重新编写代码,实现客户端与服务器之间基本通信。

2.​实现文件传输:

比如: 服务器给客户端发送文件 (下载)

客户端给服务器发送文件 (上传)

(1)​在本地计算机上测试

(2)​与局域网内其他计算机之间进行测试。 考虑网络、丢包问题。

扩展练习:

1.​实现目录传输(只写一级目录)。

2.​实现目录内文件的同步 (公交车站台、地铁里广告机(视频播放机))

安装编译器

pYYBAGMlP8eAcK-jAABd1EuECR4703.png

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

​在任意目录下想要运行这个编辑软件,需要添加环境变量。

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

进入插入模式下,写上以下代码,再保存退出:

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

2.​立即生效环境变量的命令(只是当前运行的终端有效)

# source /etc/profile

3.​永久生效。重启系统 或者 注销用户重新登录

第二个软件安装: # 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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 协议
    +关注

    关注

    2

    文章

    620

    浏览量

    41189
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1433

    浏览量

    83763
  • 网络编程
    +关注

    关注

    0

    文章

    74

    浏览量

    11189
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业网络跨网段互联:S7/TCP 转 Profinet 实施案例

    ,基于 S7/TCP 协议组建控制网络,部署于 192.168.1.0/24 网段,承担产线整体的逻辑控制、数据汇总与指令下发功能;现场设备层则配备多台 Profinet 总线型变频器
    的头像 发表于 03-04 09:08 983次阅读
    工业<b class='flag-5'>网络</b>跨网段互联:S7/<b class='flag-5'>TCP</b> 转 Profinet 实施案例

    工业路由器支持哪些有线网络

    接口连接有线网络,提供高速稳定的数据传输。 应用场景 :工厂自动化、智能交通、能源监控等需要高带宽和可靠连接的场景。 TCP/IP协议TCP(传输控制
    的头像 发表于 10-23 09:47 643次阅读

    飞凌嵌入式ElfBoard-Linux系统基础入门-网络相关shell命令之网络基础知识

    /网络协议,也叫做网络通讯协议。是linux世界的网络基础,是在
    发表于 10-09 09:30

    Profinet从转Modbus(TCP)主总线协议转换网关

    和Modbus(TCP)从站网络网络设备连接,‌从而实现不同工业通信协议之间的相互转换。可支持Modbus TCP Client和Modbu
    的头像 发表于 09-18 14:57 714次阅读
    Profinet从转Modbus(<b class='flag-5'>TCP</b>)主总线<b class='flag-5'>协议</b>转换网关

    rtthread网络接口设备 轻量级tcp/ip 堆栈 这两个冲突吗?

    需要使用 lwip 上图中 网络接口设备 需要使能么? 上图中 网络接口设备 是干嘛用的?是一个比lwip 功能弱的tcp/ip 协议栈么?
    发表于 09-18 06:16

    Linux网络性能调优方案

    在当今高并发、大流量的互联网环境下,网络性能往往成为系统的瓶颈。作为一名资深运维工程师,我在生产环境中遇到过无数次因为TCP/IP参数配置不当导致的性能问题。今天分享一套完整的Linux网络
    的头像 发表于 08-06 18:01 1498次阅读

    GraniStudio : TCP/IP(Socket)协议深度剖析

    在工业自动化与物联网领域,TCP/IP(Socket)协议作为应用最广泛的网络通信标准,是实现设备间数据交互的核心技术。GraniStudio 软件作为工业级零代码开发平台,其内置的 TCP
    的头像 发表于 08-03 22:20 1358次阅读
    GraniStudio : <b class='flag-5'>TCP</b>/IP(Socket)<b class='flag-5'>协议</b>深度剖析

    什么是Modbus TCP协议

    TCP/IP协议栈,通过以太网进行通信,并支持多个设备同时访问同一个Modbus TCP服务器。 一、协议本质与设计目标 起源与定位 Modbus
    的头像 发表于 07-23 17:18 4782次阅读
    什么是Modbus <b class='flag-5'>TCP</b><b class='flag-5'>协议</b>

    Linux系统中网络配置详解

    网络配置是Linux系统运维中的核心技能之一。正确理解和配置子网掩码、网关等网络参数,直接影响系统的网络连通性和性能。本文将深入探讨Linux
    的头像 发表于 07-17 11:01 1375次阅读

    【嘉楠堪智K230开发板试用体验】网络收发信息

    本次测评k230的网络模块,通过Socket编程实现CanMV K230与电脑服务器助手建立连接,相互收发数据。 我们先来看看网络层级模型图,这是构成网络通信的基础:
    发表于 07-13 08:13

    当CCLinkIE撞上Modbus TCP:照明控制系统的“方言战争”终结术

    在楼宇自动化系统中,新旧协议的兼容性问题常成为工程师的“隐形绊脚石”。CCLinkIE网络的高速实时性与Modbus TCP照明控制器的通用性看似“天生对立”,但通过协议转换方案,两者
    发表于 07-10 15:49

    Linux网络管理的关键技术和最佳实践

    在大型互联网企业中,Linux网络管理是运维工程师的核心技能之一。面对海量服务器、复杂网络拓扑、高并发流量,运维人员需要掌握从基础网络配置到高级网络
    的头像 发表于 07-09 09:53 1122次阅读

    JF - 600MT称重变送器与Modbus TCP转Profibus DP网关通讯案例

    总线协议,广泛应用于制造业和流程控制中。当需要将使用Modbus TCP协议的设备连接到Profibus DP网络时,就需要使用协议转换器来
    的头像 发表于 06-21 12:09 699次阅读
    JF - 600MT称重变送器与Modbus <b class='flag-5'>TCP</b>转Profibus DP网关通讯案例

    TCP攻击是什么?有什么防护方式?

    出DDoS高防产品、CC防御产品,但是对于TCP攻击的防护不是特别的理想。那么, TCP攻击是什么?有什么防护方式? TCP攻击是什么? TCP攻击是指利用
    的头像 发表于 06-12 17:33 1187次阅读

    手把手教你如何调优Linux网络参数

    在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何调优Linux
    的头像 发表于 05-29 09:21 1185次阅读