自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 彻底卸载Visual Studio的工具

该可执行文件旨在清理Visual Studio 2013、Visual Studio 2015和Visual Studio vNext的所有预览版/RC/RTM版本。在重新映像机器之前,应将其作为清理用户系统的最后手段。

2023-07-15 14:26:18 2669

原创 Ubuntu18.04 SoftRoCE安装教程

目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。

2023-07-08 09:42:25 540

原创 新装Ubuntu虚拟机环境--基本配置流程

帮助回忆 搭建Ubuntu基本环境

2023-07-07 10:10:35 209

原创 Article Reading

基于指定安全硬件和ECDH算法的车联网安全密钥导出函数(Key derivation function)一次性密钥(one-time pad):这种适合见面的时候传递密钥,想在网络上安全的传递是不现实的。但是安全性还是极强的,用完即废,对其它密文的破解毫无意义!ECDH密钥交换:ECDH = ECC+DH。ECC算法和DH结合使用,用于密钥磋商,这个密钥交换算法称为ECDH。交换双方可以在不共享任何秘密的情况下协商出一个密钥。密钥磋商过程:假设密钥交换双方为Alice、Bob,其有共享曲线

2021-11-26 17:16:10 2904

原创 【用二进制方法枚举数组所有的子集】

上周,在力扣周赛上第一题就卡了一会儿,要求列出所有子集(包括空集),对每个子集进行异或操作,再把异或和加起来得结果。用笨办法搞了半天也算是过了,回头看人家大佬两分钟搞定,觉得事情并不简单,果然是有模板可用的。模板–二进制枚举子集先贴上代码:class Solution {public: int subsetXORSum(vector<int>& nums) { //子集一共有2^n个组合==1<<n int n = nums.

2021-05-18 09:53:18 262

原创 Joy:监控加密的网络流量

获取Joygit clone https://github.com/cisco/joy./configmake$ sudo apt-get install build-essential libssl-dev libpcap-dev libcurl4-openssl-dev$ sudo apt-get install python-dev python-numpy python-setuptools python-scipy$ sudo easy_install -U scikit-le

2021-04-27 16:41:38 1303 2

原创 写算法时(C++)的useful skills(不定期更)

1. 求数组的和:S_sum = accumulate(x.begin(), x.end(), 0);//三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。2. 求数组中最大(小)的元素值以及最大(小)值所在位置:max_value = *max_element(x.begin(), x.end());min_value = *min_element(x.begin(), x.end());//可以自己指定范围int x[5] = {4,8,3,2,1};max_valu

2021-04-26 09:47:08 157

转载 n&(1<<i)【转载】

1<<i 是将1左移了 i 位,即第 i 位为1,其余位为0;例如1<<2 则0001->0100n&(1<<i)是将左移i位的1与n进行按位与,即为保留n的第i位,其余位置零意思大概就是:如果n第 i 位为0,则n&(1<<i)的值为0否则n&(1<<i)不为0常用if(n&(1<<i)==0)来判断n的第i位是否为0————————————————版权声明:本文为CSDN博主「f

2021-03-22 09:45:23 404

原创 【LeetCode每日一题】1047. 删除字符串中的所有相邻重复项

题目描述:给一个字符串S,把重复的删掉,直到没办法删举个栗子:输入:“abbaca”输出:“ca”解释:把bb删掉以后,就有了aa,把aa又删掉,还剩ca然后我考虑了另外一种情况,不知道bbb会不会删掉结果是这样的:输入:“abbbaca”输出:“abaca”解法:本菜鸡不知道string里还自带那么多功能,可以从这里查到string参考页;本题用到的有back; pop_back; push_back;意思在这:stk.back(访问最后的字符)stk.pop_back(移除

2021-03-09 10:05:11 170

原创 【LeetCode每日一题】832.翻转图像

832.翻转图像:对矩阵A的每行进行逆序翻转之后,把A的0和1进行翻转示例:输入: [[1,1,0],[1,0,1],[0,0,0]]输出: [[1,0,0],[0,1,0],[1,1,1]]解释: 首先翻转每一行: [[0,1,1],[1,0,1],[0,0,0]];然后反转图片: [[1,0,0],[0,1,0],[1,1,1]]思路:为了省时间,对A的每一行,做一个类似指针的东西,最左边的left和最右边的right,从两头开始往中间走,交换两头的元素就可以实现逆转了,交换完了之后进行

2021-02-24 09:47:39 123

原创 【LeetCode】633.平方数之和

633.平方数之和:找出是否存在a,b,使得a2+b2=c,c是给定的这个题是1.两数之和的升级版,找出nums数组中是否有两个数之和等于给定的目标值—target脑子一热,觉得可以拿两数之和的代码魔改一下,提交了3次才过,要么超时,要么解答错了,贴代码:class Solution: def judgeSquareSum(self, c: int) -> bool: nums = range(0, ceil(sqrt(c))+1) #一个小优化,小于根号C的作为要寻

2021-02-20 10:30:54 141

原创 【LeetCode双指针】142.环形链表Ⅱ

142.环形链表Ⅱ还有一个141.环形链表Ⅰ,判断链表中是否有环从这道题中学到了快慢指针,用龟兔来比喻的话,就是????走一步,????跳两步,当????和????相遇了,就说明有环,第一次相遇以后,兔子回到起点,改成一步一步跳,????继续往前走,他们第二次相遇的地点就是环的起点,(记住结论就可以了),证明大概意思就是????在环上剩下的距离和????从起点到环起点的距离成倍数关系,所以肯定会在环的起点第二次相遇的。# Definition for singly-linked list.# cla

2021-02-19 09:26:54 96

原创 Snort攻略笔记(四)

文章目录Snort的使用配置文件Snort的使用snort.conf文件必须熟悉(系统的中枢),最好打印下来进行标记和解释,非常好的资料snort_manual用户手册建议详细研究一下配置文件变量定义配置参数配置动态加载库(dll)预处理器配置输出模块配置定义新的动作类型规则配置和引用文件1 变量定义变量的语法:定义普通变量:var<变量名><变量值>定义端口变量:portvar<变量名><变量值>var HOME_NE

2021-02-02 11:51:40 215

原创 【LeetCode贪心算法】605.种花问题

605.种花问题今天totally是自己想出来的偏方,所以记一下题目在这里第一步处理特殊情况,先把n=0的情况排除在外,判断n=0直接返回TRUE第二步,预处理数组,我的想法是扩充数组,把头和尾各加上一个0,这样就方便后续直接扫描整个数组去进行判断,而不用再考虑头尾的情况。第三步,对扩充的数组进行扫描,扫描的位置是[1,length-1],也就是说不用扫到头和尾,判断i位置的左右是否为0以及i位置是0就ok了class Solution: def canPlaceFlowers(sel

2021-02-02 09:32:48 227 2

原创 Snort攻略笔记(三)

Snort的集成式安装前面说了,有两种安装方式,集成式的和分布式的。集成式的性能不如分布式的好,但是简单(并不简单)方便。虽然是集成式的,但是该有的还是要有,只不过找了一些替代品而已,安装Snort IDS需要的一些软件:安装Snort所需软件前面提到的三层体系结构,传感器层,服务器层,管理员控制台;都必须集成在一台电脑上。传感器层软件:snortLibpcap / WinpcapMySQLBarnyard(输出插件)服务器层软件:Apache Web服务器(可视化的PHP网页引

2021-01-21 11:58:28 256

原创 鹅肠和IBM平台切换

Step1:cd /etc/config/system把这里改成要切换的平台IP地址就行了Step2:/etc/init.d/log restart

2021-01-20 11:40:54 93

原创 Snort攻略笔记(二)

文章目录snort部署IDS的三层体系结构snort部署两种策略:仅作为包嗅探器(Sniffer)作为完整的IDS系统(Q:我们是作为一个完整的IDS部署snort还是只把它当作一个嗅探器?)在选择操作系统上,要注意:安全性稳定性协同工作的外部应用程序IDS的三层体系结构IDS = 传感器 + 服务器 + 管理员控制台第一层:监控所经过的流量,抓包传给第二层第二层:数据传到中心数据库,运行web服务器,用户可分析查看数据第三层:管理员控制台,分布式安装的示意图:双

2021-01-19 14:54:43 184

原创 Snort攻略笔记(一)

文章目录IDS基本概念Snort基础IDS基本概念IDS内部结构:事件产生器(传感器/嗅探器);事件分析器(核心);响应单元;事件数据库;IDS检测技术两大类:1. 基于特征(规则) 2. 基于异常特征检测和异常检测的区别:特征检测的准确度高,但是容易产生漏报的情况,因为它只去匹配特征库里的攻击,对于未知的攻击,基本上是无能为力;异常检测的准确率会低一些,因为容易产生误报的情况,把一些不是入侵的也当做入侵处理了,但是它能够识别一些未知的入侵(虽然可能误报,但是宁可错杀也不愿漏杀是吧)。这两种可以理

2021-01-18 10:24:41 1095

翻译 Snort入门(二)

文章目录1.5 读取pcap文件1.5.1 命令行参数1.5.2 Example1.6 基本输出1.6.1 Timing statistics 时间统计1.6.2 Packet I/O Totals 总的流入流出包1.6.3 Protocol Statistics 协议数据包1.5 读取pcap文件可以让Snort捕获数据包之后去分析,对测试和调试snort很有帮助1.5.1 命令行参数可以一次或者多次指定以下命令,--pcap-reset and --pcap-show用一次和多次的效果是一样的

2021-01-14 10:55:21 833

翻译 Snort入门(一)

Snort用户手册1 OverViewSnort有三种模式Sniffer mode (从网络上读取数据包并显示)Packet Logger mode (将数据包记录到磁盘)NIDS mode(对网络流量进行检测和分析,最复杂且可配置的模式)简单介绍一下三种模式:1.1 Sniffer Mode使用以下代码snort -v...

2021-01-12 11:57:18 1504

原创 防火墙管理工具 — iptables

-------------------------------2020/12/15-----------------------------------------iptables由规则组成,防火墙从上往下读取规则策略,规则只有通和堵两种设置,规则会构成规则链包含以下几种规则链:PREOUTING(选择路由前处理数据包)INPUT(流入的数据包)重点对象OUTPUT(流出的数据包)FORWARD(转发的数据包)POSTOUTING(选择路由后处理数据包)四种动作:ACCEPTREJ

2020-12-15 17:41:38 146

原创 编码风格(C)学习--the practice of prigramming

文章目录风格1. 取个好名字吧2.表达式和语句风格目的:使代码易读1. 取个好名字吧简练的,容易记忆的,最好是能拼读的,含有来自上下文和作用域的意义全局变量使用具有说明性的名字,局部变量使用短名字例如:给全局变量备注一个简短的注释:int npending = 0; //curren length of input queue常规的一些短名字:i,j 作为循环变量p,q 作为指针s,t 表示字符串函数采用动作性的名字now = date.getTime();putcahr(

2020-12-02 11:50:54 104

原创 Linux自由学习(六)

文章目录《鸟哥》Shell Scriptsshell scripts的debug《鸟哥》Shell Scriptsnetstat查询到目前主机有开启的网络服务端口 (service ports)几个常见的Port:80:WWW721:ftp25:mail111:RPC(远程程序呼叫)631:CUPS(打印服务功能)shell scripts的debugsh -n sh16.sh :不运行,只检查语法问题sh -v sh16.sh :运行前,把scripts内容输出sh -x

2020-11-19 16:19:15 99

原创 Linux自由学习(五)

文章目录《鸟哥》正则表达式awk--数据处理工具文件比对工具显示文件页码《鸟哥》正则表达式awk–数据处理工具适合处理小型数据取出第1列和第3列的数据:每一行的每个栏位都是有变量名称的, $1, $2… 等变量名称,注意,$0 代表『一整列数据』awk 主要是处理『每一行的栏位内的数据』,默认的『栏位的分隔符号为 “空白键” 或 “[tab]键” 』awk的内建变量:NF 每一行 ($0) 拥有的栏位总数NR 目前 awk 所处理的是『第几行』数据FS 目前的分隔字节,默认是空白键

2020-11-18 11:22:39 79

原创 Linux自由学习(四)

文章目录《鸟哥》管道命令《鸟哥》管道命令grep:分析一行数据依次是:获取last中包含reboot的行;获取不包含reboot的行;获取不包含reboot的行的用户名梨子:获取/etc/passwd里面包含elyer的那几行:...

2020-11-17 10:45:58 256

原创 Linux自由学习(三)

《鸟哥》Shell and Shell scripts(BASH)命令别名和历史命令alias,unalias举个栗子:一页一页查看很长的文档原来是要输这样的命令才行ls -al | more,现在只需要alias lm='ls -al | more';再来个栗子:rm可能误删文档,可以设置成-i选项询问你是否删除:alias rm='rm -i'想看一下自己设置了哪些别名,alias一下就好啦:对了,之前的vi和vim还是不一样的额,那就把它设置成一样的吧:alias vi='vim'

2020-11-16 09:52:47 169

原创 Linux自由学习(二)

《鸟哥》Shell and Shell scriptsVim编辑器Vim是一个强大的程序开发工具

2020-11-12 17:49:02 151

原创 Linux自由学习(一)

配置网卡信息为了防止要改回去,记录一下改的过程Ubuntu的网卡配置文件在/etc/network/interfaces打开是这个鸭子的:现在的网络配置情况是这样的:然后我们要配置IP地址,子网,网关等都是自己指定的:配置完能用的大概就是上面这个样子,现在有个问题,sudo su好像进不去root了,不晓得哦该di,重启网卡设备(注意:不同Linux版本用的命令不一样)配置完是这样的:来ping 一下网络通不通:好像是没有什么问题了。。...

2020-11-11 15:51:05 141

原创 Linux环境学习(Day6)

任务的最后一天了T-T学习任务5: LPI-5 编译源代码和管理软件包Part2 从源代码编译到应用程序假设你拿到一个应用程序想安在系统上,但是没有最新版本的打包格式,只有源代码,这时候就需要从源代码来编译了.下载首先下载源代码,可能是.tar.gz、tar.Z、tar.bz2 或 .tgz这种压缩包,安装的程序可能依赖别的程序,先确保其他都安装好了再进行安装。解压以 .tar.gz、.tar.Z 或 .tgz 结尾:tar xzvf archivename.tar.gz 对xzvf的解释(

2020-11-10 09:52:42 148

原创 Linux环境学习(Day5)

学习任务4:LPI-4 高级管理Part1 Linux文件系统新建分区什么的一直出问题,文件系统也装不好,有时间再回来弄吧,乌鱼Part2 引导系统介绍Linux的启动过程,如何在引导时设置内核选项以及如何检查引导日志中的错误MBR计算机启动的时候,BIOS读取硬盘前几个扇区,包含一个非常小的程序叫“主启动记录”或者MBR,它将内核加载到内存中并启动它。内核开始运行之后,打印的第一行:Linux version 2.4.16 ([email protected]) (gcc v

2020-11-09 10:47:41 391

原创 Linux环境学习(Day4)

学习任务3:LPI-3 中级管理Part2 Linux权限模型Linux中每个文件都是由一个用户和一组用户拥有,这是权限模型的核心!上面例子中,/bin/bash/由root拥有,在root组中。Linux权限模型的工作原理是,允许为每个文件系统对象设置三个独立的权限级别-文件所有者,文件组和所有其他用户。字段-rwxr中的-指定文件类型,现在这个意思是常规文件,还有其它情况是:'d' directory'l' symbolic link'c' character special devic

2020-11-06 09:31:01 339

原创 Linux环境学习(Day3)

学习任务2:LPI-2Part3 过程控制启动xeyesCtrl+C会杀死进程,Ctrl+Z会暂时停止进程如果想继续运行,输入fg或者bg都能再次运行:如果你想一开始就在背后运行,可以不用停止之后用bg,还有更方便的办法:直接在命令行后面加一个&多个后台进程列出所有存在的进程jobs -l最左边的是job编号,作业2有个+表示是当前作业,还可以指定任务编号变成前台作业,fg 1会将红色xeyes变为前台任务,下一列是进程ID,或pid包含在列表中的介绍一下信号为了终止,

2020-11-05 14:34:04 151

原创 Linux环境学习(Day2)

啊啊啊啊啊啊啊刚刚开题答辩完了,可以飞一会儿了,舒舒呼呼^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^加油!打工人!喝杯咖啡继续搬砖……

2020-11-04 15:45:30 163

原创 Linux环境学习(Day1)

软件工具:VBOX,Ubuntu学习任务1:LPIC-1常见命令汇总表命令功能cd/进入根目录cd…回到上级目录pwd当前位置Part1 about bash$这个符号在Linux系统中非常常见,它可能包含系统的主机名、当前的工作目录名,或者两者都有。但是不管这个特殊的提示符看起来像什么,有一件事是肯定的。打印出这个提示符的程序叫shell,极有可能您的特殊的 shell 是一个叫 bash 的程序。查看自己是否在运行bash$ echo $SHELL

2020-11-03 14:57:28 623 6

原创 cos和sin的使用

习题1-4 正弦和余弦(sin和cos)输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数。 分析:这道题很水但是有坑啊!我就直接调用两个函数,然后输入30,发现结果有负数而且sin30°不是0.5。这我还纳闷了好久,测试45°,两者也不相等。。。于是百度了sin、cos的用法。发现函数调用的时候计算的是弧度,而不是角度。。。所以要把角度转化为弧度再计算。公式:弧度=角度*

2017-07-06 18:37:14 3659

原创 C++精度控制

例题1-1 圆柱体的表面积 输入底面半径r和高h,输出圆柱体的表面积,保留3位小数,格式见样例。 样例输入: 3.5 9 样例输出: Area = 274.889分析:很简单的一道题,利用数学公式就可以求出来。但是我是用C++写的,所以要考虑一下怎么控制C++的精度输出,这个我还真不知道,特意去百度了一下,懂了一些皮毛。精度控制 1. 如果使用了控制符,在程序单位的开头除了要加iost

2017-07-02 10:07:34 1472

网络通信课程设计多人聊天室

大学生的网络通信程序设计,可以用VC++6.0运行没问题,有客户端和服务端可以实现通信,多人聊天室

2019-01-01

ASP.NET购物网站实现

基于ASP.NET的售卖笔记本电脑购物网站设计作业。用的语言是C#

2018-11-25

空空如也

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

TA关注的人

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