自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP三次握手中的全连接队列与半连接队列

半连接队列也称为SYN队列,在三次握手中存储了接收了SYN报文的连接数据结构是哈希表半连接队列里的连接都是不完整的,不同连接中的客户端发来ACK报文的时间是不一样的;因此,如果收到了一个客户端发来的ACK报文,如果半连接队列是队列,就需要O(n)的时间复杂度遍历;但是如果是哈希表,就仅需要O(1)的时间复杂度来遍历全连接队列也称为accept队列,在三次握手中存储了接收ACK报文,但是代码没有使用accept函数提取的连接数据结构是链表。

2024-04-09 23:32:45 763

原创 std::forward介绍

是 C++11 中引入的一个函数模板,它用于在中将参数以的方式转发给其他函数。在 C++ 中,当我们将一个参数传递给函数时,其实是将这个参数的值拷贝一份传递给函数。如果该参数是一个左值引用类型,则会将其转换为右值引用,但仍然只是拷贝了一份数据。当我们在实现一个泛型函数或类时,需要将接受到的参数再次传递给其他函数。如果我们直接将参数传递给该函数,那么参数的值会被拷贝两次,这样会导致性能上的损失。

2023-05-07 22:31:11 1222 2

原创 客户端与服务器分别TCP连接的最大数

此时,四元组中的目标IP和目标端口在当前进程下被固定了,会变化的就剩下源IP和源端口,即客户端IP和客户端端口。客户端的IP可以是符合IPV4标准的IP,因此可以连接的数量是符合条件的IP * 总端口数(65536),即。客户端需要连接服务器时,在客户端只有一个IP的情况下,四元组的源IP、目标IP和目标端口被固定,能变化的就剩下源端口。实际上,这些数字是理想的情况下,实际上是不能达到的,除非硬件水平得到巨大突破。一个唯一确定的连接要通过四元组,即源IP、源端口、目标IP和目标端口。

2023-04-26 00:15:59 500

原创 装配模式介绍

3、工具类有一个函数,该函数使用static_cast将this指针指向的内存按照使用类的形式表达,要注意,不使用dynamic_cast是因为。4、使用类需要按照自己的需求,来判断要不要实现工具类要求实现的函数,如果实现了指定的函数,那么就能调用,没有实现就调用工具类提供的函数。1、工具类就是一个配件,如果使用的类需要装配该工具类,就通过继承的方式继承填入了本类的工具类,实现虚函数的功能。2、工具类作为模板类,如果不传入使用类,无法实例化,因此必须传入使用类。2、使用装配模式能节省很多虚函数表的空间。

2023-04-12 00:05:57 207

原创 常见排序算法代码

选择排序、冒泡排序、插入排序、堆排序、希尔排序、归并排序、快速排序、桶排序、计数排序、基数排序的代码实现

2023-03-09 11:02:23 108

原创 渗透学习笔记

信息收集、渗透攻击、权限提升、内网渗透

2022-10-28 15:20:49 5411 1

原创 城市网络建设方案设计

需求分析城市网络建设方案生成程序介绍在当今时代,随着网络技术的发展,网络已经融入到人们生活的方方面面,给人们的生活带来了极大的便利,城市间的网络架设也成为了基础设施建设中的重要一环。在城市网络架设过程中,考虑到不同城市间的地理、距离等因素,存为多种成本不同的建设方案,为了方便网络建设人员在多种网络建设方案中快速找出最经济的架设方案,本网络建设方案生成程序应运而生。本程序要求系统界面友好、使用简单、能够处理网络的相关信息,生成最优架设方案、同时使得用户能方便的进行相关数据的增加、删除以及保存到文件的操作。

2022-05-10 09:53:53 772

原创 RSA加密与解密

实验目的熟悉RSA加解密算法的运行过程,加深对素数筛选和使用的理解。二、 实验步骤随机生成大素数p和q计算公开的模数r=pq计算欧拉函数(r)=(p-1)(q-1)随机选取整数e,满足gcd(e,(r))=1,若不满足则再次生成计算d,满足d*e=1mod(r)将明文x(0<x<r-1)按模为r自乘e次幂产生密文y(a² mod n=a mod n * a mod n)将密文y按模为r自乘d次幂得到明文x三、 算法实现im

2022-05-09 23:13:24 994

原创 ELGAmal加密与解密

实验目的熟悉EIGamal加解密算法的构造和运行过程,加深离散对数问题的理解。二、 实验原理读取消息M使用serializeMsg函数转化消息MserializeMsg函数的运行结果是将明文每个数字加上256后拼接在一起素数p和随机数g,x为随机选择数y使用公式y=g ^ x mod p来计算k为随机大整数,使用getPrime函数生成a为密文二元组的c1,使用公式y=g ^ k mod p来计算b为密文二元组的c1,使用公式b=mb * y ^

2022-05-09 23:12:16 1473 1

原创 TPM程序设计基础

samples中hash函数代码: public List<byte[]> hash(String plaintext) { TPM_ALG_ID hashAlgs[] = new TPM_ALG_ID[] { TPM_ALG_ID.SHA1, TPM_ALG_ID.SHA256, TPM_ALG_ID.SHA384 }; // first demonstrate non-sequence hash...

2022-05-09 21:53:33 662 2

原创 文件钩子实现

WatchData.h: /******************************************************************************* * JNotify - Allow java applications to register to File system events. * * Copyright (C) 2005 - Content Objects * * This library ...

2022-05-09 21:52:43 936

原创 键盘钩子实现

该程序先通过nhook生成dll与lib文件后,使用Hacker.cpp来安装并使用钩子。 nhook.h: #include<Windows.h> HHOOK g_hook; //安装钩子 extern "C" __declspec(dllexport) BOOL InstallHook(); //卸载钩子 extern "C" __declspec(dllexport) BOOL UninstallHook(); LRE...

2022-05-09 21:51:04 272

原创 WEB服务器配置

安装IIS: 打开IIS: 配置网站: 源目录下的网站: 打开网站:

2022-05-09 21:49:52 169

原创 渗透Desktop与Server(使用sqlmap自动注入)

准备工作: 根据README.txt文件提示修改子网地址: 使用nmap扫描192.168.8.0/24网段 得到一下几个地址: 192.168.8.1,192.168.8.2,192.168.8.3,192.168.8.4,192.168.8.60 攻击Desktop: 猜测192.168.8.60为WIN7地址 192.168.8.60开放了445端口,可以使用永恒之蓝渗透 开启metasp...

2022-05-09 21:48:27 135

原创 渗透Desktop与Server(sql手动注入)

准备工作: 根据README.txt文件提示修改子网地址: 使用nmap扫描192.168.8.0/24网段 得到一下几个地址: 192.168.8.1,192.168.8.2,192.168.8.3,192.168.8.4,192.168.8.60 攻击Desktop: 猜测192.168.8.60为WIN7地址 192.168.8.60开放了445端口,可以使用永恒之蓝渗透 开启metasp...

2022-05-09 21:47:34 356

原创 SQL Server数据库及对象的设计

实验问题描述:某学院有若干专业,每个专业有若干学生;学院每年每学期都开设有若干门课程;每门课程有多个学生选修,每个学生每学期可以同时选修多门课程,每个学生对于同一门课程可以多次选修,但每学期只能选修1次,课程选修成绩以综合成绩记录。请设计某学院简单的教学管理系统的E-R模型,要求给出每个实体、联系的属性。根据以上语义,我们可得了上图1如示的教学管理系统E-R图(属性未画出)。根据学院提供的学生选课及其他的部分数据,将上图1所示的E-R图中的部分实体和联系转换为关系,得到如下4个关系模式和相应的数

2022-05-09 21:45:03 1781

原创 多线程设计

编写10个线程,第一个线程从1加到10,第二个线程从11加到20…..第十个线程从91加到100,main函数最后再把10个线程的结果相加显示。public class AddThread extends Thread{ private int begin; private static int sum; private int temp = 0; public AddThread(int begin) { this.begin = begin; } public AddThread()

2021-11-24 22:33:46 617

原创 类的封装性、继承性和多态性设计

(1)请按照以下要求设计一个Student类,并进行测试。(程序1)要求如下:1)Student类中包含姓名、成绩两个属性。2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。3)Student类中定义一个无参的构造方法和一个接受两个参数的构造方法,两个参数分别为姓名和成绩属性赋值。4)在测试类中创建一个Student对象,一个使用无参构造方法,然后调用方法给姓名和成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。(提示:注意成员变量和成员方.

2021-11-24 22:30:10 918

原创 Java语言基础训练

写一个程序,在main方法里面定义一个数组,输出排序前的数组,将数组中的元素从小到大进行排序,输出排序后的数组。package ZUOYE;import java.util.Scanner;public class A1 { public static void QuickSort(int num[],int n){ int i,j,temp; for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++) if(nu

2021-11-24 22:24:56 493

原创 Linux进程控制编程

任务1:要求:编写一个进程创建实验程序task51.c,创建如图所示的进程族亲结构,其中p1是程序启动时由加载程序创建第一个进程。各进程的输出信息分别如下: p1:I am father process p11: 当前时间是< 年 月 日 时 分 秒> p12: I am young brother process p121:我的学号是<您的学号xxx> p122:我的姓名是<您的姓名xxx>...

2021-11-24 22:11:54 1621 2

原创 Linux进程间通信编程

任务1:要求:编写程序task71.c实现进程的管道通信。父进程创建两个子进程,父子进程通过管道来传送数据。两个子进程P1和P2分别向管道各写一句话:Child P1 is sending My name <您的姓名XXX>!Child P2 is sending the current time <当前系统时间,包括年月日时分秒>!父进程从管道中读出两个来自子进程的信息并显示。提示:获取系统时间的函数是”time_t time(time_t *t);”,将t..

2021-11-24 22:03:32 2711 1

原创 Linux网络通信编程

任务1:编译、运行、测试示例程序toggle,编译客户端程序togglec.c和服务器程序togglei.c,在一个窗口启动服务器后,在另外两个窗口启动2个客户端,一个输入姓名、学号、当前日期三行信息,另一客户端输入学校、专业和班级的英文名称。设计思想:客户端以命令行参数argv[1],argv[2]作为服务器的主机名和端口号。服务器一直重复accept函数,等待来自客户端个的连接请求。客户端:#include "wrapper.h"int main(int argc, char **arg

2021-11-24 21:59:53 1589

原创 Linux多线程编程

任务1:要求:编写程序task61.c,主线程创建3个对等线程T1、T2、T3,每个线程利用循环执行5次printf输出操作,两次循环间随机等待1-5s时间。主线程等待所有对等线程结束后终止进程。各对等线程的输出操作是:T1:输出“My name is <您的姓名xxx>” T2:输出“My student number is <您的学号xxx>” T3:输出“Current time <当前时间,包括年月日时分秒>要求:采用文件复制、文本复制或输入方式

2021-11-24 21:54:28 2522

原创 Linux I/O编程

任务1:要求:编写一个进程创建实验程序task51.c,创建如图所示的进程族亲结构,其中p1是程序启动时由加载程序创建第一个进程。各进程的输出信息分别如下: p1:I am father process p11: 当前时间是< 年 月 日 时 分 秒> p12: I am young brother process p121:我的学号是<您的学号xxx> p122:我的姓名是<您的姓名xxx>...

2021-11-24 21:49:33 336

原创 UNIX I/O函数进行文件读写编程

任务1:要求:在当前用户目录下创建数据 文件student.txt,文件的内部信息存储格式为Sname:S#:Sdept:Sage:Ssex,即“姓名:学号:学院:年龄:性别”,每行一条记录,输入不少于10条学生记录,其中包括学生本人记录。编写程序task41.c,从文件中查找Sdept字段值为“计算机与网络安全学院”的文本行,输出到文件csStudent.txt中,保存时各字段顺序调整为S#:Sname:Sage: Ssex:Sdept。设计思想: 先用文件指针fp1与fp2分别打..

2021-11-24 21:46:12 2313

空空如也

空空如也

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

TA关注的人

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