Email-FTP-RTSP协议实践研究

2021/12/29 6:08:38

本文主要是介绍Email-FTP-RTSP协议实践研究,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 一.登录邮箱STMP服务发送文本邮件
    • .1 SMTP协议简介
    • .2 POP3协议简介
    • .3 IMAP协议简介
    • .4 登录QQ的SMTP服务发送文本邮件
    • .5 登录POP服务,阅读新收到的邮件
  • 二.登录ftp服务上传图片并分片下载最后合成
    • .1 FTP协议简介
    • .2 HTTP1.1协议简介
    • .3 上传图片并分片下载合成
  • 三.使用VLC软件访问互联网上公开的直播视频源
    • .1 RTSP协议简介
    • .2 MMS协议简介
    • .3 访问公开的直播视频源并保存
  • 四.fiddler分析在线视频播放的网络流协议并保存
  • 总结
  • 参考

一.登录邮箱STMP服务发送文本邮件

.1 SMTP协议简介

SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。

.2 POP3协议简介

POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。
POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC。一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除。但POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。

.3 IMAP协议简介

IMAP(Internet Message Access Protocol)以前称作交互邮件访问协议(Interactive Mail Access Protocol),是一个应用层协议。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。

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

在电脑端登录QQ进入网页端邮箱,之后点击 设置->账户,下滑可以看到:
在这里插入图片描述
打开SMTP服务,并获得授权码。
将邮箱地址和获得的授权码在这个网址转换为Base64形式。
之后进入cmd命令端口:
以命令:

telnet smtp.qq.com 25

之后打招呼:

helo smtp

之后验证身份:

auth login

之后分别输入自己邮箱和授权码的base64形式:
在这里插入图片描述
返回235 Authentication successful则表示登录成功。
之后配置发件人和收件人:

mail from:<你的发件邮箱>
rcpt to:<接收邮箱>

之后发送内容:

data
subject:填写邮件主题
//这里空一行
//填写邮件内容
.//这里以.结束

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

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

telnet pop.qq.com 110

之后输入自己的邮箱

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

.2 HTTP1.1协议简介

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

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

在ubuntu下安装VSFTPD:
以命令:

sudo apt-get install vsftpd

请添加图片描述
之后启动服务,以命令:

service vsftpd start

之后新建一个目录,以命令:

sudo mkdir /home/uftp

可以查看到home目录下有uftp:

ls /home

请添加图片描述
之后新建一个名为uftp的用户并设置密码:
请添加图片描述
之后需要配置vsftpd.conf文件和新建文件vsftpd.user_list文件并加入自己新建的用户:
配置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”,才能进行输入。能输入之后在里面键入 uftp ,即自己新建的用户名,之后按esc退出输入模式,最后输入 :wq,即可保存退出。
之后登录服务器(输入用户名和自己的密码):
在这里插入图片描述
并进行上传:
请添加图片描述
其中,lcd命令为找到自己要上传的文件的路径命令,~代表home,我在home文件下新建了一个名为last的文件夹,并在last文件下新建名为1.txt的文件,最后用put命令上传。
之后以命令ls可以看见上传的文件:
请添加图片描述
之后以get命令可以下载图片:

get test.jpeg

请添加图片描述
接下来开始分割文件:
在文件目录下打开终端,以命令(1k是指分割后的文件大小):

split -b 1k -d test.jpeg pic

可以看到:
请添加图片描述
之后进行粘合,以方法:

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

即可粘合,并可以成功打开:
请添加图片描述
请添加图片描述

三.使用VLC软件访问互联网上公开的直播视频源

.1 RTSP协议简介

RTSP协议以客户服务器方式工作,,如:暂停/继续、后退、前进等。它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制, 因此 RTSP 又称为“因特网录像机遥控协议”。

.2 MMS协议简介

MMS(Microsoft Media Server Protocol),中文“微软媒体服务器协议”,用来访问并流式接收 Windows Media 服务器中 .asf 文件的一种协议。MMS 协议用于访问 Windows Media 发布点上的单播内容。

.3 访问公开的直播视频源并保存

下载VLC:https://www.videolan.org/
打开vlc:
在这里插入图片描述
点击左上角的媒体并点击打开网络串流,输入URL地址:

rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov

在这里插入图片描述
之后点击播放可以看到:
在这里插入图片描述
但是如果要下载的话,就点击播放右边的小箭头并选择串流,并直接点击下一个:
在这里插入图片描述
之后添加---->浏览,选择路径,并输入文件名(自己带一个.mp4的后缀)
在这里插入图片描述
点击下一个进行配置:
在这里插入图片描述
点击下一个,并点击流即开始保存:
在这里插入图片描述

四.fiddler分析在线视频播放的网络流协议并保存

浏览器打开一个视频,在Fiddler中可以看到一个蓝白色图标:
在这里插入图片描述
之后点击composer,并将数据流拖入:
在这里插入图片描述
修改bytes数据为0-xxx:
在这里插入图片描述
之后点击execute:
在这里插入图片描述
之后会新生成一个数据流,右键新数据流–>save–>response–>Response Body,即可保存更改文件后缀为.m4s
下载之后有两个.m4s文件,是因为视频和音频是分开的,可以通过下载ffmpeg工具进行合成。在cmd命令端完成合成,以命令:

ffmpeg -i 1.m4s -i 2.m4s -vcodec copy -acodec copy -f mp4 finish.mp4

总结

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

参考

.1 VLC保存网络流到软件和fiddler下载视频
.2 Email-FTP-RTSP协议实践研究
.3 Linux搭建ftp服务器入门
.4 Ubuntu搭建ftp服务器



这篇关于Email-FTP-RTSP协议实践研究的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程