自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 收藏
  • 关注

原创 Kali工具的使用--NETCAT

1.NETCAT作为客户端常用的命令nc -v    verbose [use twice to be more verbose]nc -n    numeric-only IP addresses, no DNS下列是nc的所有命令:nc -vn 123.125.50.29 110(POP3服务器的110端口)nc -nv 202.181.12.12 25(SMTP服务...

2018-11-21 10:49:07 3727

原创 go语言应用:爬虫

1.爬虫思路:1)明确目标(要知道你准备在哪个范围或网站去搜索)2)爬(将所有的网站的内容全部爬下来)3)取(去掉对我们没用处的数据)4)处理数据(按照我们想要的方式存储和使用)2.百度贴吧爬虫package mainimport ( "fmt" "net/http" "os" "strconv")//爬取网页内容func HttpGet(url str...

2018-10-30 17:02:43 394

原创 go语言基础语法:http编程

 客户端------------请求包--------------->服务器            <---------响应包----------------- 1.http请求包格式package mainimport ( "fmt" "net")func main() {//监听,指明协议类型,ip地址,端口号,“:8000”=“127.0.0...

2018-10-30 15:03:45 325

原创 go语言应用:并发聊天服务器

思路:onlineMap保存在线用户        var onlineMap[string]ClientClient的结构:C chan string(存储需要发送给当前用户的信息),Name string,Addr stringmessage存放所有需要广播的消息1.主协程:处理用户连接1)将用户加到了map中2)告诉所有在线的用户,谁上线了(message<-某...

2018-10-29 22:07:59 328

原创 go语言应用:文件传输

1.发送方package mainimport ( "fmt" "io" "net" "os")func SendFile(path string, conn net.Conn) {//打开文件 f, err := os.Open(path) defer f.Close() if err != nil { fmt.Println("os.Open err=", ...

2018-10-29 21:13:52 270

原创 go语言:并发服务器

1.服务器package mainimport ( "fmt" "net" "strings")//处理用户请求func HandleConn(conn net.Conn) {//函数调用完毕,自动关闭conn defer conn.Close()//获取客户端的网络地址信息 addr := conn.RemoteAddr().String() fmt.Printl...

2018-10-29 20:45:22 358

原创 go语言基础语法:网络编程

 1.服务器package mainimport ( "fmt" "net")func main() {//监听,指明协议,ip地址和端口号 listener, err := net.Listen("tcp", "127.0.0.1:8000") if err != nil { fmt.Println("err=", err) return } def...

2018-10-29 20:10:04 147

原创 go语言基础语法:并发编程和计时器

一、并发编程1.创建goroutinefunc newTask() { for { fmt.Println("this is the newTask goroutine") time.Sleep(time.Second) }}func main() { go newTask()//创建一个新的协程,新建一个任务 for { fmt.Println("this is...

2018-10-24 21:33:36 546

原创 go语言基础语法:异常处理,文本文件处理,JSON处理,文件操作

一、异常处理1.err接口的使用err1 := fmt.Errorf("%s", "this is normal error")fmt.Println("err1=", err1)err2 := errors.New("this is normal error,too")fmt.Println("err2=", err2)2.接口的应用func MyDiv(a, b i...

2018-10-23 18:02:19 264

原创 go语言基础语法:面向对象编程

一、匿名组合1.匿名字段初始化type Person struct { name string sex byte age int}type Student struct { Person//只有类型,没有名字,匿名字段,继承了Person里面的成员 id int addr string}func main() {//顺序初始化 var s1 Studen...

2018-10-18 21:05:40 258

原创 go语言基础语法:指针,数组,随机数,切片,map,结构体

一、指针1.指针的基本操作var a int = 10//每个变量有2层含义:变量的内容,变量的地址fmt.Printf("a=%d\n", a)//变量的内容fmt.Printf("&a=%v\n", &a)//变量的地址//保存某个变量的地址,需要指针类型,*int保存int的地址,**int保存*int的地址var p *int//声明指针类型变量p =...

2018-10-15 21:02:42 351

转载 十六、闪电网络(Lightning Network) 之 HTLC

在第14课 闪电网络(Lightning Network) 之 RSMC 中,我们知道了RSMC实现了买家和卖家之间的双向支付通道。但这还不够方便,任何时候2个人之间要交易,就得建立支付通道。 有没有更便捷的办法,在买卖双方不建立通道的情况下,也可以实现交易?闪电网络的基本思路 如下图所示,Alice和Eric之前想...

2018-10-07 15:57:37 1511

转载 十五、闪电网络之 Script Language与Script Engine

在第10课 交易安全性如何保证? – scriptSig/scriptPubKey/Script Engine里面,我们提到在比特币网络里面,设计了1种脚本语言,并且有1个脚本引擎来解释执行这个语言。在这1课,我们将对脚本语言进行1个深入的讲解,因为这个是闪电网络的重要基础,也是以后要讲的“智能合约”的雏形。因为脚本语...

2018-10-07 15:57:31 275

转载 十四、闪电网络之RSMC

在第13课 微支付通道(MicroPayment Channel) – 迄今为止最透彻的讲解了里面,我们深入分析了微支付通道。微支付通道有些缺点,1个是单向的,另1个就是nLockTime问题,即使1方跑路了,另外1方也要等到nLockTime到期了才能把钱退回来。闪电网络优化了微支付通道,解决了上面的问题,今天深入分...

2018-10-07 15:57:25 624

转载 十三、微支付通道

这1课很关键,微支付通道将是后面闪电网络、隔离见证的基础,微支付通道不能搞透彻,后面的闪电网络、隔离见证就更晕菜了。问题的提出 在前面第3课 “区块链”到底长什么样?我们说过,现在的比特币网络每秒钟最多处理6到7笔交易,并且每笔交易还需要手续费。如果买卖双方有大量的小额交易,微额交易,比如1个宽带提供商向外提供带宽...

2018-10-07 15:57:19 515

转载 十二、nLockTime(CLTV)与Sequence number(CSV)

在第9课 Transaction数据结构、UTXO、钱包 – 详解中,我们对Transaction的数据结构进行了深入剖析,其中最关键的部分就是UTXO。这节课,我们讲详细说明Transaction里面另外2个关键字段:nLockTime 与sequence number,同时也介绍2个常用专业术语:CLTV, CSV。...

2018-10-07 15:57:11 305

转载 十一、多重签名(MultiSig)与P2SH

多重签名 - 1个保险箱多把钥匙 在第8课 账号相关概念:公钥/私钥/Public Key Hash/P2PKH我们知道了,1个账号对应1对公钥/私钥,公钥是公开的,私钥你私自保存。但是如果私钥被黑客盗了呢,那怎么办呢???前面我们说过,比特币的账号是没有实名认证的,不像现实中丢了账号,还可以拿身份证去银行挂失。在比...

2018-10-07 15:57:00 1698 1

转载 十、交易安全性-- scriptSig/scriptPubKey/Script Engine

在前面第8课 账号相关概念:公钥/私钥/Public Key Hash/P2PKH我们讲公/私钥的时候,说过:A给B转账的时候,会先用A的私钥进行签名,再转账给B的公钥。这个过程,说明了2件事:用A的私钥签名,证明了这笔钱是A的;转账给B的公钥,证明了这笔钱是转给B的,不是转给别人的。接下来,B要花这笔钱...

2018-10-07 15:56:44 2000 1

转载 八、公钥/私钥/Public Key Hash/P2PKH

在前面第2课,我们粗略引入了比特币网络中账号的概念。在此课,我将对账号相关的几个概念,做更深入的阐释,这部分也是整个区块链技术的基础。一、公/私钥 公/私钥的基本思路是:每个用户生成1对公/私钥,相当于账号与密码。A给B转账,先用A的私钥签名,再把钱打入B的公钥,只有B能用自己的私钥解密。这里有2个关...

2018-10-06 17:13:37 856

转载 六、区块链分叉与51%算力攻击

一、分叉问题在第4课讲挖矿的时候,我们讲到每个节点都会不断的进行Hash运算,希望把自己的Candidate Block链接到区块链的末尾,成为下1个正式的新区块。考虑下面的场景:刚开始的时候,所有节点上的区块链是一样的(含有1,2,3 三个区块)。然后在这个时候,节点1和节点2同时挖出了Block 4,链接到各自本...

2018-10-06 16:44:54 1886

转载 五、矿机与矿池

在上1课的结束,提到了接下来要讲“分叉与51%算力攻击”。但在讲述这个关键问题之前,我还是打算先做一定的铺垫,先就挖矿所涉及的几个专业名词做个解释。一、算力在上1课提到,所谓的挖矿:就是暴力枚举nonce的所有值,计算Block的Hash,看其前面48位是否符合一个特定的规则,符合则成功的挖到1个区块。这个过...

2018-10-06 16:38:40 715

转载 三、区块链的样子

在 第2课 走进 "区块链"与"比特币"的世界 里,我们对区块链与比特币这2个概念有了一个初步认识,在这节课里,我们将进一步阐述区块链的内部结构,看一下区块链到底长什么样。区块链,顾名思义,有块(Block),然后把块链在一起(Chain),也就是区块链(Block Chain)。一、P2.

2018-10-06 16:14:44 320

转载 Multi-Paxos

在前面的序列中,我们知道Basic Paxos可以用来确定1条日志。而Multi-Paxos就是针对每条日志都执行1个2PC的Paxos协议,从而确定多条日志,也就是一个日志流。有了日志流,就能基于日志流建立一个”复制状态机“模型。复制状态机在上图中,有3台机器,每台机器上都有一个日志流+1个状态机。日...

2018-10-06 15:50:13 865

转载 一、掌握区块链技术需要的预备知识

从2009年中本聪提出区块链技术以及对应的数字货币-比特币,到如今已经快10个年头。在这期间,出现了形形色色的概念、技术、金融玩法,从各种币的发现、到矿机、矿池、交易所、隔离见证、智能合约、ICO。。。从本课开始,本序列将从最基础的知识开始,逐层解剖区块链相关的方方面面的技术以及各种衍生生态。1. HASH,...

2018-10-06 15:46:19 455

原创 go语言基本语法:函数、工程管理

一、函数(一)无参无返回值函数//无参无返回值函数的定义func MyFunc() { a := 666 fmt.Println("a=", a)}func main() { //无参无返回值函数的调用:函数名() MyFunc()}(二)普通参数列表//有参无返回值函数的定义,普通参数列表//定义函数时,在函数名后面()定义的参数叫形参//参数传递,只能由...

2018-09-28 17:03:22 147

原创 go语言基本语法:基础类型、运算符、流程控制

一、第一个go语言程序//go语言以包作为管理单位//每个文件必须先声明包//程序必须有一个main包(重要)package mainimport "fmt"//导入包后,必须要使用//入口函数func main() { //左括号必须和函数名同行 //打印 //“hello.go”打印到屏幕 //调用函数,大部分都需要导入包 /*这是块注释*/ fmt.Println...

2018-09-18 21:19:54 219

原创 SQL建表及插入

一、建表(一)creat语句的基本用法create table[schema] table(column datatype [default expr] [column_constraint],...[table_constraint]);例子:creat table student(id NUMBER PRIMARY KEY,name VARCHAR(20),email CH

2017-02-15 21:34:04 3592 2

原创 SQL的集合操作和完整性约束

一、集合操作(一)集合运算符union/union all          并intersect                    交minus                        差集合运算要求两个select语句是同构的,即列的个数和数据类型必须一致union的结果集为两个查询结果的并集,是去掉重复值的union all的结果集为两个查询结果的并集,

2017-02-15 21:03:05 395

原创 SQL子查询

一、非关联子查询(一)子查询           就是在一条SQL语句中嵌入另一条SQL语句select sal from empwhere ename='FORD';select sal from empwhere sal>300;select ename from empwhere sal>(select sal from emp where ename='FORD'

2017-02-15 20:49:03 307

原创 Oracle学习笔记(四)

多表查询一、内连接(一)语法select table1.column, table2.columnfrom table1join table2on table1.column_name=table2.column_name;(二)主外键主外键作为约束条件,用来保证数据的完整性主键(primer key)外键(foreign key)主键一旦被参照

2016-06-17 13:54:38 369

原创 Oracle学习笔记(三)

一、日期计算1、日期+number=number天以后      日期-number=number天以前      日期1-日期2=两个日期之间相差的天数2、Oracle取系统时间sysdateselect sysdate from dual;--取当前的数据库时间select sysdate+10 from dual;--当前系统时间后十天的时间select enam

2016-06-15 16:44:19 317

原创 Oracle学习笔记(二)

一 、文字字符串SELECT语句后面可以包含文字值:字符、表达式、数字字符文字值必须用单引号括起来对于文字值每行输出一次二、消除重复行DISTINCT应用到SELECT后所有列,所有列联合起来唯一如果SELECT后面跟DISTINCT关键字,一定是直接跟在SELECT后面,前面没有任何内容select distinct deptno from emp;s

2016-06-12 18:00:32 228

原创 Oracle学习笔记(一)

一、数据库简介1、两种常用的数据存储形式文件数据库2.数据库与数据库管理系统数据库:关系数据库使用关系或二维存储信息数据库管理系统:是一套软件,用于在数据库中存储数据、维护数据、查询数据等3、数据库的种类Oracle/sybase/db2           大             电信、银行             上千万级别的数据sql

2016-06-10 14:53:20 293

原创 MVC

一、MVC概述MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。模型表示企业数据和业务规则。在MVC的三个部件中,模型

2016-05-31 17:34:14 946

原创 java Swing

Swing一、历史1.1SUN Jdk 1.1 AWT,控件很少,不方便开发1.2SUN Jdk 1.2Swing基于AWT的绘图功能重绘的界面组件,提供了及其丰富的控制a.性能慢b.结构优秀(MVC)c.实际应用很少1.3 IBM提供了SWTa.采用了本地的C代码完成控件绘制,性能很好b.实际应用

2016-05-15 22:43:32 300

原创 java学习笔记(十八)

一、Properties属性文件java.util.Properties;load()解析 *.properties-->Properties对象store()保存Properties对象-->*.propertieslist()在指定流上输出全部的属性信息getProperties(String key)获取指定属性setProperties(key,Value)修改指定

2016-05-13 17:36:40 269

原创 java学习笔记(十七)

一、程序,进程和线程程序:逻辑+数据,没有执行的指令序列和相关的数据的集合(如:qq.exe;磁盘上的可执行命令)进程:正在执行的程序,进程占有资源(CPU,Memory,IO)线程:是进程中并发运行的过程(共享进程资源)同步:步调一致的顺序执行,如上公交车,一个一个上车异步:步调不一致的同步执行,如:大家一起上卡车线程:名词->类1.Thread类中包含一个方法run

2016-05-12 19:27:30 314

原创 java学习笔记(十六)

一、InputStream(字节输入流)和OutputStream(字节输出流)1.打开一个文本文件InputStream is=new FileInputStream("gbk.txt");Reader in=new InputStreamReader(is);2.打开一个文本文件Reader in=new InputStreamReader(new FileInputStr

2016-05-11 20:13:50 290

原创 java学习笔记(十五)

1.java.io.File基本的APIFile(String)long length()long lastModified()String getName()String getPath()boolean exists()boolean dir.isFile()boolean dir.isDirectory()boolean mkdir()//创建一个目录

2016-05-08 19:55:25 540

原创 java学习笔记(十四)

一、散列表1.容量:散列表中的散列数组大小2.散列运算:key->散列值的算法3.散列桶:散列值相同的元素的“线性集合”4.加载因子:就是散列数组加载率,就是元素数量/散列数组大小5.散列查找:根据key计算散列值,找到散列桶,在散列桶中顺序比较key,如果一样就返回value6.散列表中key不同,value可以重复例子: User u1=new User(1,

2016-05-06 23:26:25 1956

upx脱壳机--用于upx类脱壳

用于脱upx类壳,简单的脱壳工具,在Windows环境下可以使用

2019-02-05

IP数据报的抓取与分析

在VC6.0环境下建立MFC工程,使用Winpcap进行抓包,并分析,文档中有详细解释

2015-04-14

空空如也

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

TA关注的人

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