在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互。因此想使用原始套接字进行编程,直接构造数据包,并在IP层进行发送,即采用SOCK_RAW进行数据发送。使用SOCK_RAW的优势是,可以对数据包进行完整的修改,可以处理IP层上的所有数据包,对各字段进行修改,而不受UDP和TCP的限制。下面开始构造HTTP数据包,IP层和TCP层使用python的Impacket库,http内容自行填写。#!/
系统 2019-09-27 17:48:25 1785
阅读更多变量1.变量•指在程序执行过程中,可变的量;•定义一个变量,就会伴随有3个特征,分别是内存ID、数据类型和变量值。•其他语言运行完之前,一定要手动把程序的内存空间释放掉。但python解释器是自带内存回收机制的,一旦python程序运行完后,会自动释放内存空间。age=10print(id(age),type(age),age)常量2.常量•指在程序执行过程中,不可变的量;•一般都用大写字母定义常量。AGE=10print(AGE)3.变量的命名方
系统 2019-09-27 17:48:22 1785
Python迭代器与生成器实例详解一、如何实现可迭代对象和迭代器对象1.由可迭代对象得到迭代器对象例如l就是可迭代对象,iter(l)是迭代器对象In[1]:l=[1,2,3,4]In[2]:l.__iter__Out[2]:In[3]:t=iter(l)In[4]:t.next()Out[4]:1In[5]:t.next()Out[5]:2In[6]:t.next()Out[6]:3In[7]:t.next()Out[7]:4In[8]:t.next()
系统 2019-09-27 17:48:18 1785
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来
系统 2019-09-27 17:48:14 1785
先从搭建环境开始。作为一个Python初学者来说,一个趁手的编译器是很重要的,本想用VS来开发Python,但是感觉实际开发中没有几家公司会用VS来开发Python,没办法就换成了MyEclipse。一、首先下载和安装Myeclipse就略过了。二、安装Python。一般的开发环境是在linux,网上很多教程和视频也都是在linux下配置和开发的。我的开发环境是64位win8系统,先从官网下载64位的Python安装程序。可以从这里选择要下载的版本http
系统 2019-09-27 17:48:04 1785
Python3使用pillow库生成随机验证码的代码如下所示:importrandom#pillow包的使用fromPILimportImage,ImageDraw,ImageFont,ImageFilter#Image负责处理图片#ImageDraw负责处理画笔#ImageFont负责处理文字#ImageFilter负责处理路径img=Image.new('RGB',(150,50),(255,255,255))#建立一个图片'''RGB:表示采用RGB
系统 2019-09-27 17:47:55 1785
代码一:#!/usr/bin/python#-*-coding:utf-8-*-#encoding=utf-8importthreadingimportQueueimportsysimporturllib2importreimportMySQLdb##数据库变量设置#DB_HOST='127.0.0.1'DB_USER="XXXX"DB_PASSWD="XXXXXXXX"DB_NAME="xxxx"##变量设置#THREAD_LIMIT=3jobs=Que
系统 2019-09-27 17:47:49 1785
电脑管家也许大家都有这样的感觉,优化完美的电脑系统,你把电脑借给一个电脑小白使用上几天,等你拿回来的时候会发现,开机各种慢,乱七八糟的软件装了一大堆。那么我们如何使用Python来获取电脑的相关数据呢?不妨了解下psutil模块!psutil学习psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理
系统 2019-09-27 17:47:33 1785
入栈出栈查看栈顶元素查看栈长度查看栈元素classStack():def__init__(self):self.stack=[]defpush(self,value):self.stack.append(value)returnTruedefpop(self):#先判断栈是否为空ifself.stack:item=self.stack.pop()returnitemelse:returnFalsedeftop(self):ifself.stack:retu
系统 2019-09-27 17:47:11 1785
我们在定义Python类时,经常会看到比较好的代码中,都有__repr__和__string__,两个内部函数的定义。但是我一直很少关注它们的区别和具体应用场景。稍微做个小结。1.__foo()__在python中表示__foo__是一个私有private函数,在CookBookpp254中,解释为,该函数不会被子类的相同名称的函数重载。一般地说,类中以“下划线”开头定义的变量或者函数都是私有变量或者内部函数,区别是:1.1单下划线开始的变量或者函数表示非
系统 2019-09-27 17:46:49 1785