
python与网络安全
薄荷_红茶
总结下自己的经验,也记录下自己的所学
展开
-
从编程角度看TCP协议(1)初识TCP协议
相信大多数同学面试的时候,都会被问道是否熟悉TCP协议,无论你是网络工程师、运维工程时,或者测试工程师,甚至开发。TCP协议,个人认为是TCP/IP协议族里面最复杂的一个协议,都听过TCP,但每个人对TCP的认知却是大不相同。这也是,面试被经常问到的原因之一吧。 本系列,试图从编程的角度去分析和讲解TCP协议,而不是拿着【TCP/IP协议族权威指南】这部经典丛书照本宣科,那样你会...原创 2019-06-13 15:25:43 · 431 阅读 · 0 评论 -
从编程角度看TCP协议(2)python如何操作tcp
1. socket【套接字】 大家都知道,任何一门语言要读写文件,都会调用操作系统提供的文件API,比如open、read、write、close等等。那如果要通过网卡去收发数据呢?这时候就需要操作系统提供的socket了。 python可以通过在文件头部执行以下语句,调用操作系统提供的socket API(python标准socket库)。import socket...原创 2019-06-21 17:17:42 · 356 阅读 · 0 评论 -
从编程角度看TCP协议(3)python操作tcp收发数据
前文中,我们说到python提供了一大堆方法,来操作tcp。本文先讲最重要的,python是如何控制tcp去收发数据的。在这之前,我们先得创建一个tcp socket,因为无论是客户端,还是服务器都需要发送和接收数据。因此本文中提到的一些实例方法,都适用于客户端和服务器。 执行一下命令,创建tcp socket:import sockettcp_sk = socket....原创 2019-06-21 18:17:31 · 479 阅读 · 0 评论 -
从编程角度看TCP协议(4)python与tcp的三次握手
1 tcp的连接特性 对于tcp或者udp稍微了解一点的同学,肯定知道一句话,tcp是基于连接的,而udp是无连接的。怎么理解这句话呢? 无论tcp还是udp,都是用来传输数据的一种协议,都处于网络层之上的传输层。也都需要通信双方的重新向操作系统申请端口,这是通信的前提。 但不一样的是,udp发送方收到上层应用层程序(不一定非得是应用层协议,也可以自己写的网络程序)需...原创 2019-06-25 14:41:56 · 360 阅读 · 0 评论 -
从编程角度看SSL协议(1)ssl库--SSLSocket类
1 创建ssl socket的方法:ssl.wrap_socket() 在python标准库中提供了ssl库,可以通过以下命令直接导入到代码。不过由于ssl是基于tcp的,通常我们也会导入socket库。import ssl, socket 跟tcp一样,如果我们需要通过ssl去收发数据,那么前提是创建一个ssl socket,我们可以以下方式,创建ssl socke...原创 2019-08-11 13:42:07 · 2155 阅读 · 0 评论 -
从编程角度看SSL协议(2)ssl库--SSLContext类
1 SSLContext类介绍 ssl库中除了提供SSLSocket类以外,还提供了SSLContext类。相比于SSLSocket类,SSLContext提供了丰富的属性,供我们修改和查看SSL握手时的参数。 我们可以通过以下命令来实例化SSLContext实例contextcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)...原创 2019-08-11 18:20:19 · 3654 阅读 · 0 评论