Python基础—16-网络编程
Posted Sunwj_Monkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础—16-网络编程相关的知识,希望对你有一定的参考价值。
网络编程
相关概念
- OSI七层模型:开放系统互连参考模型。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- TCP/IP:在OSI七层模型的基础上简化抽象出来的一套网络协议簇,现在得到了广泛使用。
- TCP:传输控制协议
- 有连接的,数据是安全有保障的
- 传输的速度稍慢,三次握手、四次挥手、数据检查
- UDP:用户数据报协议
- 无连接的,数据是不可靠的
- 传输的速度比较快
- IP地址:唯一的一台计算标识
- 查看:ipconfig
- ping:检查网络连通性
- 使用:ping IP/域名
- 端口号:每个应用可以拥有唯一的端口号
- 范围:0~65535
- 系统:0~1024,常用的应用所占用
- http:80
- https:443
- smtp:25
- ftp:21
- ssh:22
- mysql:3306
- redis:6379
- 自己:大于1024
- 网络编程核心:
- IP + 端口
- 库:socket
TCP协议
- 说明:面向连接、数据可靠(校验重发)、三次握手、四次挥手、传输速度较慢
- 原理:见
tcp.png
- 示例:见
01-tcp-http.py
- TCP协议的服务器与客户端:见
02-tcp-server.py
与03-tcp-client.py
UDP协议
- 说明:面向无连接的、数据不可靠、传输速度较快,适应于对数据要求不严格的情况
- 原理:见
udp.png
- 示例:模拟飞秋发送数据,见
04-udp-feiqiu.py
- UDP协议的服务器与客户端:见
05-udp-server.y
与06-udp-client.py
StringIO与BytesIO
- 说明:这些类型的对象可以与open返回的对象一样操作,但是操作的内存中的数据
- 方法:getvalue用于获取所有数据
以上是关于Python基础—16-网络编程的主要内容,如果未能解决你的问题,请参考以下文章
20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础