套接字是常见的低级别的网络通讯协议,在此基础上,还有很多其他的网络通讯协议。用于实现client-server的网络互联,以下对这些协议做一个简单的介绍。

1、文件传输

FTP:文件传输协议。能够上传或下载文件,採用了Unix多用户的概念,用户一定要输入有效的username和password才干使用,只是也支持匿名登录。

在底层实现上,FTP仅仅使用TCP而不使用UDP。主动模式下使用两个套接字,各自是控制命令port和数据port。被动模式下使用一个套接字,为控制命令接口。client工作流程为:连接-登录-传输-结束。

python相关模块为ftplib,使用时需要实例化一个ftplib.FTP类对象。典型的FTPclient有:命令行client程序、GUIclient程序、网页浏览器。以及自己开发的程序等。

HTTP:网页的超文本传输协议。

HTTP主要用于网页文件的下载和訪问Web服务上。它一般不要求用户输入登录的usernamepassword就能够訪问server上的文件和服务。

scp/rsync:要求用户登录到server,否则不能上传或下载文件。

rcp:远程文件复制协议。

UUCP:复制协议。

2、网络新闻

Usenet新闻系统是一个全球存档的电子公告版,各种主题的新闻一应俱全,整个系统是一个由大量计算机组成的一个庞大的全球网络。计算机之间共享Usenet上的帖子,每一个系统都有一个它已经订阅的新闻组的列表。它仅仅接收它感兴趣的新闻组里的帖子。

NNTP:网络新闻传输协议。

供用户在新闻组中下载或发表帖子。仅仅使用一个标准port119来做通讯。

相似于FTP。python相关模块为nntplib,使用时实例化nntplib.NNTP类对象。

3、电子邮件

电子邮件系统有很多组件。最基本的组件就是消息传输代理MTA,这是一个在邮件交换主机上执行的一个server程序,它负责邮件的路由、队列和发送工作,它们就是邮件从源主机到目的主机所要经过的跳板。

SMTP:简单邮件传输协议。在因特网上MTA之间用于消息交换的最经常使用的MTS,它被MTA用来把电子邮件从一台主机传送到还有一台主机,在发电子邮件的时候。必需要连接到一个外部的SMTPserver,这时。发送的邮件程序是一个SMTPclient。SMTPserver也因此成为了消息的第一个跳板。python相关模块为smtplib,使用时实例化smtplib.SMTP类对象。通讯时,仅仅要一个port25

除了SMTP之外。还有一些开源的MTA如Sendmail、Postfix和商业MTA如Microsoft的Exchange。

邮件用户代理MUA从server上下载邮件,用于下载邮件的第一个协议叫邮局协议POP,目的是让用户的工作站能够訪问邮箱server里的邮件,邮件要能从工作站通过SMTP发送到邮件server。

与POP相关的python模块为poplib, 使用时实例化poplib.POP3类对象。

若干年之后,出现了还有一个协议。交互式邮件訪问协议IMAP,它比POP更为复杂。

4、相关模块

email:email处理的包(也支持MIME)

rfc822:RFC2822邮件头解析器

smtpd:SMTPserver

base64:Base16、32和64数据编码(RFC 3548)

mhlib:处理MH目录和信息的类

mailbox:支持mailbox文件格式解析的类

mailcap:mailcap文件的处理模块

mimetools:(不建议使用)MIME信息解析工具(使用上面的email)

mimetypes:在文件名称或URL到相关的MIME类型之间转换的模块

MimeWriter:(不建议使用)MIME信息处理模块(使用上面的email)

mimify:(不建议使用)信息的MIME处理工具(使用上面的email)

binascii:二进制和ASCII转换

binhex:Binhex4编码和解码支持

ftplib:FTP协议client

gopherlib:Gopher协议client

httplib:HTTP和HTTPS协议client

imaplib:IMAP4协议client

nntplib:NNTP协议client

poplib:POP3协议client

smtplib:STMP协议client

telnetlib:Telnet协议client类

转载于:https://www.cnblogs.com/liguangsunls/p/7198784.html

【Python】python网络协议相关推荐

  1. python 28 网络协议

    目录 网络协议 1. C/S.B/S 架构 1.1 C/S 架构: 1.2 B/S 架构: 2. 网络通信原理 3. OSI七层协议(TCP/IP五层): 3.1 物理层: 3.2 数据链路层: 3. ...

  2. Python Day29 网络协议

    ~为何学习socket一定要先学习互联网协议: 1.首先:本节课程的目标就是教会你如何基于socket编程,来开发一款自己的C/S架构软件 2.其次:C/S架构的软件(软件属于应用层)是基于网络进行通 ...

  3. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  4. python网络协议编辑器_python模块:网络协议和支持

    python模块:网络协议和支持 webbrowser 调用浏览器显示html文件 webbrowser.open('map.html') uuid/hmac/hashlib生成唯一ID 在有些情况下 ...

  5. 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!

    摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...

  6. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义:       这里 ...

  7. Python Standard Library (中文版) 网络协议

    目录 1. 网络协议 1.1. 概览 1.1.1. Internet 时间协议 1.1.2. HTTP 协议 1.2. socket 模块 1.2.0.1. Example 7-1. 使用 socke ...

  8. Python网络协议编程之HTTP协议详解

    前言 这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题 于是乎,我自己开发了一款面试宝典,希 ...

  9. python全栈学习笔记(一)网络基础之网络协议篇

    阅读目录 一.操作系统基础 二.网络通信原理 2.1 互联网的本质就是一系列的网络协议 2.2 osi七层协议 2.3 tcp/ip五层模型讲解 2.3.1 物理层 2.3.2 数据链路层 2.3.3 ...

  10. Python网络编程(OSI模型、网络协议、TCP)

    前言: 什么是网络? 网络是由节点和连线构成,表示诸多对象及其相互联系. 在数学上,网络是一种图,一般认为专指加权图. 网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类 型的实际问题中抽象 ...

最新文章

  1. oracle: to_char,to_date
  2. java list 数据不重复,Java中List集合去除重复数据的方法
  3. 安装Rational Enterprise Suite(Robot...)时遇到的问题及解决办法!
  4. 高效的 JavaScript
  5. linux防火墙简介
  6. android 速度检测工具,IT之家学院:如何测试Android应用启动速度
  7. HTML ===> 页面添加数学公式
  8. C盘扩容_解决过程记录
  9. PCB原理图绘制(种草立创eda)
  10. MOS开关管额定电流的选择
  11. Google Indexing API 推送 (避免踩坑)
  12. 安卓 Charles证书的安装
  13. form-generator扩展原生表格,element-table,子表单等组件
  14. 一键装机linux_linux系统学习第十八天《搭建一键装机平台》终结篇-阿里云开发者社区...
  15. 《自控力》的读后感作文4000字
  16. Qt鼠标拖拽窗口移动事件
  17. 内存泄漏,内存溢出总结以及相关解决方案
  18. 关于模拟电子技术、考试的讲解:序章
  19. 文曲星猜数字游戏6步算法(含代码)
  20. 5款好看实用的网站404页面源码模板

热门文章

  1. Facebook是如何大幅提升TLS连接效率的?
  2. 阿里巴巴分布式消息系统的演进之路
  3. 张同学会是男版李子柒吗?
  4. 人员优化浪潮下,苟住要紧。
  5. redis scan 效率太慢_阿里云的redis规范
  6. python 基础 5 while循环语句
  7. jmeter安装配置
  8. 01.使用File类读写文件
  9. php获取内容中第一张图片地址
  10. 顶点计划 顾家与工作问题讨论