sniff通过signal信号正常终止的一个实现

由于stop_filter是作用在每一个packet的,当终止函数返回True的时候,只有在收到包的时候sniff才会返回,所以如果捕获的是明文数据,可以直接通过过滤Raw load方式处理,但是如果都是密文,通过kill方式来结束sniff也是一个可取的办法

 

python数字转ASCII字符

数字转字符 - chr() 字符转数字 - ord() 于是就出现一个有意思的事情,chr()可以将数字转化为字符,而且根据python3的IDLE提示,chr()的范围为0<=i<=0x10ffff,如果我们遍历这之间的数值会有什么现象呢,如下:

在超过65535的时候,系统就提示错误了,可是同样的程序在cmd里面却可 […]

selenium-初试登录路由器

selenium的安装很简单,或者说无需安装。如果需要录制脚本,可以下载Firefox的插件selenium IDE;写python的自动化,则只需要安装Language Bindings(pip install selenium),然后下载对应浏览器的drivers即可(windows平台上的driver都是.exe程序,统一放到某一目录下然后将目录路径加入path即可),操作起来还是蛮方便的, […]

用python体验2038年问题

这是在构造消息码流的填充数据的时遇到的一个问题,本和python不相干的,但是偶发联想,于是试试python中时间处理的方式是不是也有同样的问题。 首先通过计算器看一下4字节能表示的最大数值,(windows默认是signed类型,没有找到可以设置unsigned的地方)不过这不影响我们的测试,因为还有qword类型: 最高位为符号为,0表示正数,1表示负数,所以4字节能表示的最大正数是0x7FF […]

Python在linux终端模式下的类似聊天消息对话框

首先看一下最终效果,在终端模式下实现类似于聊天的对话框 实现方式如下,通过两个list: iwords和swords分别缓存来自终端输入和socket收到的数据,然后再将数据通过屏幕输出并通过socket接口发送出去,通过四个独立的线程分别完成各自的工作: myinput:获取输入区域内的输入数据,并将数据append到iwords和swords myoutput:检测swords长度并通过swo […]

试用python的curses模块创建window

实现效果如下图,在console的上部分显示输入的内容,下部分用于输入: 虽然比较粗糙,但是一般的功能勉强可用了

已知问题: 1.输入后不能使用backspace或者delete进行删除,方向键等功能键也会被直接识别为键值,而不是执行对应的功能(删除可以用Ctrl+Backspace,但是屏幕不会刷新被删除的内容) 2.输出窗口的行 […]

使用python的configparser模块过滤ini配置文件

python的configparser模块可以用来生成/处理类似下面的配置文件

今天要做的是通过configparser模块读取已有的ini文件并过滤出需要的section项,需求很简单,提取满足如下条件的section名字: 1.包含DoNotList项且值不为0 2.不包含DoNotList项但是包含了MustDisplay项 […]

用Python生成批量命令

有时候遇到要批量修改一些规则的,参数递增(递减)的命令时,手动一条条去改实在是太痛苦了,这时候可以考虑用Python自动生成这些命令,比如生成bat或者sh脚本,然后执行就快捷多了。如下是一个示例,自己在现场遇到这样的需求,当时觉得很迷茫,这个系统没有这样的功能啊!后来偶然间在别人的机器看到了Python图标,于是乎想试试看自己能不能做一个简单的模式出来,简单的goole一下,还真的可行: [cr […]