自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 wsl迁移至其他盘

wsl迁移

2022-09-30 09:25:19 662 2

原创 windows和linux 部署Java环境

java 环境部署

2022-06-10 09:33:04 365

原创 病毒、蠕虫、木马学习笔记

网络安全

2022-06-10 09:11:18 3028

原创 Re2Pcap+docker

Re2Pcap 使用手册

2022-06-09 17:15:38 410

原创 linux 安全审计audit 系统审计 记录root操作

Linux auditctl 使用

2022-06-08 17:13:36 3007

原创 python 爬虫(cookie)

cookie和session区别cookie数据存放在客户浏览器上,session数据放在服务器上 cookie不是很安全,别人可以分析放在本地的cookie并进行cookie欺骗 session会在一定时间上保存在服务器。当访问增多,会比较占用服务器的性能。 单个cookie保存的数据不能超过4K,很多浏览器限制到一个站点最多保存20个cookie爬虫处理cookie和session带上cookie、session的优点:能够请求到登录后页面带上cookie、session的弊端:

2022-05-13 14:03:56 4118 1

原创 python 爬虫基础知识

web请求过程分析服务器渲染:在服务器那边直接把数据和html整合在一起,统一返回给浏览器,在页面代码中中能看到数据 客户端渲染 :第一请求只要一个html骨架,第二次请求拿到数据,进行数据展示,在页面的代码中,看不到数据, 要熟练使用浏览器抓包工具requests函数http常用的请求方法为:get,postGET请求get请求,指定urlresp=requests.get(url)反爬,首先指定http 请求头的User-Agent:headers参数一般是字典.

2022-05-10 16:01:00 454 1

原创 scapy学习笔记

基本函数rdpcap()该方法是在解析数据包的时候读入pcap文件所需要调用的方法。调用方式from scapy import *f=repcap('pcap_oath')该函数返回的f 是一个scapy.plist.Packet List(可以看做一个list进行运算)类型可以通过f[i]来读取第i+1个数据包(因为list 从0开始计算,不是第一个)例如读取第一个数据包的内容,可以使用f[0]来找第一个数据包,使用f[0].show()或f[0].display()进行数据包格式化

2022-05-10 11:42:56 1436

原创 selenium 中 get_attribute 的几种用法

get_attribute('textContent')会获取标签之间的文本内容 get_attribute('innerHTML')会获取标签之间的完整 html get_attribute('outerHTML')获取当前标签的完整 html

2022-04-27 17:44:37 5424

原创 phpstudy+gv32-CSM

phpstudy版本:phpstudy2016一.安装phpstudy1.创建phpstudy目录2.安装phpstudy,指定安装目录为步骤1创建的phpstudy目录3.启动phpstudy,如下图所示4.在浏览器输入127.0.0.1/phpmyadmin,用户和密码都是root,如下图所示,则表示安装成功4.配置域名和网址4.1.点击【其他选项菜单】4.2.选择【站点域名管理】4.3. 输入站点域名信息,点击【新增并保存】4.4...

2022-01-18 19:53:50 1877

原创 python 处理十六进制及int

例如将正数17转化成hex并自动补0:prog=f'{int(17):0>8x}'结果如下图所示:如果将上图十六进制两两分组:content=re.find(r'.{2}',prog)结果如下图所示:格式化输出:content=' '.join(l_content)结果如下图所示:...

2022-01-11 15:10:55 1964

原创 kali 机设置初始密码

kali默认密码不是toor官方2020年一月28日的文章中指出root/root is dead.long live kali/kali强制修改kali密码使用root用户登录,可能遭遇鉴定错误,遇到这种情况,启动时候以单例模式进入命令行界面,使用passwd命令重新设置密码,即可 在系统选择页面按'e'进入grub编辑模式 在红框中添加 rw single init=/bin/bash 按 ctrl+x ,进入单用户模式 进入单用户模式,yo...

2021-12-22 15:20:14 2988

原创 strongswan 配置ikev2 for iOS

最新版本的strongswan 目前已支持ikev2 ,对于手机客户端,ios9.0 以上自带的vpn 支持 ikev2(服务器认证方式为:证书,客户端认证方式eap-mschapv2),安卓部分自带的客户端支持ikev2,如下为支持ios9.0以上的ikev2 配置 (手机客户端个人打包)修改 ipsec.conf配置文件 vi /etc/ipsec.confconn eap_ios

2021-08-11 18:13:59 4588 1

原创 python:多进程的分布式进程multiprocessing.managers

Server processManager()返回一个manager对象,它控制一个服务器进程,这个进程会管理python对象并允许其他进程通过代理的方式来操作这些对象manager对象支持多对种类型。例子见下from mulitprocessing import Process,Managerdef f(d,l): d[1]='1' d['2']=2 d[0.25]=None l.reverse()if __name__=='__main__':.

2021-05-07 17:34:08 3038 4

原创 python unittest

Test case一个test Case 就是一个测试的用例,什么是测试用例,就是一个完整的测试流程,包括测试前搭建环境setUp,实现测试过程的代码(run),以及测试后的环境还原test suit一个功能的验证需要多个测试用例,可以多个用例测试集合在一起来执行,可以通过addTest将testCase加到TestSuit,从而返回一个tessuit实例Test runner测试的执行也是单元测试中非常重要的一个概念 ,一般单元测试框架中都会提供丰富的执行策略和执行结果,在unitte

2021-02-05 11:16:29 98 1

原创 读写xml文件

以下面dameon来介绍读取xml文件from xml.dom import minidom#创建DOM对象dom=minidom.Document()#创建根节点。每次都要用DOM对象来创建任何节点root_node = dom.createElement('info')#用DOM对象添加根元素dom.appendChild(root_node)base_node = dom.createElement('base')root_node.appendChild(base_node)

2021-02-04 18:28:15 150

原创 python webdriver log模式

python提供了loggingfrom selenium import webdriverlogging.basicConfig(level=logging.DEBUG)driver = webdriver.Firefox()driver.get('http://www.baidu.com')driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').click()driver

2021-02-04 16:05:57 303

原创 处理HTML的视频播放

from selenium import webdriverfrom time import sleepdriver=webdrive.Firefox()driver.get('http://videojs.com/')video= driver.find_element_by_xpath('body/Setion[1]/div/video')#返回文件url=driver.execute_script('return arguments[0].currentSrc;',video)pri.

2021-02-04 15:16:21 116

原创 python执行javaScripte

<!---window.scrollTo(左边距,右边距)--->window.scrollTo(0,450)------------------------------------------------------window.scrollTo()方法用于设置浏览器窗口滚动条的水平和垂直位置。第一个参数表示水平的左间距,第二个参数表示数值的上边距from selenium import webdriverfrom time import sleepdriver = w

2021-02-04 14:29:34 134

原创 cookie 操作

.get_cookies 获取所有的cookie信息 add_cookie(cookiedict)添加cookie,cookiedict指字典对象,必须有name和value delete_cookie(name,optionString):删除cookie信息。name是要删除的cookie的名称,optionString是cookie的选项,目前支持的选项包括'路径','域' delete_all_cookies:删除所有的cookie信息 from selenium import webdr

2021-02-04 13:52:06 88

原创 python 上传文件

对于web页面的上传功能实现一般由以下两种方式普通上传:普通上传的附件上传是将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器 插件上传:一般是基于Flash、JavaScript或Ajax等技术所实现的上上传功能send_keys实现上传文件 upfile.html<html><head><meta http-equiv="content-type" content="text/html;class=utf-8"/&...

2021-02-04 11:14:52 750

原创 strongswan 配置ikev2 for iOS and Android

strongswan 高版本已支持ikev2,ios9.0以上版本的支持ikev2,Android也是高版本的部分机型支持ikev2,本人搭建的基于ikev2交换协议的strongswan VPN服务器对与iOS 是免证书的(iOS VPN客户端自己写的),Android (VPN客户端是stongswan 官网提供的客户端)服务器认证是证书,客户端认证是eap模式配置文件如下1.生成服务器证

2021-02-02 16:25:38 18940 1

原创 python 列表反转

a[::-1]反转列表例如a=[1,2,3,4]b=(1,2,3,4)a[::1]和b[::1]的含义是将元组或者列表的内容反转:a[::1]结果为a[4,3,2,1]b[::1]结果为b(4,3,2,1)注意和a[:1]的区别a[:1]表示从元组中切片,默认第一页个元组开始,到倒数第一个元素前面的那个元素位置a[:1]结果值为 a[1,2,3]b[:]结果值为 b(1,2,3)类表赋值y=x相当于指针传递: y=x[:]相当于指针传递a=[1,2,3,4,5

2020-10-25 13:34:53 222

转载 适用于 Linux 的 Windows 子系统安装指南

安装适用于Linux的windows子系统 适用于 Linux 的 Windows 子系统具有两个不同的版本,可以在安装过程中进行选择。 WSL 2 具有更好的整体性能,建议使用。 如果系统不支持 WSL 2,或由于特定情况需要跨系统存储文件,可能仍需要使用 WSL 1。 阅读有关比较 WSL 2 和 WSL 1 的详细信息。步骤 1 - 启用适用于 Linux 的 Windows 子系统需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上...

2020-10-23 18:14:29 483

转载 AVFrame关于视音频数据存储

1、概述这几天用ffmpeg实现简单音频转码,在写程序的过程中发现音频在AVFrame中存储与视频很相似,音频要复杂一些,本人记性不好,所以在这里记录下来,以作备忘。2、2个数据成员在AVFrame中有2个很重要的数据成员,一个是data,一个是linesize。data中存储的是未编码的源始数据(不论视音频),linesize中存储的是每行data中数据大小。data的定义如下:...

2018-11-20 17:54:05 922

转载 H264视频编码的基本了解

H264是一种视频压缩标准。 根据不同类别,编码器会使用不同类型的帧,I帧、P帧和B帧。I帧:自身可以通过视频解压算法解压成一张单独的完整的图片。P帧只需要参考前面的I帧或P帧,而B帧则需要同时参考前面和后面的I帧或P帧。 在H.264基准类中,仅使用I帧和P帧以实现低延时,因此是网络摄像机和视频编码器的理想选择。网络提取层(NAL network abstraction laye...

2018-11-20 17:35:31 3225

原创 C++的基础知识

1.register在c语言中register关键字的左右域是将变量直接放到寄存器,并且不允许register修饰的变量地址在c++中可以对register修饰的变量取地址c++有自己的优化方式,不需要用register关键字来优化c++编译器发现对程序中register修饰的变量取地址,对变量的声明变的无效2.变量检测性增强在c++中不允许定义多个重复的全局变量

2017-04-09 17:47:54 291

原创 strongswan + freeradius 配置 for windows

一.Strongswan 安装1.centos 安装依赖:yum  install  -y  gmp-devel 2.下载编译  wget http://download.strongswan.org/strongswan.tar.gz  tar xzf strongswan.tar.gz  cd strongswan-*   ./configure  --

2017-03-28 17:52:27 5180

原创 log4c 使用手册(整合多个资料)

一.简介 二 .Log4c安装 1.Ubuntu 可以用命令 2.其他平台用源码安装 2.1 下载源码 2.2 编译安装 2.3配置log4c的lib所在目录 三 .Log4c的基本概念 四.配置文件 4.1 Category 4.2.Appender 4.3 layout 4.4 rollingpolicy 五.Log4c的基本

2017-03-23 13:32:46 5411 1

原创 c++基础知识

1.namespace所谓namespace 就是标志符的各种可见范围,C++标准库中的所有标志符都被定义与一个名为std 的namespace 空间标准C++引入关键字 namespace (命名空间/名字空间),可以更好的控制标志符的左用域std是c++标准命名空间,C++标准库中的所有标志符都被定义在std中,比如标准库的类iostream/vector等都定义在该命名空间,使用

2017-03-19 15:08:32 230

原创 centos 如何配置vim 编辑器

1.注释:必须是vim命令 而不是vi命令1.安装依赖的工具$ sudo yum install git$ sudo yum install wget$ sudo yum install gcc$ sudo yum install gcc-++$ sudo yum install gcc-gfortran$ sudo yum install make$ sudo

2017-03-14 18:17:02 594

原创 java 基础知识

对象:对象是具有状态和行为的。例如:狗有一定的颜色,名字,品种(状态),也会跑(行为)类:类可以被定义为描述对象所支持的行为和状态的模板和蓝图。方法:方法是一种基本的行为。类中可以包含很多方法。实体变量:每个对象都有它的特殊的实体变量和集合,一个对象的具体状态是由那些实体变量所被赋的值决定的大小写敏感;java是一种大小写敏感的语言类的命名:所有类的名称字母必须大写方法的命

2017-02-21 12:47:46 305

原创 freeradius 如何配置pam 模块

本文主要描述的freeradius 如何通过pam 在第三方平台实现认证

2016-12-12 13:59:25 3313

原创 strongswan_freeradius_openldap

做vpn 项目的时候需要解决人员认证问题,最简单的办法是通过数据看库,最后决定采用的方法是strongswan 通过freeradius 认证用户人员信息,freeradius通过openldap验证strongswan的用户信息一.安装zlib下载zlib-1.2.3.tar.gz(或其他版本)wgethttp://down1.chinaunix.net/distfi

2016-10-18 18:00:58 2666 1

原创 strongswan 搭建ikev1 for Android and iOS

1.关于strongswan 的介绍 srongswan 是基于ipsec 的开源 vpn 服务器,目前已经实现了ikev1 和 ikev2的vpn 服务器,其官网上有相应的示例,但如果是初学者来说,可能会比较难,本人就是一个菜鸟,刚开始做的时候,一头雾水,网上的资源也相对较少,因此本人整理关于如何搭建ikev1 模式的vpn 服务器,并且测试成功 2.  安装strongswan

2016-10-16 20:17:16 7037

原创 nginx的epoll事件

1.事件驱动函数--ngx_processess_events_and_timers在 worker 的主循环中,主要工作是在不断的循环调用 ngx_process_events_and_timers 函数这个函数就是事件驱动函数,主要完成以下工作:调用事件驱动模块实现的 ngx_epoll_process_events 函数(ngx_process_events 宏)处理网络

2016-08-02 19:38:33 364

原创 nginx的通配符哈希表--ngx_hash_wildcard_t

概述nginx的哈希表的一个重要的应用场景是虚拟主机server name 的匹配,因此除了提供常规的哈希表匹配操作符,基于通配符的哈希表也就必不可少了nginx基于通配符的哈希表   nginx支持哈希表通过"www.techlog.*" 或"*.techlog.cn"这样的前缀或后缀通配符关键字对哈希表进行查找,事实上,这是通过一个数据结构ngx_has

2016-08-02 19:13:11 645

原创 nginx的单链表--ngx_list_t

概述单链表是一个较为简单的数据结构,对插入、删除节点具有较高的灵活性nginx对该数据结构进行了一层封装单链表结构//Nginx 链表结构(以数组为节点)typedef struct {   ngx_list_part_t *     last;       //最后一个节点   ngx_list_part_t*      part;  

2016-08-02 19:09:57 376

转载 nginx的哈希表结构--ngx_hash_t

哈希表   哈希表是一个基础的数据结构,中所周知,数组的随即访问效率是最高的,原因的是数组的随即访问可以通过索引直接定位到数据的实际地址,而无需遍历数组实现,这正是哈希表的思想,而数组也可以看成是索引为数字的特殊哈希表    哈希表实现了给定索引,直接计算出被索引数据存储地址的功能,这个过程是通过两次映射实现的1.给定索引数据K,通过一个映射函数f(k)计算出实

2016-08-01 20:11:00 393

转载 nginx的动态数组--ngx_array_t

// struct ngx_array_t// nginx 数组结构 {{{typedef struct {    void        *elts;        // 数组起始位置    ngx_uint_t   nelts;        // 数组元素个数    size_t       size;        // 单个元素大小    ngx_uint_t  

2016-08-01 19:58:29 620

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除