网络通信编程——Email-FTP-RTSP协议实践研究

[网络通信]Email-FTP-RTSP协议实践研究 文章目录一.Email应用编程1.SMTP协议2.POP3协议3.IMAP协议4.telnet登录163/QQ发送邮件5.命令登录POP服务阅读邮件6.FTP协议7.HTTP1.1协议8.实践:在Ubuntu系统上安装一个Ftpd服务(搭建FTP服务)。用telnet 手工方式 登录ftp服务,上传一个图片文件或压缩包文件;然后,再手工用分片下载的方式,将此文件分片下载到本地(多个小文件),再将这几个小文件合并为1个大文件(无须编程,用copy命令即可实现),看是否与原文件一样大小,是否能正常打开。9.RT 阅读详情

一、Email应用编程

1.相关协议

  • SMTP协议
    SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
    SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
    增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。
  • POP3协议
    POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。
    POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC。一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除。但POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。
  • IMAP协议
    IMAP(Internet Message Access Protocol)以前称作交互邮件访问协议(Interactive Mail Access Protocol),是一个应用层协议。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。

2.登录QQ的SMTP服务发送文本邮件

  • 在电脑端登录QQ进入网页端邮箱,之后点击 设置->账户,打开SMTP服务,并获得授权码。在这里插入图片描述之后进入cmd命令台端口
telnet smtp.qq.com 587
helo smtp

登陆命令

auth login
  • 之后分别输入自己邮箱和授权码的base64形式,可以在https://base64.us/
    在这里插入图片描述返回235 Authentication successful则表示登录成功。
  • 之后配置发件人和收件人:
mail from:<你的发件邮箱>
rcpt to:<接收邮箱>
  • 之后发送内容:
data
subject:填写邮件主题
//这里空一行
//填写邮件内容
.//这里以.结束

在这里插入图片描述

3.登录POP服务,阅读收到的邮件

进入cmd命令端:
以以下命令登录服务器:

telnet pop.qq.com 110
  • 之后输入自己的qq
user qq号码
  • 之后输入授权码:
pass 授权码
  • 之后输入stat统计邮件信息:
stat
  • 以list显示列表信息
list
  • 以retr加序号查看邮件
retr 1//举例

在这里插入图片描述

二、登录ftp服务上传图片并分片下载最后合成

1.相关协议

  • FTP

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

  • HTTP1.1

HTTP1.1(Hypertext Transfer Protocol Version 1.1)超文本传输协议-版本1.1
它是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议簇之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。您的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由URL指定的IP地址。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。

2.上传图片并分片下载合成

  • 在ubuntu下安装VSFTPD:
sudo apt-get install vsftpd

在这里插入图片描述

  • 启动服务
service vsftpd start
  • 新建一个目录
sudo mkdir /home/uftp

在这里插入图片描述

  • 新建一个名为uftp的用户
sudo useradd -d /home/uftp -s /bin/bash uftp

并设置密码

sudo passwd

在这里插入图片描述

  • 配置vsftpd.conf
sudo vi /etc/vsftpd.conf

需要更改:

local_enable=YES  //去掉该句前面的#
#设置文件上传
write_enable=YES //去掉该句前面的#
#使用utf8(centos默认没有这个设置也不需要添加)
utf8_filesystem=YES  //去掉该句前面的#

并在vsftpd.conf末尾添加:

userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=NO
  • 新建文件vsftpd.user_list
sudo vi /etc/vsftpd.user_list

这里需要注意,进去之后,可能需要先按一下“a”或“i”,才能进行输入。能输入之后在里面键入 uftp ,即自己新建的用户名,之后按esc退出输入模式,最后输入 :wq,即可保存退出。

  • 之后登录服务器(输入用户名和自己的密码):
    在这里插入图片描述
  • 进行上传
put girl.jpg

在这里插入图片描述
下载

get girl.jpg
  • 分割文件:
split -b 1k -d girl.jpg pic

在这里插入图片描述

注意!图片大小与切割大小的比例最好小一点,否则就会像上面那样切割成很多文件,后面进行粘合很难操作

重新切割
在这里插入图片描述

  • 进行粘合
cat pic00 pic01>t1
cat t1 pic02>t2
cat t2 pic03>t3
....//不断覆盖所有分割出来的文件
cat t53 pic53>finsh.jpeg

在这里插入图片描述
在这里插入图片描述

总结

中间遇到的问题很多,base64形式转码输入报错,多试几次;Ubuntu下配置vsftpd.conf不能直接在文件列表打开更改,会显示没有修改权限。总的来说有问题还是得需要耐心。本次实验了解了一些协议,通过不同形式深入学习各种协议。


参考链接

https://blog.youkuaiyun.com/qq_46359931/article/details/122186843

https://blog.youkuaiyun.com/qq_45659777/article/details/122084550

电子邮件工作原理及协议实验指南 电子邮件系统是由多个组件构成的,它们协同工作以保证邮件的发送、传输和接收。在本章中,我们将介绍电子邮件系统的核心组件,为理解后续章节内容打下基础。简单邮件传输协议(SMTP)是一种用于电子邮件传输的互联网标准协议。SMTP服务通常运行在服务器上的25端口上,负责从发件人的邮件客户端发送邮件到收件人的邮件服务器。其工作流程可以概述为以下步骤:建立连接:当用户使用邮件客户端撰写并发送邮件时,客户端与接收方邮件服务器上的SMTP服务建立一个TCP连接。发送邮件。 阅读详情

相关推荐

电子邮件相关协议分析实验报告

电子邮件相关协议分析实验报告,里面包括一些截图,及做实验过程中的详细说明

Email-FTP-RTSP协议实践研究

目录一.登录邮箱STMP服务发送文本邮件.1 SMTP协议简介.2 POP3协议简介.3 IMAP协议简介.4 登录QQ的SMTP服务发送文本邮件.5 登录POP服务,阅读新收到的邮件二.登录ftp服务上传图片并分片下载最后合成.1 FTP协议简介.2 HTTP1.1协议简介.3 上传图片并分片下载合成 一.登录邮箱STMP服务发送文本邮件 .1 SMTP协议简介 SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关

qq_46359931的博客 657

F5 Shape盾JSVMP核心检测点与无限并发Header生成实战(TikTok/航司)

本文深入剖析了F5 Shape盾结合JSVMP技术的核心风控机制,详细解读了其针对浏览器指纹、行为时序等多维度的检测逻辑。通过实战案例,分享了如何通过逆向分析、精准Hook关键检测点,并构建稳定、高并发的请求Header生成方案,以应对TikTok、航司等平台的高级反爬挑战。

weixin_29325007的博客 1010

SMTP、POP3和IMAP协议的区别

SMTP、POP3和IMAP协议的区别SMTPPOP3IMAP总结 SMTP SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服...

凌飞安 2795

AI大模型驱动Web UI自动化测试:Playwright与RobotFramework智能整合实践

Web自动化测试是软件质量保障的关键环节,其核心原理是通过脚本模拟用户操作,对Web应用界面进行功能验证。传统方法依赖固定的元素定位和脚本逻辑,在应对频繁的UI变更时面临维护成本高、脚本脆弱的挑战。随着AI大模型技术的发展,其强大的自然语言理解和代码生成能力为自动化测试带来了新的技术价值。通过将大模型的意图理解与代码生成能力,与Playwright强大的浏览器自动化执行引擎以及RobotFramework灵活的关键字驱动框架相结合,可以构建出能够理解自然语言指令、动态生成稳定操作脚本的智能测试系统。这种融合

weixin_28718769的博客 412

别再手动巡检了!vRealize Operations Manager 8.x 自动化报告配置全攻略(附模板下载)

本文详细介绍了如何利用vRealize Operations Manager 8.x实现自动化巡检报告配置,大幅提升虚拟化运维效率。通过模板定制、智能调度和自动分发等功能,帮助运维团队告别手动生成报告的繁琐工作,实现90%以上的时间节省。文章还提供了实用的配置技巧和最佳实践,助力企业构建高效的自动化报告系统。

weixin_33806859的博客 297

实验5 电子邮件

服务器收到客户端的Client Hello数据包之后,根据客户端发来的加密套件列表,选择一个加密套件,也生成一个随机字符串返回给客户端。TLS握手过程的第一步就是客户端发起请求,主要包括了客户端生成的随机字符串(session key),还包含了客户端所支持所支持的加密套件列表、随机数等信息。服务器返回Server Key Exchange数据包,用于和客户端交换用于数据加密的密钥,Server Hello Done用于通知客户端已经发送用于密钥交换的数据等待客户端响应。可以使用系统自带,也可以自行下载。

qq_62222185的博客 1033

解锁RK3588+RTL8211F:千兆以太网PHY调优秘籍

本文探讨了RK3588芯片搭配RTL8211F千兆以太网PHY的优化方案。文章首先分析了RK3588和RTL8211F的硬件特性,指出时序问题可能源于时钟信号不稳定、传输延迟和PHY内部逻辑延迟。针对这些问题,提出了选用高质量时钟源、优化PCB布线等时序优化策略,以及合理配置硬件参数、优化网络协议等延迟优化方法。在配置实践部分,详细介绍了硬件连接规范和软件配置步骤,并建议使用Iperf、Ping等工具进行性能测试。最后总结了常见问题解决方案,展望了未来PHY芯片和传输技术的发展趋势。这些优化措施可显著提升网

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 288

LinkSwift 网盘直链下载助手:一个油猴脚本搞定九大网盘的直链获取指南

你有没有过这样的经历:从网盘下载一个几 GB 的视频,速度只有几十 KB/s,想放弃又舍不得?**LinkSwift**(项目内称 Online-disk-direct-link-download-assistant)是一个基于 JavaScript 的**网盘直链下载工具**,以油猴脚本的形式运行在浏览器里,调用各网盘公开的 API 接口拿到文件的真实下载地址,让你可以用 IDM、Aria2、比

gitblog_00051的博客 395

拿下华为性格测试!

华为性格测试指南

weixin_41171614的博客 5264

R语言Rstudio突然无法启动且报错:ERROR system error 42 [str: 一, len: 3, from: UTF-8, to: ISO8859-1]...如何解决

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2846

实验6 电子邮件

计算机网络实验6,仅供参考

qq_63647625的博客 3828

Milvus 向量数据库部署方案全景指南:从单机开发到生产级高可用集群

本文系统介绍了Milvus向量数据库的四大部署方案:嵌入式开发利器Milvus Lite、单机简易部署Standalone模式、生产级高可用Cluster模式以及全托管SaaS服务Zilliz Cloud。针对不同应用场景(开发测试、小型应用、大规模生产环境),详细分析了各模式的适用条件、资源配置要求和部署步骤,并提供了关键配置示例。文章强调正确选择部署方案对系统性能至关重要,帮助开发者根据向量规模、QPS和高可用需求,选择最优部署方式,实现资源优化与稳定运行。

reset2021的博客 385

SMTP(POP)协议分析实验

一、 SMTP概述 1、SMTP协议简介 SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。 2、SMTP协议工作过程 SMTP协议的工作过程可分为如下3个过程: (1)建立连接:在这一阶段,SMTP客户请求与服务器的25端口建立一个TCP连接。一旦连接建立,SMTP服务器和客户就开始相互通告...

大灰狼的博客 4360

Cadence PSpice 仿真0:绘制电路图方法图文教程

在使用PSpice进行电路的仿真时,首先需要使用带有PSpice模型的元器件来绘制电路图,本文简单介绍进行电路图绘制是常用的几种需要掌握的方法,以满足PSpice仿真绘制简单电路图所用。

fydar的博客 4703

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

计算机网络实验八(应用层相关协议分析)

为了观察到邮件发送的全部过程,需要在本地计算机上配置邮件服务器和客户代理。在这里使用CMailServer服务器软件配置本地邮件服务器,使用Foxmail作为客户代理。

bibohaohao的博客 2261

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

思科实验:电子邮件实验

理解电子邮件的含义、理解邮件系统的工作过程、掌握简单的邮件服务器配置。

m0_58370825的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【SMTP】【POP】电子邮件相关协议分析

一、 实验环境 通过普通路由器连接英特网的计算机一台; 通过VMWare安装的Linux虚拟机一台; 抓包工具:Wireshark; 邮件处理软件:Foxmail。 二、 实验原理 SMTP工作原理 SMTP提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP首先由发件方提出申请,要求与接收方SMTP建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件方服务器确认可以建立连接后,双发就可

qq_45028907的博客 5530

计算机网络之email通信

2.视频,图片怎么办,二进制的怎么发送,他的消息体只支持ASCII码 3 . 邮件访问协议(email不止使用多个协议,与web应用不同) 4.POP协议(也是命令响应的模式)(认证阶段+事务阶段)(下载并删除模式 5 . IMAP协议 1.是有状态的协议...

weixin_47039303的博客 2028

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 332

仿muduo实现高并发服务器——EchoServer完成

本文介绍了一个纯头文件实现的 Reactor 服务端骨架,核心结构从 Buffer(双下标缓冲区)出发,依次封装 Socket(RAII 封装 fd)、Channel(事件与回调绑定)、Poller(epoll 封装)、TimerTask/TimeWheel(秒级时间轮)、EventLoop(事件循环 + 任务队列 + eventfd 唤醒),并集成 LoopThread/Pool、Connection、Acceptor 与 TcpServer。通过 EchoServer 示例展示业务逻辑仅需绑定三个回调即

深入探究的博客 375

【Linux网络】TCP 服务器并发处理多客户端:从 fork 分发到双重 fork 彻底消灭僵尸进程

拆解 TCP 服务器并发演进链:fork 分发连接、SIGCHLD 循环回收僵尸、双重 fork 交孙进程给 init 收养,并给出模型选型与线上排错对照。

2301_78967866的博客 414

【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork

本文详解多进程TCP服务器的实现原理,从单进程并发瓶颈出发,通过fork分离连接接收与服务职责。重点解析文件描述符继承机制、僵尸进程问题及双重fork解决方案,最终构建高效、稳定的多进程服务器模型,并说明服务器重启时可能因端口未释放导致绑定失败的原因。

2402_87731470的博客 2364

主从 Reactor 高并发服务器实战 (三):服务器套接字Socket模块详解与实现

本文实现了一个封装完善的Socket模块,将socket→bind→listen→accept等复杂操作收敛为简洁的类接口。通过RAII机制自动管理文件描述符生命周期,避免资源泄漏;提供CreateServer等便捷函数简化服务端创建流程,并支持非阻塞模式与属性设置。模块设计注重安全性与易用性,有效解决样板代码重复、错误处理分散等问题,为后续网络通信模块奠定坚实基础。

dasdasfv的博客 203

ROS2 服务通信 + 参数服务器

plaintext# 请求区---# 响应区int64 sumint64 diff(驼峰文件名)→ 自动生成头文件是 calc_two_int.hpp(下划线)cpp。

w8848w的博客 327
上一篇: W5500+STM32F103C8T6进行TCP通信(modbus)
下一篇: 网络通信编程——IDEA中Java和Spring使用入门
羚漆
博客等级 码龄5年 31粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值