- 博客(35)
- 资源 (21)
- 收藏
- 关注
原创 关于Python中tqdm和zip一起用进度条不显示的解决方法
在下面这个例子中,tqdm可以正常使用:from tqdm import tqdmfrom time import sleepfor _ in tqdm(range(10)): sleep(0.1) 但是在下面这个例子里面,将tqdm和zip一起使用,不显示进度条for _, _ in tqdm(zip(range(10), range(10))): sleep(0.1)在stackoverflow上有解决方案,使用tqdm中contrib包里面的tzip,相当于.
2021-09-04 10:18:48 5289
原创 【语音数字信号处理】有关幅度谱、相位谱以及利用二者合成频谱
一、幅度谱clean_spec = librosa.stft(clean_sig, win_length=320, hop_length=160, n_fft=320)mag = np.abs(clean_spec)mag即得到的幅度谱二、相位谱clean_spec = librosa.stft(clean_sig, win_length=320, hop_length=160, n_fft=320)phase = np.angle(clean_spec)phase即得到的相位谱
2021-04-29 17:08:55 3609
原创 音频特征
1. 最基本那肯定是STFT,说白了就是FFT加窗。有人肯定说这不算是feature,因为这是raw data,但是现在深度学习已经越来越多的使用这种raw data作为“feature” 输入到网络让模型自己学习其中的特征。其物理含义也十分明确:就是把时间信号转换为时间-频率的信号,根据FFT的窗长和选择的窗函数来决定时间-频率分辨率的tradeoff。说白了就是直接让你看每一段时间内的频率成分。从人类感知的角度来说,在连续的声音中人耳感知和分析的是短时间的一段段信号,所以这也是使用STFT的一个原因。
2021-01-23 20:00:16 946
原创 【AFL-qemu安装问题】出现util/memfd.c:40:12: error: static declaration of ‘memfd_create’ follows non-static d
原因是由于memfd_create和glibc中的同名函数冲突了按照这里的解决方案创建一个名为“memfd_create.diff”的文件,然后将下列代码粘贴进去diff -ru qemu-2.10.0-clean/util/memfd.c qemu-2.10.0/util/memfd.c--- qemu-2.10.0-clean/util/memfd.c 2018-11-20 18:11:00.170271506 +0100+++ qemu-2.10.0/util/memfd.
2020-11-23 08:17:39 3713 3
原创 【AFL学习笔记(一)】有源码的C程序fuzz
一、实验环境1、ubuntu 16.042、AFL,按照“小白初学AFL”中的步骤在机器上安装好AFL二、目标程序1、目标程序代码将该代码复制下来,并保存命名为“test.c”#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <signal.h> int vuln(char *str)
2020-11-21 19:46:27 1333 1
原创 【GAN】使用CGAN进行有监督的MNIST手写图片生成
一、CGANCGAN要求在训练生成器和判别器时将标签也作为输入,所以在运用生成器生成数据时,加入标签,能够生成和标签标注相同的数据二、代码解析1、导入相关的模块,这里使用的是tensorflow2.0,keras已经被集成进去import tensorflow as tffrom tensorflow.keras.layers import Input, Dense, Reshape, Flatten, Dropout, multiplyfrom tensorflow.keras.la
2020-06-06 20:21:09 1632
原创 【GAN】使用GAN进行mnist数据集中手写图片的生成
一、GAN介绍GAN一般有两个内容,一是生成器(generator),二是辨别器(discriminator)。辨别器的目的是:尽可能地分辨输入的数据是生成器生成的假数据还是真实的数据生成器的目的是:尽可能地骗过辨别器,使得辨别器认为它生成的数据是真实的数据这是个博弈的过程,能够使得生成器和辨别器不断成长,最后生成器能够生成以假乱真的数据其中生成器的输入是随机向量,输出是指定的数据鉴别器的输入是数据,输出的是0到1之间的数(意味着数据是真实的数据的概率)本博客使用的代码是在ten
2020-05-11 10:23:37 2671 3
原创 【keras学习(十)】模型的保存和载入
注意使用模型的保存和载入务必确保安装了h5py如果没有安装的请运行pip3 install h5py一、模型的保存model.save('RNN_mnist.h5')将模型保存为RNN_mnist.h5文件中二、模型的载入model_new = keras.models.load_model('RNN_mnist.h5')...
2020-05-04 13:18:20 363 3
原创 【keras学习(九)】mnist手写图片分类程序(七)使用RNN学习模型
一、使用RNN模型识别手写图片RNN是一个处理序列比较好的模型,这里用来处理手写图片,仅仅是为了试试手二、代码分析1、导入相关模块import numpy as npimport matplotlib.pyplot as pltfrom tensorflow import kerasimport tensorflow as tf2、定义数据格式#数据长度——一行有...
2020-05-04 13:13:14 576
原创 【keras学习(八)】mnist手写图片分类程序(六)使用CNN学习模型
一、使用CNN进行mnist手写图片识别卷积神经网络在图片的处理效果比较好这里构建了一个卷积层->池化层->卷基层->池化层->全连接层->输出层的网络结构,识别效果高达99%以上二、代码分析1、导入相关模块import numpy as npimport matplotlib.pyplot as pltfrom tensorflow imp...
2020-05-04 11:06:50 571
原创 【keras学习(七)】mnist手写图片分类程序(五)使用Adm优化器
一、使用adm优化器对手写图片进行识别大多数情况下adm优化器的表现都要比sgd好二、代码分析新建一个adm优化器,并且在compile时将优化器参数改成admadm = keras.optimizers.Adam()model.compile(optimizer=adm,loss='categorical_crossentropy',metrics=['accuracy'])...
2020-05-04 10:33:30 877
原创 【keras学习(六)】mnist手写图片分类程序(四)使用正则化
一、使用正则化识别mnist手写图片数据集使用正则化的原因是可以避免过拟合的情况发生二、代码分析在建立模型的时候,全连接层的参数kernel_regularizer进行设置,该参数的意思是在权值上设置正则化,此外还有偏置正则化等#创建模型,输入784个神经元,输出10个神经元model = keras.Sequential()model.add(keras.layers.De...
2020-05-04 10:24:08 664
原创 【keras学习(五)】mnist手写图片分类程序(三)使用Dropout
一、使用Dropout识别mnist手写图片1、Dropout是为了能够让一定数量的神经元进入睡眠模式,这样做能够有更好的识别准确率二、代码分析修改模型相关代码#创建模型,输入784个神经元,输出10个神经元model = keras.Sequential()model.add(keras.layers.Dense(200,input_dim=784))model.add(...
2020-05-04 09:48:45 350
原创 【keras学习(四)】mnist手写图片分类程序(二)使用交叉熵
一、使用交叉熵交叉熵是一种损失函数,在这个手写图片分类程序中,之前使用的是mse作为损失函数,现在我们将损失函数修改成交叉熵,再看看结果二、代码分析将这一行的代码中的损失函数修改成“categorical_crossentropy”model.compile(optimizer=sgd,loss='categorical_crossentropy',metrics=['accur...
2020-05-03 23:30:39 408
原创 【keras学习(三)】mnist手写图片分类程序(一)
一、分类程序介绍mnist是一个28x28的图片数据集,训练集中包含60000个图片以供训练,每张图片上都是手写的数字,从0到9,并且每张图片都有自己的标签,因此可以通过训练该数据集,将手写的数字图片进行分类二、代码解析1、导入依赖的模块import numpy as npimport matplotlib.pyplot as pltfrom tensorflow impor...
2020-05-03 23:12:38 1432
原创 【keras学习(二)】非线性回归模型
一、非线性回归模型数据呈现非线性状,想要预测数据的走向二、代码分析1、导入相关模块import numpy as npimport matplotlib.pyplot as pltfrom tensorflow import keras2、建立非线性随机数据作为数据集#建立随机数作为数据集x_data = np.linspace(-0.5,0.5,200) #从...
2020-05-03 15:17:31 1726
原创 【keras学习(一)】线性回归模型
本博客现阶段所用的是tensorflow2.0版本,keras已经被集成于其中,所以不同版本的tensorflow可能用法有所不同,但是大同小异。一、线性回归模型线性回归大致意思就是根据给出的数据,预测接下来数据的走向,很经典的应用就是预测股票市场之类的,但是注意一般都要求数据呈现线性特征,效果才会好。二、代码分析1、导入numpy模块、matplotlib模块、tensorflo...
2020-05-02 11:46:53 621
原创 【wzdftpd安装】wzdftpd的linux版本安装教程
近期要开展漏洞挖掘的工作,因此需要安装wzdftpd在机器上,又因为这个东西比较老,自己各种摸索之下终于搞定它的安装流程了,现在记录一下。一、下载地址https://sourceforge.net/projects/wzdftpd/files/wzdftpd-sources/wzdftpd-0.8/这是linux版本的wzdftpd下载地址,我下载的是0.8.0版本,我用的操作系统是u...
2020-04-20 10:27:26 179
原创 【网络协议模糊测试实战】使用sulley对PCManFTP进行模糊测试
0x01 准备工作1、首先需要安装好sulley,具体安装流程可以参考https://blog.csdn.net/u012397189/article/details/76084919 这篇文章介绍的很详细,按照上面的安装步骤即可安装好sulley2、准备好两台机器或者安装虚拟机,如果只使用一台机器既作为服务器又作为发送测试用例的机器,那么sulley在windows系统下无法...
2020-01-10 10:07:27 1996 5
原创 【聚类】一种自适应Eps和Minpts的DBSCAN方法(python实现)
一、算法来源1、DBSCAN算法原型 这个算法原型非常简单,有很多博主都有写,大家自己去看看就好了,也不用花太多时间,顶多十分钟就能了解个大概。2、自适应Eps和Minpts参数 由于该算法对Eps和Minpts参数十分敏感,所以如何确定这两个参数对于DBSCAN来说是很重要的一步,这篇博文是基于李文杰老师的论文《自适应确定DBSCAN算法参数的算法研究》,...
2019-04-18 10:23:02 20700 27
原创 【python】关于二维列表建立的问题
一、问题 如果使用以下代码建立二维列表的话,的确可以建立一个3*3的二维列表m = n = 3test = [[0] * m] * nprint("test =", test)但是如果对列表的第一个值进行修改test[0][0] = 233print("test =", test)则会发现,将test打印出来的结果如下:test = [[233, 0, 0],...
2019-02-23 10:52:28 1373
原创 【网络协议逆向分析与应用】基于网络流量的协议格式逆向分析之二——典型报文序列分析方法(PI、PEXT)
一、PIPI全称为Protocol Informatics project,是Marshall Beddoe在2004年启动并完成的一个项目。PI项目的主体思想是利用生物学的一些算法,尝试分析目标协议的结构信息。在生物学中,需要从DNA中寻找产生蛋白质的特定基因,而在一些网络应用中,需要从大量的网络数据流中找到具有特定含义的域。二者存在相似性所以PI才可能利用生物信息学的方法找到具有特定含义的...
2018-12-19 16:34:19 2267
原创 【网络协议逆向分析与应用】基于网络流量的协议格式逆向分析之一——序列比对技术
序列比对又称序列联配,是生物信息学的基础。在《算法导论》书中有一节提到最长字符串匹配(LCS),就是书中提到的DNA序列比对方法。这种方法与协议逆向分析所需要的方法类似,所以可以将其运用到协议逆向分析中来,通过比对协议的相似之处,来提取协议的相同内容。一、双序列比对 这里就是运用的《算法导论》中15.4的最长公共子序列的算法,这个算法具体可以看算法导论的介绍。算法完成后通过最优回溯来找到相...
2018-12-19 11:47:56 2172
原创 《ProWord An Unsupervised Approach to Protocol FeatureWord Extraction》论文阅读报告
论文介绍 我阅读的论文的题目是《ProWord: An Unsupervised Approach to Protocol Feature Word Extraction》中文译名为:《ProWord:一种提取协议特证词的自动化方式》,故名思议,该论文介绍了一种能够自动化提取协议特证词的方式,并将其取名为ProWord,研究的领域是协议逆向工程领域。 论文正文内容 摘要 ...
2018-12-11 09:26:56 1138
原创 【python】SOCKET实现RSA加密的全双工聊天程序
一、背景RSA加密解密是利用的非对称密钥解决的传输过程中机密性的问题,将之用在聊天程序上,其中使用了rsa模块,发送方生成公钥和私钥,然后使用公钥将信息加密后,利用pickle模块封装加密后的消息和私钥,然后发送给接收方,接收方同样通过pickle模块将消息进行解封,使用发送过来的私钥将消息解密,并将内容打印在屏幕上。二、程序结构这里的程序结构可以参考我之前写的【python】SOCK...
2018-12-11 09:20:37 6235 4
原创 【python】pickle模块在socket编程中的使用
一、需求分析很简单的来说,我们在使用socket编程时,socket.send()函数中参数要求是‘bytes’类型的,那么我们在需要传输非‘bytes’类型的数据怎么办? 有人会说,用encode对其进行编码,再不济使用bytes()进行强制类型转换。当然这对于python的基本数据类型是完全可行的,因为在接收端也会有这种数据类型,只要将其转换回来即可。那么要是接收端没有你的这种数据类型...
2018-12-10 22:48:34 2091
原创 【python】SOCKET实现DES加密的全双工聊天程序
一、背景现如今窃取隐私信息太简单了,为了让自己脑海里形成一种保密意识,今天花了大概半个小时的时间写了一个用SOCKET实现的DES加密全双工聊天程序,程序的内容也比较简单,并且DES算法的实现也使用了pydes这个库,具体的工作量大概是体现在全双工的聊天程序里了。我的程序和别人不一样的地方主要是在运行程序时只有一个文件需要运行,不像其他博主的那样分成一个client.py,一个server...
2018-12-08 23:29:28 3428 3
原创 【Netzob学习】(六)使用netzob逆向未知协议之四——根据推测模型生成报文
我们现在已经有了目标协议的格式化报文和语法的知识,现在让我们尝试使用这个模型,来对真实(模拟的)服务器进行交流,具体的server和client我放在了这里:https://download.csdn.net/download/liyihao17/10835752一、运行server首先我们运行server,server我放在了上面的地址里,需要的请自行下载。$cd tutori...
2018-12-07 18:32:44 836 1
原创 【Netzob学习】(五)使用netzob逆向未知协议之三——状态机推断
无限状态机是在学习网络的时候经常能够听到的一个词,尤其是我在用《计算机网络:自顶向下方法》学习TCP的时候,里面把每一个状态机都描述得十分清晰。简而言之,协议可以使用无限状态机来进行描述,接下来使用Netzob工具对官方提供的抓包pcap例子进行状态机的推断。下面介绍三种创建状态机的方式。一、生成一个状态机链在这里我们将生成一个能够说明指令和响应的顺序的基本状态机,每一个包发送后,都将导致...
2018-12-07 17:41:41 1589 2
原创 【Netzob学习】(四)使用netzob逆向未知协议之二——消息格式推断
一、使用分隔符做格式区分1、我们观察之前的打印的symbol中的内容: 从这个内容中我们不难发现,在每一行的每个英文单词后面总会跟着一个“#”号,并且在每个井号后面跟着一些值,从这里就能说明,大概这个协议的消息存储方式是这样的:[域名]#[值],于是我们需要通过“#”这个字符来将消息分割。在netzob/Inference/Vocabulary/Format.py中有一个函数名为s...
2018-12-05 18:14:29 2473 6
原创 【Netzob学习】(三)使用netzob逆向未知协议之一——从一个PCAP文件中导入消息
我已经将这个官方网站例子中使用的PCAP包上传到了CSDN上,可以从此处下载: https://download.csdn.net/download/liyihao17/10829232一、使用readFile函数打开包内消息打开安装netzob的包,可以从netzob/Import/PACPImporter/PCAPImporter.py中看到readFile函数,通过这个函数,我们...
2018-12-05 11:48:14 1875 1
原创 【Netzob学习】(二)安装netzob——ubuntu(开发用)
一、需求分析因为我们这里需要的是使用netzob里面的函数库,来进行协议逆向分析,我是按着之前(一)的步骤过来的,如果出现了一些错误的话请先执行(一)的内容:https://blog.csdn.net/liyihao17/article/details/84574726二、安装依赖包1、首先我安装了一个pycharm的社区版,然后打开,随便新建一个工程(使用python3.6,应该py...
2018-12-04 12:48:10 1234 7
原创 【Netzob学习】(一)安装netzob——ubuntu
一、netzob介绍 Netzob是一个用于逆向工程、生成流量和模糊测试通信协议的开源工具。它允许通过被动和主动的过程来推断协议的消息格式和状态机。该模型可以用于模拟现实和可控流量以及模糊测试目标实现。 通过这个教程,我们将介绍Netzob的主要功能,推断消息格式和简单协议的语法,并且在最后介绍些基本实现的模糊测试。被介绍的功能覆盖以下能力:导入一个我们想逆...
2018-11-27 22:44:58 3102 5
原创 【python】ssh密码字典攻击
学习《Python绝技——运用Python成为顶级黑客》的第二课如何对ssh进行破解ssh类似Windows下的telnet功能,如果服务器开启了ssh服务且允许使用密码登录,那么黑客就能够通过暴力破解或者字典攻击来获取目标的ssh密码,从而实现对目标主机的控制。先把完整代码贴上来:# -- coding: utf-8 --#对目标IP地址进行ssh暴力破解#输入方式:pyt...
2018-07-24 08:55:32 5402 1
原创 【python】端口扫描器
这是我通过学习书籍《Python绝技——运用Python成为顶级黑客》一书中的学习笔记。学习Python这一门语言,我觉得是需要大家一起分享,一起进步的,尤其是做安全工作的同志。通过学习第二章有关扫描器的部分,自己试着模仿程序并且有自己的心得和体会。网络嗅探是网络攻击开始的第一步,而获取目标使用的操作系统、开放的服务和端口等信息对于攻击者来说是十分有用的,攻击者可以通过获取得到的这些信...
2018-07-21 10:32:37 539
GAN生成手写图片(keras)tensorflow2.0
2020-05-11
mnist_recognize_3.py
2020-05-04
一种自适应Eps和Minpts的DBSCAN方法
2019-04-18
FTP的pcap报文包
2019-03-25
ProWord An Unsupervised Approach to Protocol FeatureWord Extraction
2018-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人