Email-FTP-RTSP协议实践研究

rtsp 流测试工具 立即下载

一.telnet 命令测试 SMTP 服务(QQ邮箱发邮件)

1.POP3

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

2.SMTP(本次使用)

SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

3.IMAP

IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。

4.开启 QQ 邮箱的 SMTP 服务

在这里插入图片描述
在这里插入图片描述
开启“POP3/SMTP服务”和“IMAP/SMTP服务”项
在这里插入图片描述
开启之后,系统会给你一个“授权码”。这个授权码将作为邮箱的登陆密码。若忘记授权码,则可点击“生成授权码”来获得你的授权码

5.开启 telnet 客户端

win10下telnet默认是不开启的,需要手动开启。
1、打开控制面板–>程序–> 程序和功能 –> 打开或关闭Windows功能
2、找到Telnet 客户端–>点击勾选–>确定
在这里插入图片描述

6.使用 CMD 利用 telnet 命令测试 SMTP 服务

1.打开 cmd,输入:telnet smtp.qq.com 25,连接邮件服务器
2.输入 helo qq.com,向服务器表明身份
3.输入 auth login
4.输入邮箱的 base64 编码(xxxxxxxxxx@qq.com的base64编码)
编码查看: http://tool.chinaz.com/Tools/Base64.aspx.
5.输入开启 IMAP/SMPT 时授权码的 base64 编码(授权码无空格)
6.输入发送人邮箱 mail from:xxxxxxxxxx@qq.com
7.输入收信人邮箱 rcpt to:xxxxxxxxxx@qq.com
8.输入 data 回车,成功后就可以进行邮件正文编辑
9.邮件输入:

Subject:主题									// 可省略
		邮件内容
.											// 这里是单独的一行小数点,表示有劲啊编辑结束

10.输入quit退出
在这里插入图片描述
11.到接受者邮箱查看,可以接受到相应的邮件
在这里插入图片描述

二.了解FTP协议和HTTP1.1协议

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;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

2.HTTP1.1协议

HTTP1.1(Hypertext Transfer Protocol Version 1.1)超文本传输协议-版本1.1
它是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议簇之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。您的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由URL指定的IP地址。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。
HTTP1.1支持持续连接.通过这种连接,就有可能在建立一个TCP连接后,发送请求并得到回应,然后发送更多的请求并得到更多的回应.通过把建立和释放TCP连接的开销分摊到多个请求上,则对于每个请求而言,由于TCP而造成的相对开销被大大地降低了.而且,还可以发送流水线请求,也就是说在发送请求1之后的回应到来之前就可以发送请求2.也可以认为,一次连接发送多个请求,由客户机确认是否关闭连接,而服务器会认为这些请求分别来自不同的客户端。

3.安装配置vsftpd

1.第一步:安装VSFTPD

sudo apt-get install vsftpd
在这里插入图片描述
2.如果报错资源占用先使用命令

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

3.再安装。

安装完成后,启动vsftpd服务。

service vsftpd start

4.新建目录/home/uftp作为用户主目录

sudo mkdir /home/uftp

在这里插入图片描述
5.然后将目录/home/uftp的所属者和所属组都改为uftp:

sudo chown uftp:uftp /home/uftp

6.新建文件/etc/vsftpd.user_list,用于存放允许访问ftp的用户:

sudo vi /etc/vsftpd.user_list

7.在其中添加用户uftp,并且保存退出:
在这里插入图片描述
8.编辑VSFTPD配置文件
  
VSFTPD配置文件为/etc/vsftpd.conf,执行命令:

sudo vi /etc/vsftpd.conf

9.如果你需要让root可以访问需要执行第三步

sudo vi /etc/ftpusers

10.把root去掉
第七步:增加一个访问账号
增加一个ftpgroup用户组

sudo groupadd ftpgroup

11.增加用户ftpuser并设置其目录为/ftp/ftpuser(可以修改,但是必须创建该文件夹)

sudo useradd -g ftpgroup -d /ftp/ftpuser -M ftpuser

12.如果上面的/ftp/ftpuser没有被创建,即需要创建该文件夹

sudo mkdir /ftp
sudo mkdir /ftp/ftpuser

13.用户必须拥有权限才可以访问,赋予访问/ftp/ftpuser的权限

sudo chmod 777 /ftp/ftpuser

14.设置ftpuser密码

sudo passwd ftpuser

15.重启vsftpd

sudo restart vsftpd

在这里插入图片描述
16.测试
  现在在Windows下打开cmd窗口,执行命令:首先安装必要的包:

sudo apt install net-tools

17.查看IP地址:

ifconfig

18.执行完ftp命令后,如果连接成功,会让你输入用户名和密码,输入我们刚刚添加的用户uftp的用户名和密码即可:
在这里插入图片描述
19.命令pwd和lcd分别可以查看远程Linux下和本地Windows下的当前目录:
在这里插入图片描述
20.现在在Linux下的目录/home/uftp下新建文件test_ftp_download.txt,在windows下的家目录(我的为C:\Users\28205)下新建文件test_ftp_upload.txt,分别用来测试下载和上传功能:

下载文件使用命令:get [文件名]
上传文件使用命令:put [文件名]
在这里插入图片描述
在这里插入图片描述
21.发送一张照片:

在这里插入图片描述
在这里插入图片描述
22.将4.jpg从服务器上下载,并保存为5.jpg

在这里插入图片描述
23.在Ubuntu可以使用命令

split -b 40k -d 5.jpg picture

40k指以40K大小进行一次分割,picture是分割后文件的名称前缀,-d表示文件名后跟数字作为后缀。
打开任意一个分割后的文件,如下:
在这里插入图片描述
24.分割完毕效果如图:
在这里插入图片描述
25.拼接图片使用命令
cat picture00 picture01>pic0
cat picture02 picture03>pic1
cat pic0 pic1>pic
26.查看最后的文件:
原文件和拼接文件对比:
在这里插入图片描述
在这里插入图片描述
两个文件的大小是一样的。

三.VLC

下载地址.

动画片 rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov

景点摄像头 https://hd-auth.skylinewebcams.com/live.m3u8?a=ou48nrnnkriljs5q5sqrpe2pf0

打开VLC,选择媒体,打开网络串流,将连接复制到URL的输入框,点击播放
在这里插入图片描述

四.使用fiddler 去分析视频网站

这里分析bilibili为例:

在浏览器上播放bilibili视频,打开fiddler进行抓包
在这里插入图片描述

找到第一个蓝白色图标:
在这里插入图片描述
0-1119表示这个数据包包含的内容,而3141表示完整视频的内容。

利用Composer下载完整内容

选中第一个数据包

点击右上方Composer

左键点击第一个数据包拖动到GET下的框中
在这里插入图片描述
将0-1119改为我们需要的数据0-3141

点击右上角的Execute。

回到左边,在最下方有一个新的蓝白色图标

选中,鼠标右键Save->Response->Response Body,保存格式为.m4s

B站将视频音频是分开的,抓的包能够找到两个不同大小的完整数据包,一个是音频,一个是视频,

以同样的方式下载保存为.m4s文件,通过以下方式合成。
可参考:
https://www.cnblogs.com/northwest332/p/13917479.html.

五.总结

本次实验用QQ邮箱来了解POP3、SMTP和IMAP三者协议之间的区别和联系,可以看出,POP3协议只能允许客户端用来收电子邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上;IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端对邮件进行的操作也会反映到服务器上.了解FTP协议和HTTP1.1协议是在ubuntu虚拟机下进行的,用FTP传输或者下载文件需要配置相应的文件,设置权限才能正常下载和传输,总的来说,实验效果还是挺不错的。

六.参考文献

https://blog.youkuaiyun.com/m0_51120713/article/details/122070758?spm=1001.2014.3001.5501.
https://blog.youkuaiyun.com/kofandlizi/article/details/6259000.

OPC UA 协议详解 OPC UA(统一架构)是新一代工业自动化标准通信协议,替代传统OPC Classic,具有跨平台、高安全性、标准化等优势。基于TCP协议,支持全平台部署,采用面向对象架构组织数据,提供实时读写、事件订阅、历史数据访问等功能。作为工业4.0核心协议,适用于智能制造、数字孪生等场景,能实现多品牌设备统一接入。相比Modbus和MQTT,OPC UA协议更规范安全但复杂度较高,是大型工业集群互联的主流选择。 阅读详情

相关推荐

CNN卷积神经网络手写数字识别实例及代码详解

本文的代码来自githup的Deep Learning的toolbox,是用Matlab实现的。感谢该toolbox的作者付出和分享。 我在应该该代码进行训练时,出现一些报错,如expand函数应用不对,flipall函数未定义等问题,对这些问题进行了修正,完成网络训练和验证。 本文mnist_uint8.mat的获取可以参照我的另一篇博客:MNIST数据库处理--matlab生成mnist_

VivienFu的专栏 6万+

Telnet命令进行RTSP协议测试

在IPTV中,经常使用RTSP协议进行直播和点播播放。但在开发调试过程经常遇到服务器无响应,不推流等问题。需要定位问题,就需要抓包分析RTSP的报文是否正确。但一般要对程序代码进行修改后运行才能验证修改是否正确。这种方式效率低切复杂。有没有更好的方式进行协议调试呢?答案是有。可以通过telnet进行和RTSP服务器的协议调试。首先,了解下RTSP协议。

skycnlr的博客 1758

MATLAB 论文复现——含氢综合能源系统多目标最优折中分布鲁棒低碳调度

提出基于多目标决策理论和逼近理想解排序技术,构造综合考虑系统调度的经济性、低碳性和鲁棒度的多目标最优折中函数,从而建立含氢综合能源系统多目标最优折中分布鲁棒低碳调度模型,可快速准确地获得兼具经济性、低碳性和鲁棒性的含氢综合能源系统优化调度方案。[1]孙惠娟,胡紫平,彭春华,等.含氢综合能源系统多目标最优折中分布鲁棒低碳调度[J/OL].电力自动化设备,1-13[2024-07-26].https://doi.org/10.16081/j.epae.202406003.关键词: 综合能源系统;

sjr1478的博客 410

RTSP 流媒体测试地址

最近开发一款视频监控实时视频播放器,用到的协议是RTSP,由于在开发测试阶段所以没有用服务器的链接,索性在网上苦逼的找了好久好久...看似很多然而好多都本用不了.       最后找到一个亲测可用:        rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov        希望可以帮助到你!

Tong_Hou 1万+

Jupyter Notebook 命名出现“error”且运行后没反应

Jupyter Notebook 命名出现“error”且运行后没反应提前声明错误截图(方便大家看看是不是自己的错误)解决方法 提前声明 我的问题是在看到答主 @开始King的回答后才解决的,因为答主大大的文章后面有些地方不是很详细,我在这里再在King大大的基础上完善一下子 错误截图(方便大家看看是不是自己的错误) 1.命名失败,上面出现一个“error”字样 2.运行失败,无论是点击上方的运行按钮还是按快捷键shift+enter 都只会向下再增加一个代码块,而不会运行程序。 (也不是很多人出现的[*

qq_52770743的博客 1万+

从时序迷宫到稳定通信:FSMC配置中的时间参数深度解析与实战避坑指南

本文深入解析STM32 FSMC配置中的时间参数,特别是AddressSetupTime和DataSetupTime的实战配置技巧。通过STM32F407连接SRAM的实际案例,提供从理论计算到CubeMX配置的全流程指南,帮助开发者避免常见时序陷阱,确保稳定通信。

nginx7reverse的博客 83

搭建RTSP流媒体服务器(用于测试分析RTSP协议)(rtsp-simple-server+FFmpeg+vlc+wireshark)

本文所搭建的流媒体服务器是在虚拟机centos7中安装rtsp-simple-server充当服务器,在windows本机中安装FFmpeg用于推流,使用vlc播放器播放rtsp-simple-server中的视频充当拉流,并用wireshark抓包分析RTSP协议

qq_36819827的博客 9309

PlutoSDR在matlab中的环境配置(包括驱动和硬件支持包)

双击下载到的驱动,除了点击接受协议和设置安装路径,其他只要点击下一步或者安装即可。登录或者注册你的账号,选择你的matlab版本(这里我的是2023b),点击下一步。设置安装路径,并选择我接受,点击下一步,即可安装完成,并在安装路径中得到。完成后,打开设备管理器,在端口和通用串行总线设备一栏,即可看见下图。点击进入,选择相应的系统安装包,这里我选择的Windows。可看到我们要安装的Pluto支持包,安装即可。右击桌面matlab,选择打开文件所在位置。右上角搜索pluto,选择并点击下一步。

weixin_53160338的博客 4867

常见的视频监控RTSP RTMP 流媒体协议及开发测试工具

一个开源的多媒体框架。

记录项目交付的日常 3507

YOLO26 电子产品零部件质检:缺陷检测 + Streamlit

YOLO26s 电子质检链路:1100 张工业零部件图 (4 类缺陷) → 增强 (blur+shear+低光照) → 150 epoch → mAP@0.5=0.91 → Streamlit 质检界面 (上传/摄像头双模式) → 缺陷严重度分级 (pass/minor/major/critical)。核心贡献:blur+shear 模拟产线振动和视角偏移, 使模糊场景 recall 从 72% 提升至 78%;Streamlit 一键部署, 无需前端经验。建议先收集 200 张纯正常件做负样本防过检;

m0_71589036的博客 375

Claude Code 分布式并行开发最佳实践:1中枢+10Worker跨多Git仓库全流程落地

本文介绍了一套基于Claude Code和Git Worktree的分布式并行开发方案,解决多仓库、微服务开发中的核心痛点。方案采用"1个决策中枢+10个并行Worker"架构,中枢负责任务拆解和调度,每个Worker绑定独立仓库实现完全隔离开发。关键优势包括:任务并行效率提升10倍、跨仓库依赖自动编排、版本统一管理、零第三方依赖。文章详细提供了环境准备、架构设计、中枢搭建和初始化脚本等全流程落地指南,特别适合多仓库协同的全栈开发场景。

AI天才研究院 244

高效测试丨怿星RTP协议测试解决方案

AVB已有成熟的商业软件测试方案,因此,本文针对RTP测试解决方案进行介绍,首先简介RTP/RTCP协议,在此基础上进行RTP测试方案的详细说明,最后以案例来介绍项目应用。测试RTP协议的目的是验证开发的样件符合RFC协议以及主机厂定义的规范,怿星参考RFC3550协议标准文档中对各个参数值的描述,以及主机厂定义的RTP协议应用规范文件,梳理测试规范V1.0版本,包含节点级和系统级、RTP和RTCP的测试内容。针对RTP/RTCP的测试,从测试系统角度出发,可以分为节点级测试和系统级测试。

怿星科技的博客 1649

Allegro如何导出和导入器件模型Signal_Model操作指导

在用Allegro做PCB设计的时候,通常需要给器件加上Signal_Model,在做等长的时候用到的非常频繁。如下图,需要把R7002的Signal_Model导入到另外一块没有给R7002加好模型的BRD中。Allegro除了可以给器件添加模型,还支持从一块加好模型的BRD导入到另外一块BRD中,如何导出和导入器件模型Signal_Model操作指导。

weixin_54787054的博客 1896
上一篇: STM32F103基于W5500实现Modbus简单TCP通信
下一篇: RT-thread Nano移植
frozenlli
博客等级 码龄6年 28粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值