- 博客(23)
- 收藏
- 关注
原创 ubuntu安装klee教程
ubuntu16.04安装klee(基于llvm 3.8)教程前言查阅了很多资料,踩了不少的坑,总的来说,这个应该是比较完善的基于llvm3.8和ubuntu16.04的安装教程,至少我自己按照这个没有问题,而且可能遇到的坑也写在了这里。如果你有什么疑问,欢迎评论。进入klee官网http://klee.github.io/选择Documentation 的BuildingKLEE(L...
2019-01-22 21:43:09 1828 4
原创 tcp流控制原理
tcp的流控制流控制,又叫做流量控制。接收端在接收发送端发送的数据包的时候,如果是高负荷情况下就无法继续接收数据,只能丢弃,丢弃后发送端超时重传,又加重了阻塞。所以,用TCP提供了流量控制机制。 接收端向发送端通知它可以接收数据的大小。于是发送端就会发送不抄过这个限度的数据,这个数据叫做窗口大小。TCP中有一个字段表示窗口大小。接收机将自己可以接受的缓冲区大小填入该字段发送给发送端,这个字段的值越高,就表明该主机吞吐量越大。发送过程中,只要该缓冲区被突破,窗口大小的值会被设置为更小的值再发送给发送端
2020-09-13 16:57:35 903
原创 aspectc++初级用法
AspectC++用法详细教程见http://www.aspectc.org/doc/ac-languageref.xhtml实例example文件里, 有一个随机事件发生程序——SimpleEventLoop,aspectC++最适合的是插装事件日志编译和使用见AutoMonitor/lib/aspectC++/examples/ 里面编写的示例, acc的文件后缀名为.ah,本质是一种特殊的C++头文件。ac++是编译AspectC++程序的编译器。实现将AspectC++代码转化为C
2020-09-07 12:14:21 2044 2
原创 关于tcp和udp的小结
网络的概述网络的核心是分开的终端的应用程序之间通过信息的交流来完成功能。围绕着这些信息,如何使得这些信息能够准确地传递到某个终端的应用程序中,并且使得该应用程序能够准确读出这些信息的内容。所以有了这些各式各样的协议。其中tcp是传输控制协议,而udp是用户数据报协议。当前互联网是以TCP/IP协议族为基础构建的,TCP/IP协议是一系列网络协议的总称,可以划分为四层:链路层、网络层、传输层和应用层。链路层主要负责封装和解封装IP报文。网络层通过各终端连接起来的各类网络的路径,将IP报文发送给目标
2020-09-07 12:04:46 215
原创 当你在内测IDS发现识别不出的流量的时候
1、曾经在测试IDS的时候,有一次发现IDS死活识别不出总交换机上的镜像流量。于是大家齐上阵,查看测试网络的IDS本地日志。查看linux 的coredump看是否有错误。发现没有错误后, 继续排查,重新建立了一个测试网络,还是出现镜像流量识别不出来的问题。排查了1下午,最后灵光一闪,是不是后端那里出了问题,终于排查后端代码的时候,发现实习生将防火墙的设置给改了,无论如何后端都只对特定IP打开而对其他IP屏蔽,所以流量根本无法被发送到IDS上。2、第二个问题是,IDS中的分析匿名流量用到了机器学习算法,但
2020-09-06 17:42:27 283
原创 suricata的模块和插槽
参考资料suricata官方文档https://suricata.readthedocs.io/en/latest/performance/runmodes.html#different-runmodessuricata的源代码https://blog.csdn.net/shenwansangz/article/details/37900875?utm_medium=distribute.pc_relevant.none-task-blog-utm_term-3&spm=1001.2101.30
2020-09-06 17:24:33 478
原创 阅读论文Formal verification of smart contracts based on users and blockchain behaviors models
1 题目(Formal verification of smart contracts based on users and blockchain behaviors models)1.1 作者、出处、年份、发表期刊/会议Tesnim Abdellatify, Kei-Leo Brousmiche∗∗IRT SystemX, Paris-Saclay, France, Email: kei-leo.brousmiche@irt-systemx.fryEDF R&D, Paris-Saclay
2020-09-05 23:15:05 720
原创 用C++生成solidity语言描述的buchi自动机的初级经验
我的项目rvtool(https://github.com/Zeraka/rvtool)中增加了生成solidity语言格式的监控器的模块。solidity特殊之处在于,它是运行在以太坊虚拟机环境中的。EVM和环境是隔离的,因此无法直接读取文件。所以rvtool中通过读取LTL文本生成监控器的方式无法直接照搬到solidity上面。rvtool中建立了表达自动机监控器的数据结构,对该数据结构的赋值是通过几个循环结构完成的。而这个部分无法在solidity代码中表达。将LTL转化为buchi自动机的算法
2020-09-05 22:59:04 454
原创 g++编译器declaration of xxx shadows a parameter 的解决办法
在编译的时候C++编译器报错“declaration of ‘std::ofstream ofile’ shadows a parameter”,检查后发现是形参名和函数内声明的变量重名了。funcA(string& str){ string str;}类似以上这样的错误。该报错的意思为"xxx形参在函数种又被声明了"。...
2020-09-05 22:34:13 8583
原创 ubuntu修改软件源的两个方法
最快方法——替换法刚安装好的ubutun,打开source.list后,用vim替换的方法将所有的us提付出替换为cn,然后保存退出,更新即可。# vim /etc/apt/source.list# 在vim的界面输入 %s/us/cn/g,保存退出# apt-get update%s/us/cn/g, g是全局的意思。%s是替换。修改软件源为本地镜像源把 /etc/apt/source.list中的内容替换为阿里云的源。deb http://mirrors.aliyun.com/ubu
2020-09-04 09:00:10 508
原创 解决multiple definition ofxxx
解决multiple definition ofxxx遇到了一次multiple definition of xxx错误,最后发现问题是包含xxx函数的头文件yyy.h中完整地实现了该xxx函数。而头文件起到的是预编译的作用。之前我的程序编译的时候之所以没有报错是因为只有zzz.h中包含了yyy.h,只有一个文件调用该头文件。直到另一个文件调用该函数,又预编译了一次,导致了multiple definition的问题。 解决办法是只在头文件中声明函数,而在c文件中实现该函数。分离完成之后,在make
2020-09-03 11:32:11 403 1
原创 C++的append函数用法
C++的append函数用法append是向string对象的尾部添加字符串或者字符。1.添加C字符串string A = "abc";const char* B = "qwe";A.append(d);//得到abcqwe2.添加C字符串的一部分string A = "abc";const char* B = "qwe";A.append(B,2);//添加qwe的前两个,qw3.添加string类型同上,直接添加即可。4.添加string类型的一部分string A = "
2020-09-03 00:09:13 2073 1
原创 初步理解进程和线程
参考连接该链接的例子举得很好https://www.cnblogs.com/zhangAlin/p/12460358.html。线程一个进程就相当于一个烤筒,不同进程之间互不干涉,各自具有独立的虚拟地址空间。确保其他进程无法访问该进程的内存。程序必须装进内存才能运行,装进内存的程序就是进程。多个进程在操作系统的调度之下,并发执行。有了进程为什么还要有线程?有两点,1是进程是整个程序,这个程序很大的话,如果仍然线性执行,那么就会很慢。尤其是线性执行过程中出现了阻塞,比如等待输入,那就会直接导致
2020-09-01 11:18:24 106
原创 code block配置汇总
CodeBlocks最全官方配色方案来自 <https://blog.csdn.net/gatieme/article/details/50847758>codeblocks主题设置来自 <https://blog.csdn.net/pqleo/article/details/24296765>codeblocks 使用汇总来自 <https://blog.csdn.net/sdfgh2046/article/details/5812663...
2020-08-30 20:01:50 502
原创 ubuntu安装mingw-w64 for linux
ubuntu安装mingw-w64 for linuxgit clone https://github.com/Zeranoe/mingw-w64-buildcd mingw-w64-build在执行脚本的路径创建src和bld目录。$ mkdir src$ mkdir bld执行该脚本$ ./mingw-w64-build x86_64 # 在linux上安装适用于windows64的mingw。提示缺少 bison flex svn makeinfo执行以下指令:sudo ap
2020-08-29 18:04:40 6840 2
原创 aiohttp的使用杂记
aiohttp建立server 实现aiohttp的web server的核心关键,是实现一个个request handler, rh必须是协程, 其参数是client发送过来的request,并且返回一个Response实例。 举例如下from aiohttp import webasync def hello(request): return web.Response(text="Hello, world")app = web.Application()app.add_rou
2020-08-28 15:26:30 601
原创 golang开发环境配置以及简单使用
golang开发环境配置以及简单使用编译golang程序go build命令的使用http://c.biancheng.net/view/120.html使用go build, 将main.go和其他的go模块一起编译。由于默认了gopath,且src没有放到默认gopath里面,因此,build后得到的可执行文件会出现在编译的目录下其他各种go的指令linux下配置linux环境变量的配置核心语句是export PATH="$PATH:/usr/local/go/bin:$GOPATH
2020-08-28 15:20:42 1146
原创 the installation of redis
the installation of REDIS in ubuntu18.04We use redis 4.x to install it. first we get redis4.x from the website:https://redis.io/download Then we uncompress the file named “redis-4.0.14.tar.gz”.Be...
2019-08-03 14:43:43 126
原创 simgrid的安装总结
simgrid的安装总结Simgrid是一个开源的分布式仿真软件,其本质是提供了一列核心函数的工具包,我们可以通过调用这些接口来建立模拟运行在一个特定分布式系统上的程序。安装simgrid的方法在官网有详细的教程:https://simgrid.org/doc/3.21/intro_install.html但新手完全按照这个安装,还是有可能会出错。没办法,linux 尤其是linux c就...
2019-03-20 19:57:56 1126
原创 万物皆对象,对象皆有类——另一种方式理解Object类,Class类
面向对象是一种哲学。 1.Object类就是对象类 我们在学习Java的时候会学到超类和子类。 在众多的类中有个类非常的特殊——Object类。该类是所有的类的超类,是所有类的始祖,所有类都由其扩展而来——这是众多Java编程书籍告诉我们的。 然而,这只能让我们从专业的角度去理解。我们要用面向对象的思考方式去理解它。Object,英文就可以翻译为“对象”。Object类就是对象类。 顾名思
2016-10-26 23:55:24 2522
原创 Java基础知识学习之面向对象一
类的学习1.什么是面向过程?什么是面向对象? 面向过程专注于程序实现的细节,而面向对象专注的是能够执行行为的主体。 面向对象基于面向过程。人们在编程中发现,某些功能可以组合为一系列集合, 而我们想要使用某种功能时,直接可以访问具有该功能的集合,并且下次还可以使用 这种特性,便被称为面向对象。 1.1什么是对象? 以自然语言举例,小明坐在课桌旁,复习数学知识。–
2016-10-15 19:13:44 342
原创 java--数组的学习笔记一之基础知识
/*java–数组的学习笔记一之基础知识A.数组 1.数组如何声明? int[] a=new int[3]; int[]是一个新类型,与int是不同的类型,它是一个引用型类型,特点是,只要是该类型的type,type a的a的本质就是一个指针,而如int b的b不是指针 因此a一开始的值是null,必须先指向实体,而int[3]就是一个
2016-10-14 17:04:09 443
原创 java关于时间预定义类的学习研究
/* java关于时间预定义类的学习研究 1.Date类 2.GregorianCalendar类 */ import java.util.*;//要想使用Date类,就必须要有此句 public class AboutTime { public static void main(String[] args) { //使用Date();Date是类
2016-10-11 23:26:51 272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人