自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 seeker+ngrok 钓鱼获取目标位置

钓鱼获取目标地理位置

2022-11-04 16:01:25 3156 4

原创 excel文件合并小工具

excel表格文件合并小工具,办公好帮手

2022-11-02 13:08:37 2014

原创 Web网站信息收集

网站信息收集

2022-10-31 14:21:24 1327

原创 Web渗透测试---Web TOP 10 漏洞

Web渗透测试---Web Top 10 漏洞

2022-10-27 13:57:54 5348

原创 图形化IPC端口连接工具

图形化IPC连接工具

2022-10-24 21:56:59 1802

原创 渗透测试-服务器信息收集

渗透测试-服务器信息收集

2022-10-22 11:32:23 1383

原创 渗透测试-子域名发现

渗透测试-子域名发现

2022-10-21 12:53:41 1118

原创 渗透测试-C段主机信息收集

渗透测试中的C段信息收集

2022-10-20 13:02:20 2775

原创 信息收集--旁站信息收集

渗透测试-信息收集-旁站信息收集

2022-10-19 14:40:56 772

原创 信息收集-真实的IP

渗透测试-信息收集篇-真实的IP地址

2022-10-18 17:07:40 563

原创 图形化UDP发包小工具

图形化UDP包发送小工具

2022-10-14 11:46:43 4971

原创 tcpdump抓包常用参数

tcpdump 抓包工具,网络安全设备分析报文神器

2022-10-11 17:30:20 2248

原创 web渗透-xss

xss漏洞

2022-10-09 16:23:12 760

原创 WEB安全-SQL注入

SQL注入漏洞

2022-09-16 13:24:43 1736

原创 Django路由简单使用

配置路由与视图函数的映射关系导入应用中的views.py模块,然后配置映射关系,路径time/ 对应的视图函数为year打开浏览器访问网站http://127.0.0.1:8000/time/urls.py中的urlpatterns是一个列表,映射原理for item in urlpatterns:ret = re.search(路径,item.path/url)if ret:执行映射的视图函数映射的路径其实是一个正则表达式,我们可以使用正则表达式来代替路径中的内容假如我们想获

2022-02-18 22:06:08 424

原创 Django安装与启动

Django简介Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 。Django的安装打开cmd命令窗口,输入命令 pip install django这里我已经安装好了,假如没有安装的话,会显示安装的进度条,安装成

2022-02-18 20:26:25 1468

原创 jquery中DOM操作

jquery中添加DOM操作可以是一个字符串,可以是js对象,也可以是jquery对象append表示在父元素后面追加一个DOM <div class="box"> <div class="opend">jquery对象</div> <ul class=".item"> <li></li> </ul> </div> <script src="jquery.min.js">

2022-01-14 23:59:24 295

原创 jQuery(选择器,动画,对属性的操作)

jquery入口函数 <script src="jquery.min.js"> $(function(){ $("")... }) </script>jquery的选择器基本选择器$("#id名") 通过标签的id进行选择$(".class名") 通过标签的类名进行选择$(“标签名”) 通过标签名进行选择返回的是一个jquery对象$("")[0] 这样返回的是一个js对象属性选择器$(“input[type=text]”)筛选选择器

2022-01-14 22:14:14 250

原创 绝对定位补充和固定定位

绝对定位盒子如何设置居中<!DOCTYPE html><header> <meta charset="utf-8"/> <title>绝对定位居中</title> <style> *{ padding:0; margin:0; } a{ text-decoration:none; } ul{ list-style:none; } .father{ width:100.

2022-01-10 18:37:51 288

原创 属性及定位(绝对定位,相对定位)

字体属性font-size: 设置字体大小,字体大小默认是16pxfont-family:设置字体类型font-weight: 设置字体粗细 bold bolder light lighter 100~900font-style:设置字体的样式 italic /*斜体*/font:字体大小/行高 字体类型 /*font:14px/20px "宋体"*/text属性text-align :设置文本水平距离left:水平靠左right:水平靠右justify:两端对齐center:水平

2022-01-09 23:44:30 655

原创 仿写小米商城导航栏

效果图上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <tit

2022-01-08 22:59:56 443

原创 浮动和display

浮动作用浮动的作用就是使元素并排显示特点第一个盒子会紧贴父盒子边,第二个浮动的盒子会贴第一个浮动的盒子… 依次类推特性脱离标准文档流收缩的效果字维设置浮动,任意的标签 都可以设置宽高要浮动一起浮动,有浮动,清除浮动浮动带来的影响:浮动使元素脱离了标准文档流,元素不占文档的位置,撑不起父盒子的高度,影响页面布局清除浮动的方式给父盒子设置固定高度内墙法,在浮动元素的后面加一个空的块级标签,并设置类clearfix设置clear:both,清除浮动给父元素设置overflow:hi

2022-01-08 20:50:50 424

原创 css盒子模型

页面中标签都是一个盒子盒子模型的属性width :宽度height : 高度padding :内边距,是盒子内容与边框之间的距离margin :外边距,是盒子之间的距离border :边框盒子模型的计算宽度:边框的宽度2 + 内边距2 + 内容的宽度高度:边框的宽度2 + 内边距2 + 内容的高度保持盒子不变的情况下,当增加内边距的时候,内容的宽度或高度就必须 相应的减少属性width:宽度 设置宽度height:高度 设置高度border: 线性宽度 线..

2022-01-07 22:08:56 239

原创 css继承性和层叠性

继承性不是所有的属性都能继承,能继承的属性有color, font-xxxx, text-xxxx, line-xxxx 这几类属性可以继承a 标签特殊,有伪类,必须选中a标签设置样式层叠性 覆盖比权重 行内样式(1000) > id(100) > class(10) > 标签(1)数选择器,数一下有多少id选择器,类选择器,标签选择器,计算权重,权重大的会优先显示,如果权重一样,则会以后设置的样式为主都是继承来的属性,它的权重为0,与直接选中标签没有可比性都是继承的属性,

2022-01-06 20:57:01 234

原创 css高级选择器

后代选择器语法 父级标签 子标签 { 样式 } 表示所有父级标签的某类子标签设置指定样式<!DOCTYPE html><html><header><title>高级选择器</title><meta charset="utf-8"/><style> <!--后代选择器,表示将所有div下的所有p标签的内容设置指定样式--> div p{ color:red; font-si.

2022-01-06 20:20:12 337

原创 css样式表基本知识

引入css可以将我们的页面渲染的更好看样式表的引入方式行内样式内接样式外接样式 (link/@import url="") <!DOCTYPE html> <html> <header> <meta charset="utf-8" /> <title>css引入方式</title> <!--内接样式--> <style type="text/css"> div{ width:1

2022-01-05 22:30:17 71

原创 HTML中基本标签

标签的分类块级标签: 独占一行,可以设置宽高行内标签:在一行内显示,不会独占一行,并且不能设置宽高,一般在行内 标签内不包含块级标签,会影响页面布局行内块标签:也是在一行内展示,不会独占一行,但是行内块标签可以设置宽高虽然行内标签不能设置宽高,但是可以使用样式中的display属性将行内标签转换为块级标签,或者转换为行内块标签,这样就可以对行内标签设置宽高了display:block 表示将行内标签转换为块标签inline-block 表示将行内标签转换为行内块标签2. 页面基.

2022-01-04 22:31:53 547

原创 python中协程

什么是协程?协程是一个微线程,程序员可以使用协程控制程序执行流程,协程在操作系统本身是不存在的,是程序员创造出来的协程依赖的模块:greenlet但是单纯的协程在程序中是没有意义的,所以一般在编写程序的时候,将协程与IO多路复用联合使用,可以提高并发的效率协程结合IO多路复用依赖模块gevent ,这个模块中,当协程每遇到一个IO操作的时候,并不是等待而是去执行别的代码片段在之前的单线程异步非阻塞中使用的是循环检测IO对象的变化提高并发,这是两个的区别,但是本质没有区别协程代码:imp.

2022-01-03 22:21:50 458

原创 python中单线程异步非阻塞

socket操作中产生阻塞的地方有:连接的时候,就是执行connect函数的时候,还有就是接受数据的时候产生阻塞,就是执行recv函数等待服务端返回数据的时候非阻塞就是不等待的意思,执行setblocking(False),以上的阻塞就不再等待,但是需要我们抛出一个BlockingIOError异常异步就是执行操作完成之后自动执行回调函数,这个回调函数就会自动完成某些我们需要处理的操作,比如我们在向某个网站发送请求之后,请求完成之后,会自动执行回调函数与异步非阻塞相对应的就是同步阻塞,..

2022-01-02 21:44:04 1175

原创 python中单线程非阻塞并发

我们在使用多线程并发处理IO操作时候,每个线程当发送一个请求之后,就得阻塞等待接受返回的数据,数据较少的时候,这样并发操作还行,但是当数据非常庞大的时候,等待时间就会非常漫长,那么我们可以使用单线程非阻塞,就是使用一个线程逐个发送每一个请求,不用等待数据的返回操作,然后全都发送完毕,在逐个的接受每一个请求返回的数据其中会使用到select模块select模块就是用于监听每一个请求对象的变化其中有三个方法select(rlist, wlist, xlist, timeout=None),其本质就是调

2022-01-02 21:29:10 761

原创 python中进程数据共享

python进程数据共享共享一个队列import multiprocessingdef task(args): q.put(args)if __name__ == '__main__': q = multiprocessing.Queue() for i in range(10): p = multiprocessing.Process(target=task,args=(i,)) p.start() p.join()

2022-01-01 21:12:58 462 2

原创 python进程中的锁

python中进程的锁和线程的锁用法一样Lock锁(只能锁一个,放一个)import multiprocessingimport timelock = multiprocessing.Lock()def task(args): p = multiprocessing.current_process() lock.acquire() time.sleep(2) print(p.name) print(args) lock.release()d

2022-01-01 20:45:13 2922

原创 python中进程池

进程池中进程的数量表示程序执行过程中,当处理任务时候,最多创建处理任务的进程的数量from concurrent.futures import ProcessPoolExecutorimport multiprocessingimport timedef task(args): p = multiprocessing.current_process() #获取当前进程对象 time.sleep(2) print(args) print(p.name)def ru

2022-01-01 20:27:30 119

原创 python 中进程

普通创建进程的语法(Windows环境下)import multiprocessingimport timedef task(): p = multiprocessing.current_process() time.sleep(3) print(p.name)def run(): p = multiprocessing.Process(target=task) p.start() print(111111)if __name__ == '_.

2022-01-01 20:21:44 44

原创 生产者消费者

生产者就是只做一件事就是生产一个资源放入管道,供消费者消费,消费者也知做一件事,就是从管道中取出一个资源进行消费代码片段:import queueimport time#创建一个队列import threadingq = queue.Queue()def producer(args): while True: time.sleep(2) q.put(args) print("线程%s生产了一个资源"%args)def consumer

2021-12-31 21:40:43 1012

原创 python 线程池

线程池中线程的个数就是程序执行过程中最多创建的线程数量去处理任务,这样就不会无节制的创建线程,减少资源的浪费python中线程池的基本使用语法from concurrent.futures import ThreadPoolExecutorimport timeimport threadingdef task(args): time.sleep(2) print(threading.current_thread().getName()) print(args)pool

2021-12-31 21:36:17 95

原创 python中的锁

为什么要有锁?在我们编写的代码中难免会用到共享数据/资源,但是当多线程或者进程在对共享资源/数据进行操作的时候,如修改共享资源,由于并发的特性,当一个线程在修改一半的时候,可能cpu会调度另一个线程再次进行修改,这样共享资源/数据 就可能不能保持同步,程序会读脏数据,为了避免这种情况,在每个线程在对共享数据或资源修改之前应该先上锁,每个时刻让一个线程或进程拿到数据或资源进行修改,或者称为线程或进程进入自己的临界区,处理完数据或资源后,在对锁进行释放即可,这样就能保证共享资源或数据的正确性Lock锁(一

2021-12-31 11:56:41 1334

原创 python 线程

线程就是一个进程的实例,但是在python中当我们运行计算密集型的程序时,cpu的效率会很低,所以使用线程执行的程序一般都是I/O操作的程序,如输入输出,文件的读写,socket通信,一般情况下主线程必须等待子线程运行结束,主线程才能结束在python中创建线程的记中方式,以及常用的关于线程的内容如下:普通创建线程的基本语法import threadingimport time#普通创建线程的方式def target_fun(args): time.sleep(args) p

2021-12-30 15:57:41 94

原创 python实现FTP文件上传

注意:代码环境为服务端 客户端都在本地上,且都在同一个目录下进行编写的,大家可以根据自己的需要进行修改大体思路:首先将文件的基本信息如文件名称,文件大小,文件的MD5值,封装一下,让后序列化,发送到服务端,服务端对MD5进行检查是否存在自己当前的目录,如果没有存在就行重传,如果已经存在就进行断点续传,中间使用MD5作为文件名进行临时存储文件的内容,这样可以避免同名不同内容的文件的上传,然后等到传输完毕,则将文件名改为自己需要的文件名客户端代码import socketimport osimport

2021-12-29 13:24:07 2903

原创 python打印进度条

进度条 python实现import time#进度条函数def progress_bar(total_size): for i in range(total_size+1): print("\r%s%%|%s"%(i,"#"*i), end="") time.sleep(0.1)if __name__=="__main__": progress_bar(100)

2021-12-28 22:55:26 963

空空如也

空空如也

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

TA关注的人

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