自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第八章 协议逆向分析的应用

8.1 概述自动化的协议逆向方法提高了获得未知协议规范的准确率和效率。在实际工作中获得协议规范不是逆向分析的最终目的,而是进行下一步工作的基础。协议逆向技术广泛应用于无线网络对抗、恶意软件分析、软件安全漏洞挖掘、协议重用、网络管理等领域。大多数情况下,这些应用利用协议逆向分析得到的协议规范(协议格式和协议状态机)作为系统设计、实现的基本依据,而没有与逆向分析系统进行有机结合。理想情...

2019-10-11 20:38:33 1284 1

原创 第六章 网络安全检测与分析

6.1 引言对态势的理解是人们组合、分析、解读和保留信息的过程。在态势提取的基础上,我们可以采取一系列方法和技术来对安全态势进行进一步的理解和处理,这其中包括安全检测和分析、态势指标构建和态势评估等。6.2 入侵检测入侵检测是最近十余年发展起来的一种动态监控、预防或抵御系统入侵行为的安全机制。所谓入侵检测是指对入侵行为的发觉,它通过从计算机网络或系统中的若干关键点收集信息,并对这些信息...

2019-10-04 22:05:15 722

原创 第三章 决策树

3.1 决策树的构造优点:计算复杂度不高 ,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点:可能会产生过度匹配问题。适用数据类型:数值型和标称型。在构造决策树时,我们需要解决的第一个问题是,当前数据集上哪个特征在划分数据分类时起决定性作用。为了找到决定性的特征,划分出最好的结果,我们必须评估每个特征。完成测试之后,原始数据集就被划分为几个数据子集。这些数据子集...

2019-10-03 12:36:18 208

原创 第五章 网络安全数据预处理

5.1 引言现实世界数据是“肮脏的”,主要体现在数据不完整、含有噪声、不一致、重复、高维度等方面;5.2 数据预处理的主要内容5.2.1 数据审核准确性审核适用性审核及时性审核一致性审核5.2.2 数据筛选5.2.3 数据排序5.3 数据预处理办法网络安全数据的预处理至少包括三个过程:一是数据清洗;二是数据融合;三是数据关联。我们常常用完整性、一致性...

2019-10-02 22:36:26 1162

原创 第一章 机器学习基础

首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法后,需要进一步确定目标变量类型,如果目标变量是离散值,如是/否,则可以选择分类算法;如果目标变量时连续性数值,如0.0-100.00,需要选择回归算法;如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。这是唯一的需求,则...

2019-09-29 21:22:40 75

原创 第四章 网络安全数据采集

4.2 指定数据采集计划定义威胁量化风险识别数据源提炼有价值数据4.3 主动式采集4.3.1 通过SNMP采集数据4.3.2 通过telnet采集数据4.3.3 通过ssh采集数据4.3.4 通过wmi采集数据4.3.5 通过多种文件传输协议采集数据4.3.6 利用jdbc/odbc采集数据库信息4.3.7 通过代理和插件采集数据代理:运行在传感...

2019-09-29 12:20:32 850

原创 第三章 网络安全数据范围

3.2 完整数据内容1、wireshark有三个数据包显示窗口:数据包列表数据包结构原始数据包2、进行数据包分析时,常用到以下三种技术:包过滤模式匹配协议字段分析3.3 提取内容数据包字符串数据3.4 会话数据会话数据是两个网络设备之间通信行为的汇总,也称流数据,会话数据最常见的是标准五元组数据:源ip地址、源端口、目的ip地址、目的端口、传输协...

2019-09-28 22:53:21 236

原创 第一章 开启网络安全态势感知的旅程

1.1 引言网络安全态势感知本质上就是获取并理解大量网络安全数据,判断当前整体安全状态并预测短期未来趋势。总体而言,分为三个阶段:态势提取、态势理解和态势预测。1.2 网络安全监视1.2.1 计算机网络1.2.2 恶意代码计算机由硬件和软件两部分组成,前者决定了它的“体力”,后者决定了它的“智力”。软件不过是指令和数据的集合,表现形式是代码。1、病毒能够自我复制的程序...

2019-09-27 15:33:13 561 1

原创 第二章 大数据平台和技术

2.1 引言1、大数据处理需求主要集中在如下几点:如何收集类型如此繁多的数据?如何存储体量如此巨大的数据?如何在大数据中找出有价值的信息?如何保证大数据的分析速度以及有效展示大数据的分析结果?2.2 大数据基础2.2.1 大数据的定义和提点所谓大数据就是现有的一般技术难以管理的大量数据的集合。4V特性:volume(大量)、velocity(高速)、variet...

2019-09-27 09:37:19 553

原创 第三章 协议规范描述

3.1 概述1、协议形式化描述技术(1)能够提供严格的语法和语义定义,可以更准确、简明地描述协议的特征,为协议开发提供坚实基础;(2)使用逻辑的方法不但能够提供无二义性的描述,而且能够对描述进行形式分析,提高协议设计的可靠性和鲁棒性;(3)协议的研究开发独立于非形式的自然语言文本和最终实现代码,避免了协议验证测试的复杂性;(4)支持协议工程活动的各个环节的实现和自动化,特别是协...

2019-09-25 17:20:28 571

原创 第二章 协议设计原理

协议设计问题:这些协议如何设计出来?它们采用了哪些技术和方法来实现协议功能?了解协议设计原理对于已知协议分析和未知协议逆向分析都具有重要作用。2.1 协议模型(1)对于复杂协议,一般采用分层的方法进行设计。(2)一个(n)实体向上一层所提供的服务由以下三部分构成:1)(n)实体自己提供的某些功能;2)从(n-1)层及其以下各层以及本地系统环境得到的服务;3)通过与处在另一系...

2019-09-22 17:45:59 676

原创 第一章 绪论

1.1 协议1.1.1 定义(1)网络协议:为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议。(2)网络协议三要素:语法:数据报文中的控制信息和各种控制报文的结构、格式,也即规定了报文的长度,报文中划分多少个域,每个域的名称、意义、数据类型、长度等。语义:协议数据报文中的控制信息和控制报文所约定的含义,即需要发出何种控制信息,完成何种动作以及做出何种响应。同...

2019-09-21 21:17:08 136

原创 测试架构师修炼之道 第二部分

1、测试活动可以概括为测试需求分析、测试分析和设计、测试执行和测试质量评估。2、产品测试不应该该是产品研发末端的活动,而应该改是端到端的,在产品研发的开始阶段,测试就需要投入。和“好的产品是设计出来的”一样,测试分析不仅能够帮助测试更好地认识产品,准备测试,还能反过来帮助开发确认需求,确认产品的非功能属性(如性能、可靠性、易用性等)方面的设计。测试的意义,不仅在于测试发现bug,为产品发布提供...

2019-08-06 18:54:04 433

原创 java面试---java基础+容器

1、jdk和jre有什么区别?jdk java开发工具jre java运行环境jdk包含jre、java编译工具javac及java程序调试及分析工具。2、==和equals()区别==是引用比较equals是值比较3、两个对象hashcode值相同,equals()不一定为true4、final在java中有什么作用?类:不能继承方法:不能修改变量:不能...

2019-07-31 22:59:50 78

原创 测试架构师修炼之道 第一部分

1、软件测试发展简史(1)1975年 证明软件是正确的(2)1979年 测试是为了发现问题而执行的活动(3)1983年 测试是评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量(4)2002年 测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期问题。2、软件测试工程师需求功能、性能、可靠性、易用性、可操作性、可...

2019-06-18 09:32:03 801

原创 力扣62 不同路径

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?思路:动态规划输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向...

2019-05-19 20:44:59 243

原创 力扣70--爬楼梯

假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶思路:可看做是一个动态规划问题也可看成是一个斐波那契数列问题class Solution { public ...

2019-05-17 20:18:28 332

原创 力扣53 最大自序和

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。动态规划方程:dp[i]=max(dp[i-1]+nums[i],nums[i])思路一:O(n)class Solution { ...

2019-05-17 19:56:33 425

原创 力扣3 无重复字符的最长子序列

方法一 暴力法遍历,用set遍历是否有相同字符class Solution { public int lengthOfLongestSubstring(String s) { int n=s.length(); int ans=0; for(int i=0;i<n;i++) { for(...

2019-05-16 19:31:32 188

原创 力扣2 两数相加

给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。class Solution { public ListNode addTwoNumbers(ListNode l1, ...

2019-05-16 10:03:26 285

原创 数据库系统实现--第一章 DBMS系统概述

1.1 数据库系统的发展数据库就是信息的集合,它可以存在很长时间特点:数据定义语言数据库查询语言支持对非常大量的数据长期存储数据存储具有持久性独立性 原子性1.2 数据库管理系统概述1、数据定义语言2、查询处理概述 查询响应 事物处理 包含并发控制管理器或调度器(保证原子性和独立性) 日志和恢复管理器(持久性)3、主存...

2019-05-14 20:24:50 191

原创 evaluate-reverse-polish-notation

思路:栈实现判断当前元素是否是加减乘除,是的话弹出下两个元素,进行运算不是则压入栈import java.util.*;public class Solution{ public static int evalRPN(String[] tokens) { if (tokens == null || tokens.length == 0) ...

2019-05-14 11:44:25 144

原创 二叉树最小深度

1、递归版public class Solution { public int run(TreeNode root) { if(root==null){ return 0; } if(root.left==null&&root.right==null){ return 1;...

2019-05-13 22:26:08 64

原创 31、连续子数组最大和(动态规划)

max=Math.max(max+array[i], array[i]); res=Math.max(max, res);public class Solution { public int FindGreatestSumOfSubArray(int[] array) { int res = array[0]; /...

2019-05-13 10:58:23 540

原创 40、数组中只出现一次的数字(异或)

思路:依次对数组中每一个数字做异或运算,得到结果后,看倒数第几位为1根据倒数第几位为1,将数组分为两组,分别对两个数组异或public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { if(array==null) ...

2019-05-13 10:58:17 202

原创 28、字符串的排列(全排列)

思路:把第一个字符和后面所有字符交换固定第一个字符,求后面所有字符排列import java.util.*;public class Solution { public ArrayList<String> Permutation(String str) { ArrayList<String> result=new ArrayList&l...

2019-05-13 10:57:49 172

原创 38、数字在排序数组中出现的次数

思路:二分查找,中间值比要查找数值大,左部分查找中间值比要查找数组小,有部分查找中间值等于要查找的数,左部分查找第一次出现,右部分查找最后一次出现import java.util.*;public class Solution { public int GetNumberOfK(int [] array , int k) { int ...

2019-05-12 13:43:19 73

原创 34、第一次只出现一次的字符 hashmap

思路:hashmapcharacter存字符,integer存次数hash.get(str.charAt(i))==1import java.util.*;public class Solution { public int FirstNotRepeatingChar(String str) { if(str==null||str.length()==0...

2019-05-12 12:04:29 88

原创 64、滑动窗口最大值

思路:数组长度a.length,滑动窗口size,最大值数组长度a.length-size+1数组从头开始遍历,当前窗口最后一个值current=size+i令min=j,从j到current遍历,找到最小值import java.util.*;public class Solution { public ArrayList<Integer> maxInWi...

2019-05-12 11:48:01 162

原创 44、翻转单词顺序

思路1:二次翻转思路2:栈思路3:以空格切割单词存public class Solution { public String ReverseSentence(String str) { String a=""; if(a.equals(str.trim())) return str; String[] s...

2019-05-12 11:29:53 516

原创 20、包含min函数的栈

思路:两个栈,栈1压入元素,栈2存当前最小元素,栈2为空时,压入当前元素,栈2不空时,比较栈2栈顶元素和压入元素大小,压入元素小,则把压入元素压入到栈2中,否则不压入。import java.util.Stack;public class Solution { Stack<Integer> stack1=new Stack<>(); St...

2019-05-12 11:04:52 68

原创 7、斐波那契数列

思路:fibn=fibone+fibtwo; fibone=fibtwo; fibtwo=fibn;public class Solution { public int Fibonacci(int n) { int fibone=0; int fibtwo=1; int fibn=0;...

2019-05-12 10:39:09 151

原创 026-二叉搜索树与双向链表

思路:中序遍历双向链表连接public class Solution { private TreeNode head=null; private TreeNode tail=null; public TreeNode Convert(TreeNode pRootOfTree) { visit(pRootOfTree); ret...

2019-05-12 10:24:11 77

原创 18 二叉树的镜像

思路:根节点不空时,左孩子右孩子交换左孩子不空,递归调用左子树右孩子不空,递归调用右子树public class Solution { public void Mirror(TreeNode root) { TreeNode temp=null; if(root!=null) { temp=root.left;...

2019-05-12 10:24:05 74

原创 17、树的子结构

思路:先判断根节点值是否相等,再判断左右节点值是否相等递归public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { boolean result=false; if(root1!=null && root2!=null...

2019-05-12 10:23:59 73

原创 56、删除链表中重复结点

避免删除头结点public class Solution { public ListNode deleteDuplication(ListNode pHead) { if(pHead==null) return null; ListNode first=new ListNode(-1); first.ne...

2019-05-12 10:23:35 68

原创 55、链表入环节点

思路:快慢指针,快指针一次两步,慢指针一次一步相遇时,慢指针不变,快指针指向头部再次遍历,各一步,相遇时则是入环节点public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { ListNode fast=pHead; ListNode slow...

2019-05-12 10:23:28 546

原创 36、两个链表第一个公共节点

https://blog.csdn.net/lupa1521/article/details/90114428

2019-05-11 22:16:11 70

原创 16、合并两个排序链表

思路:一个链表为空,返回另一个链表新建链表头结点比较两个链表元素,较小值放在新链表前面,递归调用public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null) return list2; if...

2019-05-11 22:01:02 82

原创 15、反转链表

四句话ListNode L=head.next;//保存当前头节点下一个节点 head.next=pre;//将当前头节点下一个节点指向上一个节点 pre=head;//将当前节点设为上一个节点 head=L;//将保存的节点设为头节点 public class Solution { ...

2019-05-11 21:49:13 135

空空如也

空空如也

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

TA关注的人

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