最近写一些测试工具,实在懒得搞GUI,然后意识到python有一个自带模块叫cmd,用了用发现简直是救星. 1. 基本用法 cmd模块很容易学到,基本的用法比较简单,继承模块下的Cmd类,添加需要的功能入口就好了. Cmd类有个prompt属性,修改它可以把默认提示符((cmd))替换成自定义的: 为自己的Cmd类添加名为“do_xxx()”的方法,则运行时,在提示符下可以接受xxx指令.但对应的参数解析貌似是要自己搞定的,否则在指令名之后输入的所有东西,只要不回车,它都是一个大参数: 有指令的…
md模块可以用来做交互式shell cmd模块是python中包含的一个公共模块,用于交互式shell和其他命令解释器等的基类,我们可以基于cmd模块自定义我们的子类,实现我们自己的交互式shell 它的执行流程也很简单,使用命令行解释器循环读取输入的所有行并解析他们,然后把输入行交给命令处理器来处理. 命令行解释器接收并解析输入行,这里先需要知道输入行包含两个部分,命令和参数,通过继承和子类方法重载父类方法的特征,命令行处理器找到合适处理该命令的子类方法 比如我们输入的是hello baby,…
译文:oschina 英文:bt3gl 当涉及到对一些目标网络的侦察时,出发点无疑是首先发现宿主主机.这个任务还可能包含嗅探和解析网络中数据包的能力. 几周前,我曾经谈到了如何使用Wireshark来进行数据包嗅探,但如果你没有wireshark,你如何去监控网络流量呢? 这一次,Python提供了几种解决方案,今天我将一步步演示如何建立一个UDP主机发现工具.首先,我们要看我们如何处理原始套接字来编写一个简单的嗅探器,它能够查看和解析网络数据包.然后,我们将在子网内多线程运行该进程,结果将在我…
使用HandlerThread几大优点: 1.制作一个后台异步线程,需要的时候就可以丢一个任务给它,使用比较灵活; 2.Android系统提供的,使用简单方便,内部自己封装了Looper+Handler机制; 3.可以代替Thread + Looper + Handler的写法; 4.可以避免项目中随处可见的 new Thread().start(),增加系统开销; 使用HandlerThread注意: 1.不要执行太耗时(一般情况不要超过100ms级别的)的任务,如果太耗时可能会阻塞其他的任务…
Python的hashlib提供了很多摘要算法,如MD5,SHA1等常用算法. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(如MD5值共32位,且每位都是用16进制进行表示). 摘要算法就是通过摘要函数对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过. 摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算digest很容易,但通过digest反推数据data却非常…
用 Sound 对象制作一个音效播放器. 应用程序总览 程序在执行后默认会把 WAV 音频文件加载到清单中,单击“播放”按钮可开始 播放,同时显示 “正在播放 xxx 音效”的信息 . 播放过程中,可以通过单击“上一首”“下一首”按钮播放列表中的上一首或下 一首音效:单击“停止播放”按钮可停止播放:单击“结束”按钮则可结束应用程 序井结束音效播放. def menu(status): os.system("cls") print("wav 播放器 {}".forma…
昨天大佬阿炳给发了一份代码给我,看着感觉很好玩,这是自己写了个命令行吗,完了我就找篇更详细一点的博客学习了一下  cmd的主要方法和属性 方法: (1)cmdloop():类似与Tkinter的mainloop,运行Cmd解析器: (2)onecmd(str):读取输入,并进行处理,通常不需要重载该函数,而是使用更加具体的do_command来执行特定的命令: (3)emptyline():当输入空行时调用该方法: (4)default(line):当无法识别输入的command时调用该方法:…
前言: 没有前言 0x01 from scapy.all import * import sys from socket import * import os from threading import * screenlock=Semaphore(value=500) def gsd(): print '[*]TCP routing' try: r2,unans=traceroute([sys.argv[1]],dport=[sys.argv[2]],maxttl=20) except Exc…
前言: import collections print([name for name in dir(collections) if not name.startswith("_")]) ['AsyncIterable', 'AsyncIterator', 'Awaitable', 'ByteString', 'Callable', 'ChainMap', 'Container', 'Coroutine', 'Counter', 'Generator', 'Hashable', 'It…
python中_thread模块是一个低级别的多线程模块,它的问题在于主线程运行完毕后,会立马把子线程给结束掉,不加处理地使用_thread模块是不合适的.这里把书中讲述的有关_thread使用的例子自己实现了一遍,做以记录. #例子一:自己手动在主线程中设置等待时间import _thread from time import ctime, sleep def loop0(): print("loop0 starts at:{}".format(ctime())) sleep(4)…