- 博客(44)
- 资源 (46)
- 收藏
- 关注
原创 python (高级消息队列)普通、进程、进程池的消息队列
一、普通消息队列from queue import Queue 这个是普通的队列模式,类似于普通列表,先进先出模式,get方法会阻塞请求,直到有数据get出来为止。import Queueq = Queue.Queue()for i in range(5): q.put(i)while not q.empty(): print q.get()输出:0...
2018-12-28 16:11:20 1046
原创 python ThreadPoolExecutor线程池(实例)
初识Python中已经有了threading模块,为什么还需要线程池呢,线程池又是什么东西呢?在介绍线程同步的信号量机制的时候,举得例子是爬虫的例子,需要控制同时爬取的线程数,例子中创建了20个线程,而同时只允许3个线程在运行,但是20个线程都需要创建和销毁,线程的创建是需要消耗系统资源的,有没有更好的方案呢?其实只需要三个线程就行了,每个线程各分配一个任务,剩下的任务排队等待,当某个线程完成...
2018-12-28 14:55:33 2533
原创 CentOS7 下安装 Redis
一、安装redis第一步:下载redis安装包wget http://download.redis.io/releases/redis-4.0.6.tar.gz[root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz--2017-12-13 12:3...
2018-12-27 16:31:17 254
原创 Nmap的高级扫描(脚本)
(1)nmap--script=auth 192.168.137.* 负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令 (2)nmap --script=brute 192.168.137.* 提供暴力破解的方式 可对数据库,smb,snmp等进行简单密码的暴力猜解 (3)nmap --script=default 192.168.137...
2018-12-27 15:09:10 9283 1
原创 Nmap扫描教程之基础扫描详解(常用命令)
常用命令:-vv是详细信息nmap -vv -sT -sV -Pn 192.168.200.14 -p 1433nmap -sT -sV -Pn 192.168.200.14 -p 1433-sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。-sS 半开扫描,很少有系统能把它记入系统日志。...
2018-12-27 15:07:20 46468 1
原创 python 进程池
Pool类在使用Python进行系统管理时,特别是同时操作多个文件目录或者远程控制多台主机,并行操作可以节约大量的时间。如果操作的对象数目不大时,还可以直接使用Process类动态的生成多个进程,十几个还好,但是如果上百个甚至更多,那手动去限制进程数量就显得特别的繁琐,此时进程池就派上用场了。 Pool类可以提供指定数量的进程供用户调用,当有新的请求提交到Pool中时,如果池还没有满,就会创...
2018-12-27 14:18:21 242
原创 shell if语句特殊用法(高级用法),工具安装判断
for i in wget gcc do if [ ! `rpm -qa | grep ^$i-[0-9].` ] ; then yum install -y $i [ $? -ne 0 ] && echo 'yum cannot install '$i && yum_right=3 fidone[ $yum...
2018-12-24 17:44:44 821 1
原创 七、内存、寄存器数据的传送
1. 从内存中取数据存放到寄存器中2. 从寄存器中取数据存放到内存中 寄存器是CPU里的东西,内存是挂在CPU外面的数据总线上的,访问内存时要在CPU的寄存器填上地址,再执行相应的汇编指令,这时CPU会在数据总线上生成读取或写入内存数据的时钟信号,最终内存的内容会被CPU寄存器的内容更新(写入)或被读入CPU的寄存器(读取)不只是PC上的CPU,所有的嵌入式CPU,单片机都一个样...
2018-12-24 17:34:00 2995
原创 六、汇编指令
一、MOV作用:往某个寄存器中存入数值格式:mov 寄存器名称,数值格式:mov 寄存器名称,寄存器名称格式:mov 段寄存器,寄存器名称 mov ds:ax格式:mov 寄存器名称。段寄存器格式:mov 偏移地址,寄存器名称 mov [0000],ax格式:mov 寄存器名称,偏移地址 mov ax,[0000]d 0b33:0100 ***a 0b33:01...
2018-12-24 16:14:55 268
原创 五、CPU详解、寄存器详解、标志寄存器详解
控制器、运算器、寄存器组成CPU 控制器:领导运算器:员工,计算数据寄存器:寄存数据信息,在内存与运算器之间硬盘运算速度<内存运算速度<寄存器运算速度寄存器:(寄存器16位[寄存器高8与低8],内存8位) 1. 通用寄存器(16位):AX、BX(基址寄存器)、CX、DX例如:往寄存器BX放入16进制数AF1E(16位二进制)入:r bx出:b...
2018-12-24 11:27:01 2782
原创 c服务器创建,setsid()解释
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。 比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的Uni...
2018-12-22 17:26:31 943
原创 python多进程管道通信(精)
Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。Pipe方法返回(conn1, conn2)代表一个管道的两个端。Pipe方法...
2018-12-20 23:31:18 1860
原创 python 线程的使用
第一种方法:普通import threadingimport time #time.sleep(10) 秒def StartCheckWeak(self, task_id, dic_protocol, task_sleep): return ...threads = []for i in range(0, len(res_data["data"])): ...
2018-12-20 22:49:00 236
原创 Linux 守护进程创建原理及简易方法
1:什么是Linux下的守护进程 Linux daemon是运行于后台常驻内存的一种特殊进程,周期性的执行或者等待trigger执行某个任务,与用户交互断开,独立于控制终端。一个守护进程的父进程是init进程,它是一个孤儿进程,没有控制终端,所以任何输出,无论是向标准输出设备stdout还是标准出错设备stderr的输出都被丢到了/dev/null中。守护进程一般用作服务器进程,如httpd...
2018-12-20 20:41:21 311
原创 汇编学习的安装DOSBOX及debug.exe教程
相信有很多小伙伴跟我一样,在学习汇编时却发现win7 64位系统下是无法使用debug.exe的,因为win7 x64没有debug.exe这个文件,因此需要安装DOSBOX。需要下载地址的可到我的资源中查找。下面开始安装教程:1.下载后解压并安装DOSBOX,最好安装在c盘以外的盘,下面以安装在d盘为例2.将MASM文件夹移到d盘根目录下3.打开DOSBOX,这时会出现两个窗...
2018-12-20 19:25:11 1866
原创 四、内存空间的编辑和ASSIC码
debug cmd.exe 代码段:在内存中存放代码的联系内存单元 比如:03ff:0100 到 03ff:0200 这段空间均存放了汇编代码,这个空间就叫段代码 数据段:在内存中存放数据的连续内存单元 比如:e 073f:0000 01 02 03 04 05 06 07 08 09 0A .. 一个字节的数据:一个内...
2018-12-20 17:52:31 359
原创 三、段地址与偏移地址
偏移地址内存地址 = 起始地址 + 偏移地址1000H + 0004H = 1004H 段地址例如2000末尾为0,2000+FFFF得到的结果就是该段取值范围
2018-12-20 17:03:15 8986
原创 python 文件按行读写
# 1、w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写# w+ 是读写内容,只要沾上w,肯定会清空原来的文件# 2、r 读模式,只能读,不能写,而且文件必须存在# r+ 是读写模式,只要沾上r,文件必须存在# 3、a 追加模式,也能写,在文件的末尾添加内容# 4、rb+、wb+、ab+,这种是二进制模式打开或者读取,一些音乐文件...
2018-12-20 13:29:56 1714
原创 python判断进程是否存在
1. 进程名import psutildef judgeprocess(processname): pl = psutil.pids() for pid in pl: if psutil.Process(pid).name() == processname: print(pid) break els...
2018-12-20 12:45:24 20159 9
原创 python 判断文件夹或文件是否存在
真为True,假为False文件import os.path if os.path.exists(file_path): 真文件夹import os.path os.path.isdir(tobecheckdir)
2018-12-19 09:19:53 1343
原创 linux命令 查看某安装包是否已安装
if [ ! `rpm -qa | grep -n ^$i-[0-9].` ] ; then yum install -y $i [ $? -ne 0 ] && echo 'yum cannot install '$i && yum_right=3fi
2018-12-18 19:12:59 3397
原创 二、内存空间
一、内存空间1byte = 8bit //1个二进制1MB = 1024 KB1GB = 1024 MB1TB = 1024GB内存编号:从0开始编号二、内存数据数据既指令、指令既数据
2018-12-10 19:45:42 244
原创 VC++动态库封装及调用
在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。一般的动态库程序有lib文件和dll文件,lib文件是编译时期连接到应用程序中的,而dll文件是运行时才会被调用的。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,在运行的时候,再去加载DLL,访问DLL中导出的函数。
2018-12-10 18:22:30 3687
原创 VC++ 多线程同步实例
test.hclass{public: static DWORD WINAPI DoScanRdpWeakPwdProcess(LPVOID lpParam);}test.cpp函数(){ HANDLE thread_listening_rdp = CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)CScanWeak...
2018-12-08 20:46:14 1802
原创 C++ WINDOWS下 wchar_t *和char * 相互转化总结篇
说道wchar_t和char两个类型大家都不会陌生wchar_t:在windows下是Unicode 16编码,也就是俗称宽字节char:当然就是指一个字节,在windows下面默认是gbk编码的所以在windows 下 wchar_t 转 char也就是编码转化直接贴出wchar_t *字符串和char *字符串的集中互转方法方法一:利用Windows的宏W2A,A2W ...
2018-12-08 16:01:53 781 1
原创 VS中CString与char型数组相互转换问题
1. char str[]="hello"; CString cstr; cstr.Format(str); 2. char str[100]; LPSTR p; CString cstr="hello"; p=cstr.getbuffer(); strcpy(str,p);
2018-12-08 15:57:05 3589
原创 VS++ 管道进程获取CMD返回值
int ExecDosCmdRet(CString strCmd, CString& strResult){ SECURITY_ATTRIBUTES sa; HANDLE hRead, hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHan...
2018-12-07 10:03:08 672
原创 C/C++ 按行读取文件
1. 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r, 想想为什么。结果, 2.txt和1.txt中的内容完全一致,你可以用Beyond Compare比较一下,我比较过了。2. 当Windows上的代码读取linux格式文件时, 读取的结果会显示只有一行, 想想为什么。本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题。当然了,上述程序只能针对文本文件(不仅仅是.txt),对其它类型的文件,不适合。这样, 我们就是整行读取了。
2018-12-06 14:02:41 11890
原创 c++ STL
C++ vector和list的区别vector:能高效的进行随机存取,时间复杂度为o(1)list:由于链表的特点,能高效地进行插入和删除如果需要高效的随机存取,而不在乎插入和删除的效率,使用vector;如果需要大量的插入和删除,而不关心随机存取,则应使用list。vector1. 头文件#include<vector>2. vector声明...
2018-12-06 11:55:14 498
原创 VS写文件
FILE* fp = fopen(strFileNameDes.c_str(), "w");string strFourBlanks = " ";string strEightBlanks = " ";fprintf(fp,"%s\n", "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>&quo
2018-12-05 18:44:32 1011
原创 python文件的编译
编译 .py 文件有以下几种方式,所有这些方式都是使用了 py_compile 模块的 compile() 方法。同时我们可以使用 compileall 模块中的 compile_dir() 来编译某个文件夹下面所有的 .py 文件,以及可以使用 compile_path 来依次编译 sys.path 指定路径下的 .py 文件。通常Python代码是不需要编译就可以运行的,但Python其实也是有编译的过程的,与Java和C#一样Python只能执行字节码,Python只是将编译过程隐藏起来了。
2018-12-03 11:46:24 1603
原创 kali工具详细说明----------报告工具
Reporting Tools(报告工具) 工具名称 工具说明 命令行/界面 开源/付费 编写语言 平台支持 源码链接 备注 CaseFile 离线情报分析工具 CaseFile是Maltego的姊妹工具,功能非常类似于Maltego。CaseFile主要针对数据进行离线分析,缺少Maltego的数据采集功能。它可以导入各类数据,包括Malt...
2018-12-03 09:53:23 250
原创 kali工具详细说明----------逆向工程
Reverse Engineering(逆向工程) 工具名称 工具说明 命令行/界面 开源/付费 编写语言 平台支持 源码链接 备注 apktool apk反编译 由谷歌公司(GOOGLE)官方推出,用来从 Android 的 apk 安装程序中提取各种资源,并可对这些资源进行修改和重新打包。 命令行 免费 Lin...
2018-12-03 09:52:45 397
原创 kali工具详细说明----------硬件黑客
Hardware Hacking(硬件黑客) 工具名称 工具说明 可以使用的功能 命令行/界面 开源/付费 编写语言 平台支持 源码链接 备注 android-sdk Android SDK为您提供构建,测试和调试Android应用程序所需的API库和开发人员工具。 Android SDK不用安装,下载后,直接解压即可, 将下载后...
2018-12-03 09:51:51 136
原创 kali工具详细说明----------密码工具
Password Attacks(密码攻击) 工具名称 工具说明 可以使用的功能 命令行/界面 开源/付费 编写语言 平台支持 源码链接 备注 acccheck 该工具被设计为密码字典攻击工具,通过SMB协议针对Windows身份验证。 它实际上是围绕'smbclient'二进制文件的包装器脚本,因此它的执行依赖于它。 尝试根据选...
2018-12-03 09:50:57 730
原创 kali工具详细说明----------压力测试
Stress Testing(压力测试) 工具名称 工具说明 命令行/界面 开源/付费 编写语言 平台支持 源码链接 备注 DHCPig 可以发起一个高级的DHCP耗尽攻击。它将消耗局域网内的所有IP地址以及阻止新客户端获取IP,同时它也防止旧客户端释放IP地址。另外,它会发送无效的ARP去把所有的windows主机震下线。 命令行 ...
2018-12-03 09:49:47 444
原创 kali工具详细说明----------Web应用程序
Web Applications(Web 应用程序) 工具名称 工具说明 命令行/界面 开源 /付费 编写语言 平台支持 源码链接 备注 apache-users 枚举系统上apache的用户名,支持远程方式 命令行 不开源 未知 kaili 安装地址(git clone) git://git.kali....
2018-12-03 09:48:45 335
原创 kali工具详细说明----------取证工具
Forensics Tools(取证工具) 工具名称 工具说明 命令行/界面 开源/付费 编写语言 平台支持 源码链接 备注 bulk-extractor bulk_extractor是一个从数字证据文件中提取电子邮件地址,信用卡号,URL和其他类型信息等功能的程序。它是许多任务的有用的取证调查工具,例如恶意软件和入侵调查,身份调查和网络...
2018-12-03 09:47:43 188
Fortify SCA 20.1.1代码审计
2023-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人