Java运行时分析工具
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
Jpsjps 可以看到运行中的java进程
123sh-4.2$ jps370 xxx.jar180682 Jps
Jcmdjcmd可以看到运行中的java进程以及参数
123sh-4.2$ jcmd370 /usr/local/xxx.jar config_path=xxx.yaml180773 sun.tools.jcmd.JCmd
Jmapjmap是可以查看整个JVM内存的工具。
jmap -heap <pid>即可查看JVM堆堆使用情况,主要有两块,一块是Heap配置,另一块是Heap使用情况。
Heap配置中包含了最小堆空余空间比例、最大比例、最大堆大小、新生代大小、老生代大小、新生代比例、老生代比例、原空间大小等等。这部分是Java进程启动的时候由JVM参数决定的
Heap Usage是堆的使用情况,包括新生代使用情况、老生代使用情况(容量、使用、未使用 ...
k8s
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
K8S安装docker12345678910111213141516sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-enginesudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-c ...
linux指令-systemctl
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
查看开机启动项1systemctl list-unit-files
会看到有两列,左侧是服务的名字,右侧是服务的状态,enabled代表开机自启
123456789UNIT FILE STATE docker-cfaf73bd979fa2fea877e7ae44193bf46318c1bc7fda16e14ffeaa8f8b397e04.scope static docker-d66a6df41c6b8f1ce687c864a580638d8000f8095f29fbef936f7abc3ff3ec69.scope static session-102.scope ...
计算机病毒揭秘与对抗
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
书评一星,书写的不好,非常牵强,代码过多,并且大多为Windows下的代码,全书主要分析的是Windows操作系统下的病毒。
2.2. 计算机病毒常见表现行为及目的2.2.1. 病毒如何爆发
欺骗用户-文件欺骗
下面两个病毒其实都是exe可执行文件,但是他们通过更改自己的图标达到了欺骗用户点击的效果。
欺骗用户-网页链接欺骗
还有些病毒则与下载网站勾结,将正常软件的下载链接绑定上病毒程序,这样用户把所需的软件下载下来后进行安装时就运行了病毒程序。
漏洞利用-网页内嵌
病毒嵌入到了网页中,只要访问网页就会运行病毒
漏洞利用-U盘病毒
U盘插入就会运行病毒
漏洞利用-感染型病毒
病毒感染了正常的程序,当这个程序运行时,病毒就运行了,但该程序可能依然正常运行。
漏洞利用-邮件病毒
打开邮件,病毒就运行了
2.2.2. 病毒长期存在、难以察觉、难以清除病毒需要被运行才能成 ...
计算机网络-法律篇
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
张三写了一个计算机病毒,上传到了Github,张三犯不犯法?
张三从黑客那里盗用了一些肉鸡去攻打其他非法网站,张三犯不犯法?
…
法律法规目前国家级别的计算机相关的法律一共有6本,分别是
《最高人民法院关于审理涉及计算机网络域名民事纠纷案件适用法律若干问题的解释》
《计算机软件保护条例》
《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》
《中华人民共和国计算机信息系统安全保护条例》
《计算机信息网络国际联网安全保护管理办法》
《中华人民共和国计算机信息网络国际联网管理暂行规定》
其中主要关注《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》即可,大部分违法的都可以查到。
先看看《刑法》中的有关信息
第二百八十五条【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪 ...
破坏之王:DDOS攻击与防范深度剖析
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
1. 笔者序这篇Blog记录了笔者对《破坏之王: DDoS攻击与防范深度剖析》的学习记录,贡献出来和大家一起学习。
为什么学这个,笔者的服务在2021年9月4日晚上遭受了惨重的DDoS攻击,攻击者使用了100多台肉鸡,对笔者对服务进行了持续的CC攻击,最终导致产生了18TB的流量,这部分费用总计高达4000元人民币,当然在腾讯工作人员的积极帮助下,对这笔费用进行了处理,笔者也不用对这些费用进行支付,所以笔者在此由衷地感谢腾讯云团队,另外也感谢笔者的大学室友,谢谢你们的帮助。
2. DDoS攻击的来源2.1. 僵尸程序与僵尸网络僵尸程序就是可以控制计算机的一些程序,这些程序不一定是恶意的。僵尸程序可以自发性的进行传播,高度可控,且自带加密。
由分布在大面积计算机上的僵尸程序组合在一起所形成的大型网络。僵尸主人可以控制整个僵尸网络。
僵尸网络的另一个特点是,控制者在发布指令后,就可以断开与 ...
跟我一起自己写编译器-6.语义分析
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
6. 语义分析6.1. 语法制导翻译语法制导翻译分为两类,一类是S型语法制导翻译,另一类是L型语法制导翻译。这里我们主要介绍S型语法制导翻译,因为他更简单,更加适用于语法树。
6.2. S型语法制导翻译当我们构建出语法书以后,其每个节点与自己的子节点的关系就是产生式的关系,对语法树进行DFS就是遍历整个语法树,很多信息可以在遍历的过程中自底向上进行逐步翻译。
6.3. 正则文法语法制导翻译这里列举一个笔者的项目compiler中一个有趣的子模块,正则子模块,
直接看代码, 这里是一个语法制导翻译片段,在产生式unit -> char下,
其中有四个参数,fa是上下问信息,rt是当前节点,sonlist是子节点数组,accessAllSon是一个子树分析的接口。
首先调用 accessAllSon.run();将子树进行翻译
当子树翻译完成以后,sonlist中会有子节点的所有信息, ...
跟我一起自己写编译器-5.10.LR语法分析
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
5.10. LR语法分析经过了前面的LL语法分析,现在我们进入到了LR语法分析,LR语法分析也是一套算法,这里主要介绍两个,一个是SLR算法,领个是LR1算法。
LR语法分析本质上为从左到右自底向上算法,从左到右一个一个读入字符,然后按照产生式进行规约,直到规约出文法开始的符号。
5.10.1. LR算法LR语法分析最重要的就是移入和规约。下面举一个例子来理解移入和规约。
12345加法:( 终结符: number, +, * 非终结符: PRODUCTION 产生式: PRODUCTION -> number | PRODUCTION + PRODUCTION | PRODUCTION * PRODUCTION | (PRODUCTION) 开始: PRODUCTION
老规矩,直接来输入1+2*3*(4+5)
首先输入1,这时候选择移入
12graph LR numb ...
跟我一起自己写编译器-5.语法分析
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
5. 语法分析5.1. 文法文法的种类有很多,正则文法,上下文无关文法,上下文有关文法。
5.1.1. 正则文法这一块内容就是我们平时所用到的正则表达式的文法,他的词是各个字符。
5.1.2. 上下文无关文法上下文无关文法涉及到4个定义
终结符: 文法的基本单元,词
非终结符: 文法的中间变量,一些词按顺序排列构成的符号
产生式: 连接非终结符和终结符的等式,产生式表明了一些终结符和非终结符如何排列可以得到新的非终结符
开始: 文法开始的非终结符,他表明了什么样的非终结符满足当前文法
例子
12345加法: 终结符: number, + 非终结符: SUM 产生式: SUM -> number + number | SUM + number 开始: SUM
上诉文法可以接受 1+2, 我们只需要把1和2视为number,即可,此时的词法单元就是1,2,+
由于高级程序设计语 ...
跟我一起自己写编译器-4.词法分析
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial
5. 词法分析词法分析,如其名,只分析词语,即token,词是一个文法的最小单元。至于什么是文法,后面会介绍,这里不需要过多忧虑。
5.1. 举个例子比如我们有一个代码,这个代码和c/c++很相似(但是这个是pava代码,读者目前可以理解为c代码),这是一个计算斐波那契数列的代码,他的词法分析结果是什么呢?
12345678int fib(int x){ if(x<2) return 1; return fib(x-1) + fib(x-2);}int main(){ int a = fib(5); return a;}
下文的代码就是词法分析结果, 词法分析器从源文件依次读取,然后分割出最小的词法单元,
最开始词法分析器读到了字符i,然后读到了字符n,然后读到了字符t,紧接着读到了空格字符 ,这时候词法分 ...