Email-FTP-RTSP协议实践研究
telnet 命令测试 SMTP 服务(QQ邮箱发邮件)
POP3
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。(与IMAP有什么区别?)
SMTP(本次使用)
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。
IMAP
IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。
开启 QQ 邮箱的 SMTP 服务
开启“POP3/SMTP服务”和“IMAP/SMTP服务”项
开启之后,系统会给你一个“授权码”。这个授权码将作为邮箱的登陆密码。若忘记授权码,则可点击“生成授权码”来获得你的授权码。
开启 telnet 客户端
我的电脑是window11,window10系统参考这个:利用 telnet 命令测试 SMTP 服务(QQ邮箱发邮件)
telnet 命令测试 SMTP 服务
window+R,cmd打开命令行,分别执行以下步骤:
-
telnet smtp.qq.com 25
连接邮件服务器,成功后如下图(部分同学的电脑 587 端口、465端口也可用)
-
helo qq.com
向服务器表明身份 -
auth login
-
输入邮箱的 base64 编码(xxxxxxxxxx@qq.com的base64编码)
-
输入开启 IMAP/SMPT 时授权码的 base64 编码(授权码无空格)
Base64 在线编码解码
注意:复制邮箱和授权码时注意删除空格和回车键
登录成功后,QQ邮箱收到了一封邮件(可能是第一次这样登录)
-
mail from:<1817283052@qq.com>
输入发送人邮箱 -
rcpt to:<1968779424@qq.com>
输入收信人邮箱 -
data
回车,成功后就可以进行邮件正文编辑 -
输入
格式:
Subject:主题 // 可省略
邮件内容
. // 这里是单独的一行小数点,表示有劲啊编辑结束
我的:
Subject:xin
下午么么茶
.
确认收到邮件
- 输入quit退出
Ftpd服务(搭建FTP服务)
了解FTP协议和HTTP1.1协议(“图解HTTP”第3章3.5节),理解FTP、HTTP协议支持常用下载工具高速的多线程文件分块下载、断点续传的背后原理。
实践:在Ubuntu系统上安装一个Ftpd服务(搭建FTP服务)。用telnet 手工方式登录ftp服务,上传一个图片文件或压缩包文件;然后,再手工用分片下载的方式,将此文件分片下载到本地(多个小文件),再将这几个小文件合并为1个大文件(无须编程,用copy命令即可实现),看是否与原文件一样大小,是否能正常打开。
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地址。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。
HTTP1.1支持持续连接.通过这种连接,就有可能在建立一个TCP连接后,发送请求并得到回应,然后发送更多的请求并得到更多的回应.通过把建立和释放TCP连接的开销分摊到多个请求上,则对于每个请求而言,由于TCP而造成的相对开销被大大地降低了.而且,还可以发送流水线请求,也就是说在发送请求1之后的回应到来之前就可以发送请求2.也可以认为,一次连接发送多个请求,由客户机确认是否关闭连接,而服务器会认为这些请求分别来自不同的客户端。
与之相对的HTTP1.0,当连接建立起来以后,浏览器发送一个请求,之后一个回应消息被送回来.然后TCP连接被释放.这在早期,Web页面通常只包含HTML文本,在这种情况下,这样的做法已经足够了.但是,网页一般还含有大量的图标,图象以及其他很养眼的内容,所以建立一个TCP连接仅仅传输一个图标,则显得代价太昂贵了.
Deepin系统上安装一个Ftpd服务
亲测有效:Ubuntu搭建ftp服务器
上传文件
put filename
上传文件
mput *.txt
所有以.txt结尾的文件都上传
需要上传的测试文件:
由于前面出错调试,所以test.txt已经被上传
现在测试上传所有图片文件
上传成功
可能出现报错:
200 PORT command successful. Consider using PASV.
150 Ok to send data.
解决链接:FTP上传文件报错200 PORT command successful. Consider using PASV. 553 Could not create file.
下载
单个
get filename
大小对比无变化,能正常打开
全部
mget *.*
VLC
全世界公开摄像头网站:https://www.skylinewebcams.com/
直播源获取方法:https://bbs.deepin.org/post/40704
fiddler 去分析抖音
打开抖音网页版
查看fiddler抓取的包
分析第一个抓取到的json包
这个json包有六个视频的详细信息(即后面5个视频的信息)
现在开始分析视频包
分享链接能看到该视频,但是是直接打开一个网页的形式,就是开始的那种
在分享链接的下面,可以看到三个链接,这三个就是单视频链接
任意复制一个浏览器打开,可以直接看到视频,并且可以直接下载(而且没有抖音水印哈哈)
通过这些包我们可以发现,视频的网络流协议为HTTPS