- 博客(71)
- 资源 (64)
- 收藏
- 关注
转载 python 同步 互斥 信号量 锁 简介
目录进程间的信号信号量(信号灯)进程的同步互斥Event事件Lock 锁进程间的信号信号是唯一的异步通信方法一个进程向另一个进程发送一个信号来传递某种信息,接受者根据传递的信息来做相应的事$ kill -l查看系统信号说明$ kill -9 pid号对进程发送信号信号名称 说明 1) SIGHUP 连接断开 2) SIGINT ctrl+c 3) SIGQUIT ctr...
2020-10-28 20:40:23 487
转载 python 同步 事件 event 简介
目录1. Event1.1 set()1.2 wait()1.3 clear()1.4 is_set()2. 协调线程同步3. 一个更复杂的例子事件 Event是另一种python多线程同步技术, 本文将使用python语言对这种技术进行讲解, 想象这样一个场景,你启动了多个线程,这些线程都要去访问一个资源,但是,这里有一个小小的问题,即将被访问的资源还没有准备好接受访问,那么此时,多个线程去访问,必然得到不响应,你还得处理这种得不到响应的情况python多线程同步---
2020-10-28 15:04:17 518
转载 python 获取公网 外网 ip 几种方式
实例如下:from urllib.request import urlopenfrom json import loadmy_ip = urlopen('http://ip.42.pl/raw').read()print('ip.42.pl', my_ip)my_ip = load(urlopen('http://jsonip.com'))['ip']print('jsonip.com', my_ip)my_ip = load(urlopen('http://httpbin.org/
2020-10-28 14:57:37 2623
转载 python subprocess.Popen 使用简介
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值。subprocess意在替代其他几个老的模块或者函数,比如:os.system os.spawn* os.popen* popen2.* commands.*一、subprocess.Popensubprocess模块定义了一个类: Popenclass subprocess.Popen( args, bufsize=0, execu
2020-10-28 14:56:10 6540 1
转载 linux python subprocess.popen 引起的僵尸进程 defunct 解决方法
使用 popen 函数的时候,如果不注意的话,可能会引起僵尸进程 defunct 的存在,虽然该进程不占用内存和 CPU,但是会在进程任务管理树上占用一个宝贵的节点。这样就造成了进程名额的资源浪费,所以一定得处理僵尸进程!下面以 python 为例来说明:python 脚本如下(zombie.py):#!/usr/bin/env python#-*-encoding:UTF-8-*- import osimport timeimport subprocess if __nam
2020-10-28 11:13:25 4568
转载 golang os.Rename 移动文件 报错 invalid cross-device link 解决方法
今天在写golang,os.Rename使用移动文件的时候,报错:invalid cross-device link.翻译过来的意思是 “无效的跨设备连接”。原来是我的linux文件系统使用两种不同格式的文件系统, 我从A目录(sda磁盘),移动文件到B目录(sdb磁盘),不能直接使用os.Rename。解决方案,使用linux shell命令代替,具体代码如下:var cmd *exec.Cmdcmd = exec.Command("mv", srcFile, dstFile)
2020-10-28 11:13:16 6188
翻译 golang 文件操作 创建 读写 复制移动 权限 删除
目录介绍基本操作创建空文件Truncate文件得到文件信息重命名和移动删除文件打开和关闭文件检查文件是否存在检查读写权限改变权限、拥有者、时间戳硬链接和软链接读写复制文件跳转到文件指定位置(Seek)写文件快写文件使用缓存写读取最多N个字节读取正好N个字节读取至少N个字节读取全部字节快读到内存使用缓存读使用 scanner压缩打包(zip) 文件抽取(unzip) 文件压缩文件解压缩文件
2020-10-28 11:12:51 2764
转载 golang 文件 文件夹 创建 读取 移动 复制 写入 遍历
目录文件读取创建 写入移动 拷贝 删除 文件 创建文件夹文件覆盖判断遍历文件夹权限文件操作, 大体分为两部分:os库 : 文件\文件夹创建,读取,移动,复制io库 : 文件内容的写入,修改,拼接文件读取package mainimport ( "io/ioutil" "log")func main() { // 读取文件内容 file, _ := os.OpenFile("./demo_unicode.html", 2, .
2020-10-28 11:12:40 7635
转载 python 使用socks5 设置全局代理
目录0x01介绍0x02 安装0x03 测试0x04 测试代码0x01介绍PySocks使您可以通过SOCKS和HTTP代理服务器发送流量。它是SocksiPy的现代分支,具有错误修复和其他功能。0x02 安装pip3 install Pysocks0x03 测试正常请求,httperror无法获得加入socks5代理后,可以获得当前程序的全局代理可以正常访问import socket import socks socks.set_def
2020-10-28 11:12:29 5709
转载 python 代理使用方法简介
目录1. 获取代理2. Urllib3. Requests4. SeleniumChromePhantomJS下面我们来梳理一下这些库的代理的设置方法。1. 获取代理在做测试之前,我们需要先获取一个可用代理,搜索引擎搜索“代理”关键字,就可以看到有许多代理服务网站,在网站上会有很多免费代理,比如西刺:http://www.xicidaili.com/,这里列出了很多免费代理,但是这些免费代理大多数情况下都是不好用的,所以比较靠谱的方法是购买付费代理,很多网站都有售卖,数量
2020-10-27 15:01:22 987
转载 python 报错 Missing dependencies for SOCKS support 解决方法
最近在创建新的 Python Virtualenv 时出现了Missing dependencies for SOCKS support的错误,经检查后发现为 Python 本身在没有安装 pysocks 时并不支持 socks5 代理,而环境变量中则设置了 socks5 的代理。解决方法:$ unset all_proxy && unset ALL_PROXY # 取消所有 socks 代理$ pip install pysocks参考:https://stacko..
2020-10-27 09:28:31 45269 4
转载 ip查询接口 简介
目录1、淘宝IP地址库2、纯真IP3、IP.SB4、IPIP,现在就为大家罗列下国内的4个好用免费的IP查询接口:1、淘宝IP地址库该查询接口由淘宝提供,已经上线很长时间,稳定靠谱。接口地址:/service/getIpInfo.php?ip=接口说明:http://ip.taobao.com/instructions.html频次限制:每个用户的访问频率需小于1qps2、纯真IP纯真官网http://www.cz88.net/有提供IP数据库下载..
2020-10-27 09:28:05 2770
转载 python requests 使用代理
在python中,requests使用代理要比urllib好用太多,urllib还是有些交互性差。HTTP代理如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求:import requestsproxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080",}requests.get("http://example.org", proxies=prox
2020-10-27 09:27:07 2514
转载 golang 使用 http socks 代理
实例如下:package mainimport ( "fmt" "io/ioutil" "net/http" "net/url")const ( HttpProxy = "http://127.0.0.1:6152" SocksProxy = "socks5://127.0.0.1:6153")func main() { proxy := func(_ *http.Request) (*url.URL, error) { return url.Parse(HttpP
2020-10-27 09:26:30 2159 1
转载 golang 判断 数组 切片 是否为空
实例:package mainfunc main() { // 数组 arr := [0]int{} if len(arr) == 0 { println(`这是个空数组`) } // 切片 slice := make([]int, 0, 0) if len(slice) == 0 { println(`这是个空切片`) }}判断切片 必须在创建时创建大小为0,这样才方便判断是否为空..
2020-10-27 09:26:18 7673
转载 golang 时间日期 时区 格式 简介
目录时区时间格式化开发中,我们对时间的使用是比较多的,其应用场景,按照使用概率,从大到小,通常是:获取当前或数据库中存储的时间 比较两个时间点的先后 显示打印时间 时区转换对应到go,也就是几个基本定义:时间点与时间段:Time,Duration。好比MVC中的M。 时 区:Location,在时间转换上,好比是MVC中的C。 格式化:Format的layout定义,好比MVC中的V。单独就Duration没什么好谈的,使用非常简单。Time实例中的Add、Sub与其相关,
2020-10-27 09:25:49 2534
转载 golang go-restful RESTful框架 简介
一个 RESTful API 框架需要什么?从应用程序开发的角度来看,RESTful API 的本质是一个 Web Application,而 RESTful API 框架就是实现这个 Web Application 所封装的一些列工具库,使开发者可以忽略底层实现的复杂度,专注以自身 Application 的逻辑设计。一个 RESTful API 框架应该具备以下几个元素:Resources:资源的定义,即 HTTP URI(或称之为 HTTP URL Path)的定义。RESTful API
2020-10-27 09:25:20 6556
转载 golang 字符串 去首尾字符
使用函数:Trimfunc Trim(s [string], cutset [string]) [string]功能:将 s 前后端所有 cutset 字符串去除。返回处理后的新字符串参 1:s,表示待处理的字符串参 2:cutset,表连待去除的字符串,返回值:处理完成的新字符串。通常使用该函数去除字符串中包含的多余空格。示例代码:fmt.Printf("[%q]\n", strings.Trim(" !!! Achtung! Achtung! !!! ", "! ")
2020-10-27 09:25:10 9430 1
转载 golang 实现 while 和 do……while 循环
大家都知道go没有提供while和do……while这两种循环,只提供了灵活的for循环机制,那如果有类似while或do while的循环需求,怎么做呢,下面我们就用for来模拟这两种循环://输出10次hello,world(使用类似while循环形式,先判断后做)func jobWhileMoni() { var count = 0 for { if count >= 10 { break //如果count>=10则退出
2020-10-27 09:24:37 19514 3
转载 python pytz 获取指定时区的时间
实例如下:import pytzimport datetime# 查询中国所拥有的时区cn = pytz.country_timezones('cn')# 查询美国所拥有的时区us = pytz.country_timezones('us')# 查询韩国所拥有的时区kr = pytz.country_timezones('kr')print(cn)# ['Asia/Shanghai', 'Asia/Urumqi']print(us)# ['America/New_York',
2020-10-26 18:54:36 1896
转载 golang 删除目录所有内容
只需使用ioutil.ReadDir即可获得os.FileInfo类型的切片,然后然后使用os.RemoveAll进行迭代并删除每个子项。package mainimport ( "io/ioutil" "os" "path")func main() { dir, err := ioutil.ReadDir("/tmp") for _, d := range dir { os.RemoveAll(path.Join([]string{"
2020-10-26 07:26:59 10432
转载 golang 获取路径 文件名 后缀
实例如下:import ( "fmt" "os" "path/filepath" "path") files := "E:\\data\\test.txt" paths, fileName := filepath.Split(files) fmt.Println(paths, fileName) //获取路径中的目录及文件名 E:\data\ test.txt fmt.Println(filepath.Base(files
2020-10-26 07:26:36 3774 1
转载 golang goland报错错误 $GOPATH/go.mod exists but should not 解决方法
问题描述:$GOPATH/go.mod exists but should not产生原因:开启模块支持后,并不能与$GOPATH共存,所以把项目从$GOPATH中移出即可具体解决方法如下(针对goland):途中所示的框框里的内容移除即可...
2020-10-26 07:26:26 8807 3
转载 golang gjson json库简介
目录安装获取值路径解析JSON 行Result Type64-bit integers读取嵌套数组对象或数组迭代简易的Parse和Get检查value是否存在验证JSON反序列化到map一次获取多个值性能官方的json库, 只支持整体的序列化与反序列化. 像其它语言的库, json库都支持单个getValue/setValue这类操作.找了下golang相关的开源json库, GJSON star数不错,支持的查询功能很丰富. 但是没有写入接口.
2020-10-26 07:26:13 1488
转载 golang exec.Command 执行命令用法实例
目录cmd字段介绍用法一:直接在当前目录使用并返回结果用法二:在命令位置使用并返回结果用法三:在命令位置使用并实时输出每行结果用法四:在命令位置使用并实时写入每行结果到文件cmd字段介绍typeCmdstruct{Pathstring //运行命令的路径,绝对路径或者相对路径Args[]string //命令参数Env[]string//进程环境,...
2020-10-26 07:26:00 40364 1
转载 golang 创建文件目录 os.Mkdir、os.MkdirAll 区别
本文主要讲述os.Mkdir、os.MkdirAll区别以及在创建文件目录过程中的一些其他技巧。 os.Mkdir("abc", os.ModePerm) //创建目录 os.MkdirAll("dir1/dir2/dir3", os.ModePerm) //创建多级目录 首先,试图从一个Go可执行文件创建一组嵌套目录(如’dir1/dir2/dir3’),并打印错误出来看看。err:=os.Mkdir(“dir1/dir2/dir3”,os.Mo
2020-10-26 07:25:48 4716
转载 linux shell 通过 第三方 网站 网页 得到 外网 公网 ip
有如下网站接口:# 纯ip地址curl ifconfig.me# 纯ip地址curl ifconfig.co# 纯ip地址curl http://members.3322.org/dyndns/getip# 纯ip地址curl ident.me# 纯ip地址curl v4.ident.me# 纯ip地址curl inet-ip.info# 带地址位置信息curl cip.cc...
2020-10-26 07:25:32 706
转载 golang 遍历文件夹和文件
代码示例:package mainimport ( "fmt" "io/ioutil" "os" "strings")//获取指定目录下的所有文件和目录func GetFilesAndDirs(dirPth string) (files []string, dirs []string, err error) { dir, err := ioutil.ReadDir(dirPth) if err != nil { return
2020-10-25 20:04:19 1830 1
转载 python requests 报错 Connection aborted ConnectionResetError RemoteDisconnected 解决方法
错误:requests.exceptions.ConnectionError: (‘Connection aborted.’, RemoteDisconnected(‘Remote end closed connection without response’,))解决方法(1)随机切换User-Agent: user_agent_list = ["Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Geck
2020-10-25 11:10:10 47014 6
转载 python requests 重新定向错误 requests.exceptions.TooManyRedirects: Exceeded xx redirects 解决方法
在抓取steam游戏名称时发现以下错误:requests.exceptions.TooManyRedirects: Exceeded 30 redirects错误提示是requests库有太多的重定向:超过了30个重定向。我是通过steam的appid来进行遍历的,但是steam不是所有appid都对应一个游戏,也就是说有一些是空的。这种情况下steam会重定向至steam主页,就会产生这个问题。所以,我最终的解决方案就是仅请求不允许重新定向,因为重新定向中没有我需要的信息。在requests请
2020-10-25 11:09:37 913
转载 国外开源威胁情报feed站点 简介
目录1blocklist.de2openphish.com3www.malwaredomains.com4spamhaus5vxvault.net威胁情报feed,是指可以将威胁情报自动化的向现有安全防护体系提供,通过现有安全体系实现对威胁的防范、响应等。常见的威胁情报feed包括了域名、ipv4、url、邮箱、恶意软件md5等。守望者一直在关注国外的开源威胁情报feed站点,后期我们也会对这些站点的数据进行统一的汇集...
2020-10-25 11:09:18 2653
转载 python 实现ftp服务 简介
目录一.Python搭建FTP服务器二.FTP函数释义三.查看目录结构四.上传下载程序一.Python搭建FTP服务器1. 搭建FTP服务器的Server端# -*- coding:utf-8 -*-from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHandlerfrom pyftpdlib.servers import FTPServer...
2020-10-25 11:08:47 2223
转载 如何利用隐写术配合四个重定向连接到C2服务器
话不多说,我们直奔主题!首先,我们需要编写一个简单的Python脚本,然后看看在系统中执行命令时会涉及到哪些组件,并将输出以一个二维码图片的形式输出。接下来,我们还需要编写另外一个小型脚本来读入这个图片,并将结果显示在终端控制台中。我们可以直接在手机上扫描这个二维码,然后就可以看到Windows目录被输出出来了。下面给出的是二维码样例:很好,你扫描之后就可以看到结果了。因此理论上来说,这种方式应该也可以在代理和C2服务器之间建立直接连接。因此,我决定继续使用Python作为Web服务器,然后使用
2020-10-25 11:08:19 668
转载 linux系统利用可执行文件的Capabilities实现权限提升
一、操作目的和应用场景Capabilities机制是在Linux内核2.2之后引入的,原理很简单,就是将之前与超级用户root(UID=0)关联的特权细分为不同的功能组,Capabilites作为线程(Linux并不真正区分进程和线程)的属性存在,每个功能组都可以独立启用和禁用。其本质上就是将内核调用分门别类,具有相似功能的内核调用被分到同一组中。这样一来,权限检查的过程就变成了:在执行特权操作时,如果线程的有效身份不是root,就去检查其是否具有该特权操作所对应的capabilities,并以此为
2020-10-25 11:08:04 2859
转载 算力时代将至,我们是否做好准备了
目录我国“新基建”发展规划算力如何成为一种基础设施可能面对的问题材料接近瓶颈大型机房散热网络安全算力最后“算费”(我们暂且这样称呼),可能是计算1Gb数据或是10Gb数据所需要支付的费用,有点类似现在大家在用的流量,在未来5到10年,算力会成为大家所熟知的一种“新能源”。算力将和我们日常生活中的水、电、燃气、汽油一样,成为不可或缺的一种民用资源,而提供和维持这些的系统和设施就是我们常说的基础设施。可能有人觉得这是天方夜谭,算力这个概念对于一些大型企业和公司确实必不可少,但
2020-10-25 11:07:50 1446 1
转载 linux遭入侵挖矿进程被隐藏案例分析
目录一、背景二、入侵分析三、样本分析四、附录IOCs:一、背景云鼎实验室曾分析不少入侵挖矿案例,研究发现入侵挖矿行为都比较粗暴简单,通过 top 等命令可以直接看到恶意进程,挖矿进程不会被刻意隐藏;而现在,我们发现黑客开始不断使用一些隐藏手段去隐藏挖矿进程而使它获得更久存活,今天分析的内容是我们过去一个月内捕获的一起入侵挖矿事件。二、入侵分析本次捕获案例的入侵流程与以往相比,没有特殊的地方,也是利用通用漏洞入侵服务器并获得相关权限,从而植入挖矿程序再进行隐藏。通过对几
2020-10-25 11:07:27 2329
转载 linux shell find命令 查找指定时间范围内的文件
例如查找`2013-08-08`到`2013-09-01`号之间的文件,使用如下命令即可:find /log/ -name 'production.log-2013*' -newermt '2013-08-08' ! -newermt '2013-09-02011/09/08 12:00 时间开始找一天內的,会列出 2011/09/07 12:00 ~ 2011/09/08 12:00 时间內的文件找出 3 天”以前”被改动过的文件 (前第三天以前 → 2011/09/05 12:00 以前的文
2020-10-25 11:07:18 9157
转载 linux进程隐藏 hook readdir函数 挂载覆盖/proc/pid 目录
前言上篇介绍了如何在有源码的情况下,通过 argv[] 及 prctl 对进程名及参数进行修改,整篇围绕/proc/pid/目录和 ps、top 命令进行分析,做到了初步隐藏,即修改了/proc/pid/stat、/proc/pid/status、/proc/pid/cmdline 这些文件的信息,使得 ps、top 命令显示了虚假的进程信息;但是还存在一些**缺点**:1.ps、top 命令还是显示了真实的 pid2./proc/pid目录依然存在,/proc/pid/exe 及/pr...
2020-10-24 07:55:23 1306
转载 linux进程隐藏 argv[0] prctl 修改进程名
目录前言一、通过修改进程argv[0]修改进程名二、通过Linux prctl修改进程名三、两者方法相结合前言Linux下查看进程信息的途径通常有以下几种方式途径 说明 top、ps等命令 通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。常用命令如下 ps -A 查看所有进程名称; ps -ef 接显示进程绝对路径及参数; ps -aux显示所有用户进程状态,最后一列显示进程绝对路径及参数; to
2020-10-24 07:50:40 2538
转载 python 创建一个txt文件
创建一个txt文件,文件名为mytxtfile,并向文件写入msg注意文件的路径不要错,还有文件的格式 # 创建一个txt文件,文件名为mytxtfile,并向文件写入msgdef text_create(name, msg): desktop_path = "C:\\Users\\Administrator\\Desktop\\" # 新创建的txt文件的存放路径 full_path = desktop_path + name + '.txt' # 也可以创建一个.doc的
2020-10-24 07:27:07 17419
字体wps.zip 用于linux wps 使用
2020-03-16
Nat_Type_Tester_.rar
2019-12-26
msfupdate.erb
2019-11-04
fuzz工具 teenage mutant ninja turtles
2019-01-14
Sybase ASE 12.5.4 PC 客户端
2018-12-12
Win32 OpenSSL
2015-04-18
ActivePerl
2015-04-18
编写 Debugging Tools for Windows 扩展 实例
2014-04-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人