摘要: class Foo: pass class Bar(Foo): pass obj = Bar() isinstance(obj,cls)检查是否obj是否是类 cls 的对象 print(isinstance(obj, Bar)) # True ,判断是obj对象是否属于Bar这个类 issubclass(sub, super)检查sub类是否是 super 类的派生... 阅读全文
posted @ 2018-09-03 22:08 zhang.ning 阅读(245) 评论(0) 推荐(0) 编辑
摘要: # 反射:通过字符串来操作对象属性,类也是一样。 class Foo: def __init__(self, name): self.name = name def eat(self): print('%s is eating' % self.name) obj = Foo('egon') print(hasattr(obj, 'eat')... 阅读全文
posted @ 2018-09-03 22:02 zhang.ning 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 我们经常会遇到只有在手机端上网会遇到的故障,但是苦于在手机上无法抓取网络包,很难迅速定位故障原因。 下面的方式可以实现手机上的网络封包抓取。 原理: 利用电脑的网络作为WIFI热点,共享给手机上网,同时在电脑端通过抓包工具抓包。 工具: 1)一台装有无线网卡的电脑,电脑上已安装了抓包工具,如Wire 阅读全文
posted @ 2018-08-28 17:29 zhang.ning 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 情形一、采集指定网络接口和端口的数据包 sudo tcpdump -s 0 -x -n -tttt -i bond0 port 55944 -w /tmp/mysql_tmp.tcp 情形二、采集指定ip(来源或目标)和网络接口的数据包 sudo tcpdump -s 0 -x -n -tttt - 阅读全文
posted @ 2018-08-28 17:16 zhang.ning 阅读(4037) 评论(0) 推荐(0) 编辑
摘要: 四次挥手 我的理解:之所以绝大数时候我们看到的都是四次挥手,是因为收到fin后,知道对方要关闭了,然后OS通知应用层要关闭啥的,这里应用层可能需要做些准备工作,有一些延时,所以先回ack,准备好了再发fin,可以看图,中间有3秒的时间延迟 。 握手过程没有这个准备过程所以可以立即发送syn+ack。 阅读全文
posted @ 2018-08-14 00:18 zhang.ning 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一、基础知识 二、logging模块配图 三、生产应用 定义一个logging_config模块 """ logging配置 """ import os import time import logging.config # 定义三种日志输出格式 开始 standard_format = '[%(a 阅读全文
posted @ 2018-08-13 21:32 zhang.ning 阅读(178) 评论(0) 推荐(0) 编辑
摘要: ESTABLISHED 表示正在进行网络连接的数量 TIME_WAIT 表示表示等待系统主动关闭网络连接的数量 CLOSE_WAIT 表示被动等待程序关闭的网络连接数量 上篇文章给出了解决TIME_WAIT太多的方法,本篇文章以HttpClient为例说明解决大量CLOSE_WAIT状态的方法。 H 阅读全文
posted @ 2018-08-10 17:45 zhang.ning 阅读(894) 评论(0) 推荐(0) 编辑
摘要: os模块是与操作系统交互的一个接口 具体使用 阅读全文
posted @ 2018-08-08 21:20 zhang.ning 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符串(Format String) 结构化的时间(struct_time):struct_time元 阅读全文
posted @ 2018-08-08 19:57 zhang.ning 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 注:转载请注明来源:http://blog.csdn.net/zgwangbo 阅读全文
posted @ 2018-08-08 17:38 zhang.ning 阅读(233) 评论(0) 推荐(0) 编辑