随笔分类 -  Python

摘要:Modbus协议 / Modbus Protocol 目录 1 Modbus 协议简介 Modbus协议MODICON公司1979年开发的一种通信协议,是一种工业现场总线协议标准,1996年施耐德公司推出了基于以太网TCP/IP的Modbus协议—ModbusTCP。 Modbus协议是一项应用层报 阅读全文
posted @ 2017-12-30 15:18 StackLike 阅读(11272) 评论(0) 推荐(0) 编辑
摘要:BOOTP-TFTP-FTP 目录 1 文件传输流程 / File Transfer Flow 利用BOOTP,TFTP,FTP三种传输协议,建立起客户端和服务器,实现一个简单的文件传输流程。 Note: 三种传输协议的实现过程可参考文末的相关阅读,部分内容如文件路径和文件名等均为硬编码,后续可做修 阅读全文
posted @ 2017-12-30 14:43 StackLike 阅读(745) 评论(0) 推荐(0) 编辑
摘要:DHCP实现 / DHCP Implement 目录 下面介绍建立一个简单的DHCP服务器,主要用于对基本的DHCP请求进行响应,目前只提供一个IP为客户端使用,实现最基本的通信示例。理论内容可参考 DHCP 理论部分。 1 DHCP 服务器建立过程 首先是基本服务器的建立,这个服务器实现了最基本的 阅读全文
posted @ 2017-12-30 14:26 StackLike 阅读(4511) 评论(1) 推荐(0) 编辑
摘要:DHCP协议 / DHCP Protocol 目录 1 DHCP 基本理论 DHCP (Dynamic Host Configuration Protocol, 动态主机配置协议) 是一种局域网的网络协议,使用UDP协议进行工作,主要有两个用途,在RFC 2131中有详细的描述, 1. 给内部网络或 阅读全文
posted @ 2017-12-30 14:06 StackLike 阅读(1471) 评论(0) 推荐(0) 编辑
摘要:BOOTP实现 / BOOTP Implement 目录 Note: 理论部分请参考文末相关阅读链接 1 BOOTP 的服务器建立过程 服务器建立步骤主要有: (1) 设定服务器IP,传送ip(offer_ip),服务端口68,客户端口67; (2) 建立send_socket/UDP,广播模式允许 阅读全文
posted @ 2017-12-30 13:44 StackLike 阅读(734) 评论(0) 推荐(0) 编辑
摘要:BOOTP协议 / BOOTP Protocol 目录 1. 基本理论 / Basic Theory BOOTP(Bootstrap Protocol)是一种引导协议,基于RFC951协议,基于UDP协议,也称为自举协议,是DHCP协议的前身。BOOTP用于无盘工作站(类似网吧无盘结构)的局域网中, 阅读全文
posted @ 2017-12-30 13:31 StackLike 阅读(2415) 评论(0) 推荐(0) 编辑
摘要:TFTP实现 / TFTP Implement 目录 1 TFTP 的服务器建立过程 服务器建立步骤主要有: (1) 设定服务器IP和端口号(常用69),建立socket并bind地址; (2) 设定服务器工作目录; (3) 建立主循环进行监听,根据收到的信息选择读/写模式; (4) (建立新的线程 阅读全文
posted @ 2017-12-30 12:58 StackLike 阅读(1495) 评论(0) 推荐(0) 编辑
摘要:TFTP 的基本理论 目录 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是UDP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69,基于RFC1350协议。 1 通信流程 / Communica 阅读全文
posted @ 2017-12-30 12:41 StackLike 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:使用 ftplib 建立 FTP 客户端 用于建立FTP Client,与 pyftplib 建立的 Server 进行通信。 快速导航 1. 模块信息 2. 建立 FTP 客户端 1. 模块信息 1.1 常量 / Constants FTP_PORT = 21 标准的FTP协议服务端端口 1.2 阅读全文
posted @ 2017-12-26 20:58 StackLike 阅读(536) 评论(0) 推荐(0) 编辑
摘要:使用 pyftplib 建立 FTP 服务器 pyftplib 主要用于建立 FTP Server,与 ftplib 建立的 Client 进行通信。 快速导航 1. 模块信息 2. 建立 FTP 服务器 1 模块信息 1.1 servers模块 用于建立服务器 1.1.1 FTPServer()类 阅读全文
posted @ 2017-12-26 20:29 StackLike 阅读(1789) 评论(0) 推荐(0) 编辑
摘要:FTP协议 / FTP Protocol FTP全称为File Transfer Protocol(文件传输协议),常用于Internet上控制文件的双向传输,常用的操作有上传和下载。基于TCP/IP,基于RFC959通信协议。 0 FTP理论 / FTP Theory 详细的理论可以参考这里。 1 阅读全文
posted @ 2017-12-26 20:03 StackLike 阅读(558) 评论(0) 推荐(0) 编辑
摘要:Socket 目录 1 socket的TCP/IP通信基本建立过程 socket的TCP/IP通信连接主要包括两个部分,服务端与客户端 1.1 Socket server服务端建立 服务端建立步骤主要有: 1.2 Socket client客户端建立 客户端建立步骤主要有: 2 socket的UDP 阅读全文
posted @ 2017-12-26 16:29 StackLike 阅读(677) 评论(0) 推荐(0) 编辑
摘要:socket 1. 常量 / Constants AF_* 和 SOCK_* 分别属于 AddressFamily 和 SocketType 1.1 AF_*类常量 socket.AF_UNIX: UNIX本地通信使用 socket.AF_INET: IPv4连接时使用 socket.AF_INET 阅读全文
posted @ 2017-12-26 15:38 StackLike 阅读(381) 评论(0) 推荐(0) 编辑
摘要:pdb / ipdb 模块 / pdb / ipdb Module pdb 和 ipdb 的主要作用是用于 Python 程序的单步调试,Python 的调试可参考链接。 下面是一个简单的使用示例 运行代码后便可以进行单步调试,只要输入指令即可 Note: 1. 请尽量避免使用 Python 自带的 阅读全文
posted @ 2017-12-26 10:56 StackLike 阅读(1805) 评论(0) 推荐(0) 编辑
摘要:binascii模块 / binascii Module binascii模块包含很多在二进制和 ASCII 编码的二进制表示之间的转换方法。关于进制转换可以参考一些内置函数。 hexlify 与 unhexlify 上面的函数 hexlify 和 b2a_hex 实际上是一个函数,推荐使用 hex 阅读全文
posted @ 2017-12-26 10:41 StackLike 阅读(16052) 评论(0) 推荐(0) 编辑
摘要:abc模块 / abc Module 在定义抽象方法时,为了在初始化阶段就检测是否对抽象方法进行了重定义,Python 提供了 abc 模块。 第 4 行:生成一个抽象的基类 MyABC,这其中利用了 metaclass 元类的相关用法 第 6-7 行:抽象方法及装饰器,抽象方法可以不执行任何程序, 阅读全文
posted @ 2017-12-26 10:27 StackLike 阅读(364) 评论(0) 推荐(0) 编辑
摘要:struct模块 / struct Module 在网络编程中,利用 socket 进行通信时,常常会用到 struct 模块,在网络通信中,大多数传递的数据以二进制流(binary data)存在。传递字符串时无需过多担心,但传递 int,char 之类的基本数据时,就需要一种机制将某些特定的结构 阅读全文
posted @ 2017-12-26 10:00 StackLike 阅读(1185) 评论(0) 推荐(0) 编辑
摘要:wmi模块 / wmi Module WMI (Windows Management Instrumentation) 模块可用于获取 Windows 内部信息。该模块需要 win32com 的支持,环境安装如下, 模块信息 WMI() 类 类实例化:w = wmi.WMI() 类的功能: 用于生成 阅读全文
posted @ 2017-12-26 09:31 StackLike 阅读(3059) 评论(0) 推荐(0) 编辑
摘要:装饰器 / Decorator 目录 1 关于闭包 / About Closure 装饰器其本质是一个闭包函数,为此首先理解闭包的含义。 闭包(Closure),又称词法闭包(Lexical Closure)或函数闭包(Function Closures),是引用了自由变量的函数。这个被引用的自由变 阅读全文
posted @ 2017-12-25 17:03 StackLike 阅读(499) 评论(0) 推荐(0) 编辑
摘要:生成器 / Generator 目录 1 关于生成器 从计算机科学角度上看,生成器是一种类协程或半协程(Semi-coroutine),生成器提供了一种可以通过特定语句或方法来使生成器的执行对象(Execution)暂停,而这语句一般都是 yield。通过 yield 语句将每一次的结果切出执行对象 阅读全文
posted @ 2017-12-25 16:39 StackLike 阅读(982) 评论(0) 推荐(0) 编辑