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

本文详细介绍了如何使用SMTP协议通过QQ邮箱发送邮件,以及如何通过POP3和IMAP协议管理邮件。此外,还涵盖了FTP服务的使用,包括图片上传、分片下载与合成,涉及FTP、HTTP协议及VSFTPD配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值